Updated formatting of documentation plus a little reorganization.
[cmake.git] / Source / cmProperty.h
blob4458c9df28bf1beb2a0ecb858f4722a1460e5b97
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmProperty.h,v $
5 Language: C++
6 Date: $Date: 2009-03-10 15:10:42 $
7 Version: $Revision: 1.4 $
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, CACHE,
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