CVS resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / cmProperty.h
blob85dbf1fad0e7cf0f853384ee7ec91bca22f2573a
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmProperty.h,v $
5 Language: C++
6 Date: $Date: 2008/01/17 23:13:55 $
7 Version: $Revision: 1.3 $
9 Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
17 #ifndef cmProperty_h
18 #define cmProperty_h
20 #include "cmStandardIncludes.h"
22 class cmProperty
24 public:
25 enum ScopeType { TARGET, SOURCE_FILE, DIRECTORY, GLOBAL,
26 TEST, VARIABLE, CACHED_VARIABLE };
28 // set this property
29 void Set(const char *name, const char *value);
31 // append to this property
32 void Append(const char *name, const char *value);
34 // get the value
35 const char *GetValue() const;
37 // construct with the value not set
38 cmProperty() { this->ValueHasBeenSet = false; };
40 protected:
41 std::string Name;
42 std::string Value;
43 bool ValueHasBeenSet;
46 #endif