cmProperty.h 1.2 KB

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