cmake/Source/cmPropertyMap.h

44 lines
1.3 KiB
C
Raw Normal View History

2009-10-04 10:30:41 +03:00
/*============================================================================
CMake - Cross Platform Makefile Generator
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
2009-10-04 10:30:41 +03:00
Distributed under the OSI-approved BSD License (the "License");
see accompanying file Copyright.txt for details.
2009-10-04 10:30:41 +03:00
This software is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
#ifndef cmPropertyMap_h
#define cmPropertyMap_h
#include "cmProperty.h"
class cmake;
2015-04-27 22:25:09 +02:00
class cmPropertyMap : public std::map<std::string,cmProperty>
{
public:
2015-04-27 22:25:09 +02:00
cmProperty *GetOrCreateProperty(const std::string& name);
2015-04-27 22:25:09 +02:00
void SetProperty(const std::string& name, const char *value,
cmProperty::ScopeType scope);
2015-04-27 22:25:09 +02:00
void AppendProperty(const std::string& name, const char* value,
2012-02-18 12:40:36 +02:00
cmProperty::ScopeType scope, bool asString=false);
2015-04-27 22:25:09 +02:00
const char *GetPropertyValue(const std::string& name,
cmProperty::ScopeType scope,
bool &chain) const;
2015-04-27 22:25:09 +02:00
void SetCMakeInstance(cmake *cm) { this->CMakeInstance = cm; }
2015-04-27 22:25:09 +02:00
cmPropertyMap() { this->CMakeInstance = 0;}
private:
cmake *CMakeInstance;
};
#endif