Introduce "generator expressions" to add_test()
[cmake.git] / Source / cmPropertyDefinition.h
blob3a2eec83120bc29c2ba0961ce5ea714893f09f4b
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmPropertyDefinition.h,v $
5 Language: C++
6 Date: $Date: 2007-10-24 18:43:10 $
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 cmPropertyDefinition_h
18 #define cmPropertyDefinition_h
20 #include "cmProperty.h"
22 class cmPropertyDefinition
24 public:
25 // Define this property
26 void DefineProperty(const char *name, cmProperty::ScopeType scope,
27 const char *ShortDescription,
28 const char *FullDescription,
29 const char *DocumentationSection,
30 bool chained);
32 // get the documentation string
33 cmDocumentationEntry GetDocumentation() const;
35 // basic constructor
36 cmPropertyDefinition() { this->Chained = false; };
38 // is it chained?
39 bool IsChained() {return this->Chained; };
41 // Get the section if any
42 const std::string &GetDocumentationSection() const {
43 return this->DocumentationSection; };
45 // get the scope
46 cmProperty::ScopeType GetScope() const {
47 return this->Scope; };
49 // get the docs
50 const std::string &GetShortDescription() const {
51 return this->ShortDescription; };
52 const std::string &GetFullDescription() const {
53 return this->FullDescription; };
55 protected:
56 std::string Name;
57 std::string ShortDescription;
58 std::string FullDescription;
59 std::string DocumentationSection;
60 cmProperty::ScopeType Scope;
61 bool Chained;
64 #endif