1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmPropertyDefinition.h,v $
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
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
,
32 // get the documentation string
33 cmDocumentationEntry
GetDocumentation() const;
36 cmPropertyDefinition() { this->Chained
= false; };
39 bool IsChained() {return this->Chained
; };
41 // Get the section if any
42 const std::string
&GetDocumentationSection() const {
43 return this->DocumentationSection
; };
46 cmProperty::ScopeType
GetScope() const {
47 return this->Scope
; };
50 const std::string
&GetShortDescription() const {
51 return this->ShortDescription
; };
52 const std::string
&GetFullDescription() const {
53 return this->FullDescription
; };
57 std::string ShortDescription
;
58 std::string FullDescription
;
59 std::string DocumentationSection
;
60 cmProperty::ScopeType Scope
;