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