Drop builtin property documentation

Drop all DefineProperty calls for non-chained properties.  Drop the
documentation from the chained ones.  The documentation for all
properties is now in Help/prop_*/*.rst files.
This commit is contained in:
Brad King 2013-09-16 14:38:23 -04:00
parent 6035c0458e
commit 399e9c46d8
19 changed files with 6 additions and 4447 deletions

View File

@ -160,10 +160,8 @@ set(SRCS
cmDocumentation.cxx
cmDocumentationFormatter.cxx
cmDocumentationSection.cxx
cmDocumentCompileDefinitions.h
cmDocumentGeneratorExpressions.h
cmDocumentLocationUndefined.h
cmDocumentVariables.cxx
cmDynamicLoader.cxx
cmDynamicLoader.h
${ELF_SRCS}
@ -494,7 +492,6 @@ set(CPACK_SRCS
CPack/cmCPackTarBZip2Generator.cxx
CPack/cmCPackTarCompressGenerator.cxx
CPack/cmCPackZIPGenerator.cxx
CPack/cmCPackDocumentVariables.cxx
)
if(CYGWIN)

View File

@ -1,122 +0,0 @@
#include "cmCPackDocumentVariables.h"
#include "cmake.h"
void cmCPackDocumentVariables::DefineVariables(cmake* cm)
{
// Subsection: variables defined/used by cpack,
// which are common to all CPack generators
cm->DefineProperty
("CPACK_PACKAGING_INSTALL_PREFIX", cmProperty::VARIABLE,
"The prefix used in the built package.",
"Each CPack generator has a default value (like /usr)."
" This default value may"
" be overwritten from the CMakeLists.txt or the cpack command line"
" by setting an alternative value.\n"
"e.g. "
" set(CPACK_PACKAGING_INSTALL_PREFIX \"/opt\")\n"
"This is not the same purpose as CMAKE_INSTALL_PREFIX which"
" is used when installing from the build tree without building"
" a package."
"", false,
"Variables common to all CPack generators");
cm->DefineProperty
("CPACK_INCLUDE_TOPLEVEL_DIRECTORY", cmProperty::VARIABLE,
"Boolean toggle to include/exclude top level directory.",
"When preparing a package CPack installs the item under"
" the so-called top level directory. The purpose of"
" is to include (set to 1 or ON or TRUE) the top level directory"
" in the package or not (set to 0 or OFF or FALSE).\n"
"Each CPack generator has a built-in default value for this"
" variable. E.g. Archive generators (ZIP, TGZ, ...) includes"
" the top level whereas RPM or DEB don't. The user may override"
" the default value by setting this variable.\n"
"There is a similar variable "
"CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY "
"which may be used to override the behavior for the component"
" packaging case which may have different default value for"
" historical (now backward compatibility) reason.", false,
"Variables common to all CPack generators");
cm->DefineProperty
("CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY", cmProperty::VARIABLE,
"Boolean toggle to include/exclude top level directory "
"(component case).",
"Similar usage as CPACK_INCLUDE_TOPLEVEL_DIRECTORY"
" but for the component case. "
"See CPACK_INCLUDE_TOPLEVEL_DIRECTORY documentation for"
" the detail.", false,
"Variables common to all CPack generators");
cm->DefineProperty
("CPACK_SET_DESTDIR", cmProperty::VARIABLE,
"Boolean toggle to make CPack use DESTDIR mechanism when"
" packaging.", "DESTDIR means DESTination DIRectory."
" It is commonly used by makefile "
"users in order to install software at non-default location. It "
"is a basic relocation mechanism that should not be used on"
" Windows (see CMAKE_INSTALL_PREFIX documentation). "
"It is usually invoked like this:\n"
" make DESTDIR=/home/john install\n"
"which will install the concerned software using the"
" installation prefix, e.g. \"/usr/local\" prepended with "
"the DESTDIR value which finally gives \"/home/john/usr/local\"."
" When preparing a package, CPack first installs the items to be "
"packaged in a local (to the build tree) directory by using the "
"same DESTDIR mechanism. Nevertheless, if "
"CPACK_SET_DESTDIR is set then CPack will set DESTDIR before"
" doing the local install. The most noticeable difference is"
" that without CPACK_SET_DESTDIR, CPack uses "
"CPACK_PACKAGING_INSTALL_PREFIX as a prefix whereas with "
"CPACK_SET_DESTDIR set, CPack will use CMAKE_INSTALL_PREFIX as"
" a prefix.\n"
"Manually setting CPACK_SET_DESTDIR may help (or simply be"
" necessary) if some install rules uses absolute "
"DESTINATION (see CMake INSTALL command)."
" However, starting with"
" CPack/CMake 2.8.3 RPM and DEB installers tries to handle DESTDIR"
" automatically so that it is seldom necessary for the user to set"
" it.", false,
"Variables common to all CPack generators");
cm->DefineProperty
("CPACK_INSTALL_SCRIPT", cmProperty::VARIABLE,
"Extra CMake script provided by the user.",
"If set this CMake script will be executed by CPack "
"during its local [CPack-private] installation "
"which is done right before packaging the files."
" The script is not called by e.g.: make install.", false,
"Variables common to all CPack generators");
cm->DefineProperty
("CPACK_ABSOLUTE_DESTINATION_FILES", cmProperty::VARIABLE,
"List of files which have been installed using "
" an ABSOLUTE DESTINATION path.",
"This variable is a Read-Only variable which is set internally"
" by CPack during installation and before packaging using"
" CMAKE_ABSOLUTE_DESTINATION_FILES defined in cmake_install.cmake "
"scripts. The value can be used within CPack project configuration"
" file and/or CPack<GEN>.cmake file of <GEN> generator.", false,
"Variables common to all CPack generators");
cm->DefineProperty
("CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION", cmProperty::VARIABLE,
"Ask CPack to warn each time a file with absolute INSTALL"
" DESTINATION is encountered.",
"This variable triggers the definition of "
"CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION when CPack runs"
" cmake_install.cmake scripts.", false,
"Variables common to all CPack generators");
cm->DefineProperty
("CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION", cmProperty::VARIABLE,
"Ask CPack to error out as soon as a file with absolute INSTALL"
" DESTINATION is encountered.",
"The fatal error is emitted before the installation of "
"the offending file takes place. Some CPack generators, like NSIS,"
"enforce this internally. "
"This variable triggers the definition of"
"CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION when CPack runs"
"Variables common to all CPack generators");
}

View File

@ -1,21 +0,0 @@
/*============================================================================
CMake - Cross Platform Makefile Generator
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
Distributed under the OSI-approved BSD License (the "License");
see accompanying file Copyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
#ifndef cmCPackDocumentVariables_h
#define cmCPackDocumentVariables_h
class cmake;
class cmCPackDocumentVariables
{
public:
static void DefineVariables(cmake* cm);
};
#endif

View File

@ -14,7 +14,6 @@
// Need these for documentation support.
#include "cmake.h"
#include "cmDocumentation.h"
#include "cmCPackDocumentVariables.h"
#include "cmCPackGeneratorFactory.h"
#include "cmCPackGenerator.h"
#include "cmake.h"

View File

@ -935,65 +935,3 @@ bool cmCacheManager::NeedCacheCompatibility(int major, int minor)
return (actual_compat &&
actual_compat <= CMake_VERSION_ENCODE(major, minor, 0));
}
//----------------------------------------------------------------------------
void cmCacheManager::DefineProperties(cmake *cm)
{
cm->DefineProperty
("ADVANCED", cmProperty::CACHE,
"True if entry should be hidden by default in GUIs.",
"This is a boolean value indicating whether the entry is considered "
"interesting only for advanced configuration. "
"The mark_as_advanced() command modifies this property."
);
cm->DefineProperty
("HELPSTRING", cmProperty::CACHE,
"Help associated with entry in GUIs.",
"This string summarizes the purpose of an entry to help users set it "
"through a CMake GUI."
);
cm->DefineProperty
("TYPE", cmProperty::CACHE,
"Widget type for entry in GUIs.",
"Cache entry values are always strings, but CMake GUIs present widgets "
"to help users set values. "
"The GUIs use this property as a hint to determine the widget type. "
"Valid TYPE values are:\n"
" BOOL = Boolean ON/OFF value.\n"
" PATH = Path to a directory.\n"
" FILEPATH = Path to a file.\n"
" STRING = Generic string value.\n"
" INTERNAL = Do not present in GUI at all.\n"
" STATIC = Value managed by CMake, do not change.\n"
" UNINITIALIZED = Type not yet specified.\n"
"Generally the TYPE of a cache entry should be set by the command "
"which creates it (set, option, find_library, etc.)."
);
cm->DefineProperty
("MODIFIED", cmProperty::CACHE,
"Internal management property. Do not set or get.",
"This is an internal cache entry property managed by CMake to "
"track interactive user modification of entries. Ignore it."
);
cm->DefineProperty
("STRINGS", cmProperty::CACHE,
"Enumerate possible STRING entry values for GUI selection.",
"For cache entries with type STRING, this enumerates a set of values. "
"CMake GUIs may use this to provide a selection widget instead of a "
"generic string entry field. "
"This is for convenience only. "
"CMake does not enforce that the value matches one of those listed."
);
cm->DefineProperty
("VALUE", cmProperty::CACHE,
"Value of a cache entry.",
"This property maps to the actual value of a cache entry. "
"Setting this property always sets the value without checking, so "
"use with care."
);
}

View File

@ -149,9 +149,6 @@ public:
unsigned int GetCacheMinorVersion() { return this->CacheMinorVersion; }
bool NeedCacheCompatibility(int major, int minor);
/** Define and document CACHE entry properties. */
static void DefineProperties(cmake *cm);
protected:
///! Add an entry into the cache
void AddCacheEntry(const char* key, const char* value,

View File

@ -12,7 +12,6 @@
#include "cmDefinePropertyCommand.h"
#include "cmake.h"
// cmDefinePropertiesCommand
bool cmDefinePropertyCommand
::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
{

View File

@ -1,34 +0,0 @@
/*============================================================================
CMake - Cross Platform Makefile Generator
Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
Distributed under the OSI-approved BSD License (the "License");
see accompanying file Copyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
#ifndef cmDocumentCompileDefinitions_h
#define cmDocumentCompileDefinitions_h
#define CM_DOCUMENT_COMPILE_DEFINITIONS_DISCLAIMER \
"Disclaimer: Most native build tools have poor support for escaping " \
"certain values. CMake has work-arounds for many cases but some " \
"values may just not be possible to pass correctly. If a value " \
"does not seem to be escaped correctly, do not attempt to " \
"work-around the problem by adding escape sequences to the value. " \
"Your work-around may break in a future version of CMake that " \
"has improved escape support. Instead consider defining the macro " \
"in a (configured) header file. Then report the limitation. " \
"Known limitations include:\n" \
" # - broken almost everywhere\n" \
" ; - broken in VS IDE 7.0 and Borland Makefiles\n" \
" , - broken in VS IDE\n" \
" % - broken in some cases in NMake\n" \
" & | - broken in some cases on MinGW\n" \
" ^ < > \\\" - broken in most Make tools on Windows\n" \
"CMake does not reject these values outright because they do work " \
"in some cases. Use with caution. "
#endif

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +0,0 @@
/*============================================================================
CMake - Cross Platform Makefile Generator
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
Distributed under the OSI-approved BSD License (the "License");
see accompanying file Copyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
#ifndef cmDocumentVariables_h
#define cmDocumentVariables_h
class cmake;
class cmDocumentVariables
{
public:
static void DefineVariables(cmake* cm);
};
#endif

View File

@ -21,9 +21,7 @@
#include "cmCacheManager.h"
#include "cmFunctionBlocker.h"
#include "cmListFileCache.h"
#include "cmDocumentGeneratorExpressions.h"
#include "cmCommandArgumentParserHelper.h"
#include "cmDocumentCompileDefinitions.h"
#include "cmGeneratorExpression.h"
#include "cmTest.h"
#ifdef CMAKE_BUILD_WITH_CMAKE
@ -4023,244 +4021,15 @@ void cmMakefile::RaiseScope(const char *var, const char *varDef)
// define properties
void cmMakefile::DefineProperties(cmake *cm)
{
cm->DefineProperty
("ADDITIONAL_MAKE_CLEAN_FILES", cmProperty::DIRECTORY,
"Additional files to clean during the make clean stage.",
"A list of files that will be cleaned as a part of the "
"\"make clean\" stage. ");
cm->DefineProperty
("CLEAN_NO_CUSTOM", cmProperty::DIRECTORY,
"Should the output of custom commands be left.",
"If this is true then the outputs of custom commands for this "
"directory will not be removed during the \"make clean\" stage. ");
cm->DefineProperty
("LISTFILE_STACK", cmProperty::DIRECTORY,
"The current stack of listfiles being processed.",
"This property is mainly useful when trying to debug errors "
"in your CMake scripts. It returns a list of what list files "
"are currently being processed, in order. So if one listfile "
"does an INCLUDE command then that is effectively pushing "
"the included listfile onto the stack.", false);
cm->DefineProperty
("TEST_INCLUDE_FILE", cmProperty::DIRECTORY,
"A cmake file that will be included when ctest is run.",
"If you specify TEST_INCLUDE_FILE, that file will be "
"included and processed when ctest is run on the directory.");
cm->DefineProperty
("COMPILE_DEFINITIONS", cmProperty::DIRECTORY,
"Preprocessor definitions for compiling a directory's sources.",
"The COMPILE_DEFINITIONS property may be set to a "
"semicolon-separated list of preprocessor "
"definitions using the syntax VAR or VAR=value. Function-style "
"definitions are not supported. CMake will automatically escape "
"the value correctly for the native build system (note that CMake "
"language syntax may require escapes to specify some values). "
"This property may be set on a per-configuration basis using the name "
"COMPILE_DEFINITIONS_<CONFIG> where <CONFIG> is an upper-case name "
"(ex. \"COMPILE_DEFINITIONS_DEBUG\"). "
"This property will be initialized in each directory by its value "
"in the directory's parent.\n"
"CMake will automatically drop some definitions that "
"are not supported by the native build tool. "
"The VS6 IDE does not support definition values with spaces "
"(but NMake does).\n"
CM_DOCUMENT_COMPILE_DEFINITIONS_DISCLAIMER);
cm->DefineProperty
("COMPILE_DEFINITIONS_<CONFIG>", cmProperty::DIRECTORY,
"Per-configuration preprocessor definitions in a directory.",
"This is the configuration-specific version of COMPILE_DEFINITIONS. "
"This property will be initialized in each directory by its value "
"in the directory's parent.\n");
cm->DefineProperty
("IMPLICIT_DEPENDS_INCLUDE_TRANSFORM", cmProperty::DIRECTORY,
"Specify #include line transforms for dependencies in a directory.",
"This property specifies rules to transform macro-like #include lines "
"during implicit dependency scanning of C and C++ source files. "
"The list of rules must be semicolon-separated with each entry of "
"the form \"A_MACRO(%)=value-with-%\" (the % must be literal). "
"During dependency scanning occurrences of A_MACRO(...) on #include "
"lines will be replaced by the value given with the macro argument "
"substituted for '%'. For example, the entry\n"
" MYDIR(%)=<mydir/%>\n"
"will convert lines of the form\n"
" #include MYDIR(myheader.h)\n"
"to\n"
" #include <mydir/myheader.h>\n"
"allowing the dependency to be followed.\n"
"This property applies to sources in all targets within a directory. "
"The property value is initialized in each directory by its value "
"in the directory's parent.");
cm->DefineProperty
("EXCLUDE_FROM_ALL", cmProperty::DIRECTORY,
"Exclude the directory from the all target of its parent.",
"A property on a directory that indicates if its targets are excluded "
"from the default build target. If it is not, then with a Makefile "
"for example typing make will cause the targets to be built. "
"The same concept applies to the default build of other generators.",
false);
cm->DefineProperty
("PARENT_DIRECTORY", cmProperty::DIRECTORY,
"Source directory that added current subdirectory.",
"This read-only property specifies the source directory that "
"added the current source directory as a subdirectory of the build. "
"In the top-level directory the value is the empty-string.", false);
cm->DefineProperty
("INCLUDE_REGULAR_EXPRESSION", cmProperty::DIRECTORY,
"Include file scanning regular expression.",
"This read-only property specifies the regular expression used "
"during dependency scanning to match include files that should "
"be followed. See the include_regular_expression command.", false);
cm->DefineProperty
("INTERPROCEDURAL_OPTIMIZATION", cmProperty::DIRECTORY,
"Enable interprocedural optimization for targets in a directory.",
"If set to true, enables interprocedural optimizations "
"if they are known to be supported by the compiler.");
cm->DefineProperty
("INTERPROCEDURAL_OPTIMIZATION_<CONFIG>", cmProperty::DIRECTORY,
"Per-configuration interprocedural optimization for a directory.",
"This is a per-configuration version of INTERPROCEDURAL_OPTIMIZATION. "
"If set, this property overrides the generic property "
"for the named configuration.");
cm->DefineProperty
("VARIABLES", cmProperty::DIRECTORY,
"List of variables defined in the current directory.",
"This read-only property specifies the list of CMake variables "
"currently defined. "
"It is intended for debugging purposes.", false);
cm->DefineProperty
("CACHE_VARIABLES", cmProperty::DIRECTORY,
"List of cache variables available in the current directory.",
"This read-only property specifies the list of CMake cache "
"variables currently defined. "
"It is intended for debugging purposes.", false);
cm->DefineProperty
("MACROS", cmProperty::DIRECTORY,
"List of macro commands available in the current directory.",
"This read-only property specifies the list of CMake macros "
"currently defined. "
"It is intended for debugging purposes. "
"See the macro command.", false);
cm->DefineProperty
("DEFINITIONS", cmProperty::DIRECTORY,
"For CMake 2.4 compatibility only. Use COMPILE_DEFINITIONS instead.",
"This read-only property specifies the list of flags given so far "
"to the add_definitions command. "
"It is intended for debugging purposes. "
"Use the COMPILE_DEFINITIONS instead.", false);
cm->DefineProperty
("INCLUDE_DIRECTORIES", cmProperty::DIRECTORY,
"List of preprocessor include file search directories.",
"This property specifies the list of directories given "
"so far to the include_directories command. "
"This property exists on directories and targets. "
"In addition to accepting values from the include_directories "
"command, values may be set directly on any directory or any "
"target using the set_property command. "
"A target gets its initial value for this property from the value "
"of the directory property. "
"A directory gets its initial value from its parent directory if "
"it has one. "
"Both directory and target property values are adjusted by calls "
"to the include_directories command."
"\n"
"The target property values are used by the generators to set "
"the include paths for the compiler. "
"See also the include_directories command.");
cm->DefineProperty
("COMPILE_OPTIONS", cmProperty::DIRECTORY,
"List of options to pass to the compiler.",
"This property specifies the list of directories given "
"so far for this property. "
"This property exists on directories and targets."
"\n"
"The target property values are used by the generators to set "
"the options for the compiler.\n"
"Contents of COMPILE_OPTIONS may use \"generator expressions\" with "
"the syntax \"$<...>\". "
CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS);
cm->DefineProperty
("LINK_DIRECTORIES", cmProperty::DIRECTORY,
"List of linker search directories.",
"This read-only property specifies the list of directories given "
"so far to the link_directories command. "
"It is intended for debugging purposes.", false);
cm->DefineProperty
("RULE_LAUNCH_COMPILE", cmProperty::DIRECTORY,
"Specify a launcher for compile rules.",
"See the global property of the same name for details. "
"This overrides the global property for a directory.",
true);
"", "", true);
cm->DefineProperty
("RULE_LAUNCH_LINK", cmProperty::DIRECTORY,
"Specify a launcher for link rules.",
"See the global property of the same name for details. "
"This overrides the global property for a directory.",
true);
"", "", true);
cm->DefineProperty
("RULE_LAUNCH_CUSTOM", cmProperty::DIRECTORY,
"Specify a launcher for custom rules.",
"See the global property of the same name for details. "
"This overrides the global property for a directory.",
true);
cm->DefineProperty
("VS_GLOBAL_SECTION_PRE_<section>", cmProperty::DIRECTORY,
"Specify a preSolution global section in Visual Studio.",
"Setting a property like this generates an entry of the following form "
"in the solution file:\n"
" GlobalSection(<section>) = preSolution\n"
" <contents based on property value>\n"
" EndGlobalSection\n"
"The property must be set to a semicolon-separated list of key=value "
"pairs. Each such pair will be transformed into an entry in the solution "
"global section. Whitespace around key and value is ignored. List "
"elements which do not contain an equal sign are skipped."
"\n"
"This property only works for Visual Studio 7 and above; it is ignored "
"on other generators. The property only applies when set on a directory "
"whose CMakeLists.txt contains a project() command.");
cm->DefineProperty
("VS_GLOBAL_SECTION_POST_<section>", cmProperty::DIRECTORY,
"Specify a postSolution global section in Visual Studio.",
"Setting a property like this generates an entry of the following form "
"in the solution file:\n"
" GlobalSection(<section>) = postSolution\n"
" <contents based on property value>\n"
" EndGlobalSection\n"
"The property must be set to a semicolon-separated list of key=value "
"pairs. Each such pair will be transformed into an entry in the solution "
"global section. Whitespace around key and value is ignored. List "
"elements which do not contain an equal sign are skipped."
"\n"
"This property only works for Visual Studio 7 and above; it is ignored "
"on other generators. The property only applies when set on a directory "
"whose CMakeLists.txt contains a project() command."
"\n"
"Note that CMake generates postSolution sections ExtensibilityGlobals "
"and ExtensibilityAddIns by default. If you set the corresponding "
"property, it will override the default section. For example, setting "
"VS_GLOBAL_SECTION_POST_ExtensibilityGlobals will override the default "
"contents of the ExtensibilityGlobals section, while keeping "
"ExtensibilityAddIns on its default.");
"", "", true);
}
//----------------------------------------------------------------------------

View File

@ -16,7 +16,6 @@
#include "cmMakefile.h"
#include "cmSystemTools.h"
#include "cmake.h"
#include "cmDocumentCompileDefinitions.h"
//----------------------------------------------------------------------------
cmSourceFile::cmSourceFile(cmMakefile* mf, const char* name):
@ -382,176 +381,3 @@ void cmSourceFile::SetCustomCommand(cmCustomCommand* cc)
this->CustomCommand = cc;
delete old;
}
//----------------------------------------------------------------------------
void cmSourceFile::DefineProperties(cmake *cm)
{
// define properties
cm->DefineProperty
("ABSTRACT", cmProperty::SOURCE_FILE,
"Is this source file an abstract class.",
"A property on a source file that indicates if the source file "
"represents a class that is abstract. This only makes sense for "
"languages that have a notion of an abstract class and it is "
"only used by some tools that wrap classes into other languages.");
cm->DefineProperty
("COMPILE_FLAGS", cmProperty::SOURCE_FILE,
"Additional flags to be added when compiling this source file.",
"These flags will be added to the list of compile flags when "
"this source file builds. Use COMPILE_DEFINITIONS to pass additional "
"preprocessor definitions.");
cm->DefineProperty
("COMPILE_DEFINITIONS", cmProperty::SOURCE_FILE,
"Preprocessor definitions for compiling a source file.",
"The COMPILE_DEFINITIONS property may be set to a "
"semicolon-separated list of preprocessor "
"definitions using the syntax VAR or VAR=value. Function-style "
"definitions are not supported. CMake will automatically escape "
"the value correctly for the native build system (note that CMake "
"language syntax may require escapes to specify some values). "
"This property may be set on a per-configuration basis using the name "
"COMPILE_DEFINITIONS_<CONFIG> where <CONFIG> is an upper-case name "
"(ex. \"COMPILE_DEFINITIONS_DEBUG\").\n"
"CMake will automatically drop some definitions that "
"are not supported by the native build tool. "
"The VS6 IDE does not support definition values with spaces "
"(but NMake does). Xcode does not support per-configuration "
"definitions on source files.\n"
CM_DOCUMENT_COMPILE_DEFINITIONS_DISCLAIMER);
cm->DefineProperty
("COMPILE_DEFINITIONS_<CONFIG>", cmProperty::SOURCE_FILE,
"Per-configuration preprocessor definitions on a source file.",
"This is the configuration-specific version of "
"COMPILE_DEFINITIONS. Note that Xcode does not support "
"per-configuration source file flags so this property will "
"be ignored by the Xcode generator.");
cm->DefineProperty
("EXTERNAL_OBJECT", cmProperty::SOURCE_FILE,
"If set to true then this is an object file.",
"If this property is set to true then the source file "
"is really an object file and should not be compiled. "
"It will still be linked into the target though.");
cm->DefineProperty
("Fortran_FORMAT", cmProperty::SOURCE_FILE,
"Set to FIXED or FREE to indicate the Fortran source layout.",
"This property tells CMake whether a given Fortran source file "
"uses fixed-format or free-format. "
"CMake will pass the corresponding format flag to the compiler. "
"Consider using the target-wide Fortran_FORMAT property if all "
"source files in a target share the same format.");
cm->DefineProperty
("GENERATED", cmProperty::SOURCE_FILE,
"Is this source file generated as part of the build process.",
"If a source file is generated by the build process CMake will "
"handle it differently in terms of dependency checking etc. "
"Otherwise having a non-existent source file could create problems.");
cm->DefineProperty
("HEADER_FILE_ONLY", cmProperty::SOURCE_FILE,
"Is this source file only a header file.",
"A property on a source file that indicates if the source file "
"is a header file with no associated implementation. This is "
"set automatically based on the file extension and is used by "
"CMake to determine if certain dependency information should be "
"computed.");
cm->DefineProperty
("KEEP_EXTENSION", cmProperty::SOURCE_FILE,
"Make the output file have the same extension as the source file.",
"If this property is set then the file extension of the output "
"file will be the same as that of the source file. Normally "
"the output file extension is computed based on the language "
"of the source file, for example .cxx will go to a .o extension.");
cm->DefineProperty
("LABELS", cmProperty::SOURCE_FILE,
"Specify a list of text labels associated with a source file.",
"This property has meaning only when the source file is listed in "
"a target whose LABELS property is also set. "
"No other semantics are currently specified.");
cm->DefineProperty
("LANGUAGE", cmProperty::SOURCE_FILE,
"What programming language is the file.",
"A property that can be set to indicate what programming language "
"the source file is. If it is not set the language is determined "
"based on the file extension. Typical values are CXX C etc. Setting "
"this property for a file means this file will be compiled. "
"Do not set this for headers or files that should not be compiled.");
cm->DefineProperty
("LOCATION", cmProperty::SOURCE_FILE,
"The full path to a source file.",
"A read only property on a SOURCE FILE that contains the full path "
"to the source file.");
cm->DefineProperty
("MACOSX_PACKAGE_LOCATION", cmProperty::SOURCE_FILE,
"Place a source file inside a Mac OS X bundle, CFBundle, or framework.",
"Executable targets with the MACOSX_BUNDLE property set are built "
"as Mac OS X application bundles on Apple platforms. "
"Shared library targets with the FRAMEWORK property set are built "
"as Mac OS X frameworks on Apple platforms. "
"Module library targets with the BUNDLE property set are built "
"as Mac OS X CFBundle bundles on Apple platforms. "
"Source files listed in the target with this property set will "
"be copied to a directory inside the bundle or framework content "
"folder specified by the property value. "
"For bundles the content folder is \"<name>.app/Contents\". "
"For frameworks the content folder is "
"\"<name>.framework/Versions/<version>\". "
"For cfbundles the content folder is "
"\"<name>.bundle/Contents\" (unless the extension is changed). "
"See the PUBLIC_HEADER, PRIVATE_HEADER, and RESOURCE target "
"properties for specifying files meant for Headers, PrivateHeaders, "
"or Resources directories.");
cm->DefineProperty
("OBJECT_DEPENDS", cmProperty::SOURCE_FILE,
"Additional files on which a compiled object file depends.",
"Specifies a semicolon-separated list of full-paths to files on which "
"any object files compiled from this source file depend. "
"An object file will be recompiled if any of the named files is newer "
"than it.\n"
"This property need not be used to specify the dependency of a "
"source file on a generated header file that it includes. "
"Although the property was originally introduced for this purpose, it "
"is no longer necessary. "
"If the generated header file is created by a custom command in the "
"same target as the source file, the automatic dependency scanning "
"process will recognize the dependency. "
"If the generated header file is created by another target, an "
"inter-target dependency should be created with the add_dependencies "
"command (if one does not already exist due to linking relationships).");
cm->DefineProperty
("OBJECT_OUTPUTS", cmProperty::SOURCE_FILE,
"Additional outputs for a Makefile rule.",
"Additional outputs created by compilation of this source file. "
"If any of these outputs is missing the object will be recompiled. "
"This is supported only on Makefile generators and will be ignored "
"on other generators.");
cm->DefineProperty
("SYMBOLIC", cmProperty::SOURCE_FILE,
"Is this just a name for a rule.",
"If SYMBOLIC (boolean) is set to true the build system will be "
"informed that the source file is not actually created on disk but "
"instead used as a symbolic name for a build rule.");
cm->DefineProperty
("WRAP_EXCLUDE", cmProperty::SOURCE_FILE,
"Exclude this source file from any code wrapping techniques.",
"Some packages can wrap source files into alternate languages "
"to provide additional functionality. For example, C++ code "
"can be wrapped into Java or Python etc using SWIG etc. "
"If WRAP_EXCLUDE is set to true (1 etc) that indicates that "
"this source file should not be wrapped.");
}

View File

@ -90,9 +90,6 @@ public:
// Get the properties
cmPropertyMap &GetProperties() { return this->Properties; };
// Define the properties
static void DefineProperties(cmake *cm);
/**
* Check whether the given source file location could refer to this
* source.

File diff suppressed because it is too large Load Diff

View File

@ -92,114 +92,3 @@ void cmTest::AppendProperty(const char* prop, const char* value, bool asString)
}
this->Properties.AppendProperty(prop, value, cmProperty::TEST, asString);
}
//----------------------------------------------------------------------------
void cmTest::DefineProperties(cmake *cm)
{
cm->DefineProperty
("ATTACHED_FILES", cmProperty::TEST,
"Attach a list of files to a dashboard submission.",
"Set this property to a list of files that will be encoded and "
"submitted to the dashboard as an addition to the test result.");
cm->DefineProperty
("ATTACHED_FILES_ON_FAIL", cmProperty::TEST,
"Attach a list of files to a dashboard submission if the test fails.",
"Same as ATTACHED_FILES, but these files will only be included if the "
"test does not pass.");
cm->DefineProperty
("COST", cmProperty::TEST,
"Set this to a floating point value. Tests in a test set will be "
"run in descending order of cost.", "This property describes the cost "
"of a test. You can explicitly set this value; tests with higher COST "
"values will run first.");
cm->DefineProperty
("DEPENDS", cmProperty::TEST,
"Specifies that this test should only be run after the specified "
"list of tests.",
"Set this to a list of tests that must finish before this test is run.");
cm->DefineProperty
("ENVIRONMENT", cmProperty::TEST,
"Specify environment variables that should be defined for running "
"a test.",
"If set to a list of environment variables and values of the form "
"MYVAR=value those environment variables will be defined while "
"running the test. The environment is restored to its previous state "
"after the test is done.");
cm->DefineProperty
("FAIL_REGULAR_EXPRESSION", cmProperty::TEST,
"If the output matches this regular expression the test will fail.",
"If set, if the output matches one of "
"specified regular expressions, the test will fail."
"For example: FAIL_REGULAR_EXPRESSION \"[^a-z]Error;ERROR;Failed\"");
cm->DefineProperty
("LABELS", cmProperty::TEST,
"Specify a list of text labels associated with a test.",
"The list is reported in dashboard submissions.");
cm->DefineProperty
("RESOURCE_LOCK", cmProperty::TEST,
"Specify a list of resources that are locked by this test.",
"If multiple tests specify the same resource lock, they are guaranteed "
"not to run concurrently.");
cm->DefineProperty
("MEASUREMENT", cmProperty::TEST,
"Specify a CDASH measurement and value to be reported for a test.",
"If set to a name then that name will be reported to CDASH as a "
"named measurement with a value of 1. You may also specify a value "
"by setting MEASUREMENT to \"measurement=value\".");
cm->DefineProperty
("PASS_REGULAR_EXPRESSION", cmProperty::TEST,
"The output must match this regular expression for the test to pass.",
"If set, the test output will be checked "
"against the specified regular expressions and at least one of the"
" regular expressions has to match, otherwise the test will fail.");
cm->DefineProperty
("PROCESSORS", cmProperty::TEST,
"How many process slots this test requires",
"Denotes the number of processors that this test will require. This is "
"typically used for MPI tests, and should be used in conjunction with "
"the ctest_test PARALLEL_LEVEL option.");
cm->DefineProperty
("REQUIRED_FILES", cmProperty::TEST,
"List of files required to run the test.",
"If set to a list of files, the test will not be run unless all of the "
"files exist.");
cm->DefineProperty
("RUN_SERIAL", cmProperty::TEST,
"Do not run this test in parallel with any other test.",
"Use this option in conjunction with the ctest_test PARALLEL_LEVEL "
"option to specify that this test should not be run in parallel with "
"any other tests.");
cm->DefineProperty
("TIMEOUT", cmProperty::TEST,
"How many seconds to allow for this test.",
"This property if set will limit a test to not take more than "
"the specified number of seconds to run. If it exceeds that the "
"test process will be killed and ctest will move to the next test. "
"This setting takes precedence over "
"CTEST_TESTING_TIMEOUT.");
cm->DefineProperty
("WILL_FAIL", cmProperty::TEST,
"If set to true, this will invert the pass/fail flag of the test.",
"This property can be used for tests that are expected to fail and "
"return a non zero return code.");
cm->DefineProperty
("WORKING_DIRECTORY", cmProperty::TEST,
"The directory from which the test executable will be called.",
"If this is not set it is called from the directory the test executable "
"is located in.");
}

View File

@ -52,9 +52,6 @@ public:
bool GetPropertyAsBool(const char *prop) const;
cmPropertyMap &GetProperties() { return this->Properties; };
// Define the properties
static void DefineProperties(cmake *cm);
/** Get the cmMakefile instance that owns this test. */
cmMakefile *GetMakefile() { return this->Makefile;};

View File

@ -10,7 +10,6 @@
See the License for more information.
============================================================================*/
#include "cmake.h"
#include "cmDocumentVariables.h"
#include "cmCacheManager.h"
#include "cmMakefile.h"
#include "cmLocalGenerator.h"
@ -219,12 +218,8 @@ void cmake::InitializeProperties()
this->PropertyDefinitions.clear();
// initialize properties
cmCacheManager::DefineProperties(this);
cmSourceFile::DefineProperties(this);
cmTarget::DefineProperties(this);
cmMakefile::DefineProperties(this);
cmTest::DefineProperties(this);
cmake::DefineProperties(this);
}
void cmake::CleanupCommandsAndMacros()
@ -2378,203 +2373,6 @@ void cmake::GenerateGraphViz(const char* fileName) const
#endif
}
void cmake::DefineProperties(cmake *cm)
{
cm->DefineProperty
("REPORT_UNDEFINED_PROPERTIES", cmProperty::GLOBAL,
"If set, report any undefined properties to this file.",
"If this property is set to a filename then when CMake runs "
"it will report any properties or variables that were accessed "
"but not defined into the filename specified in this property."
);
cm->DefineProperty
("TARGET_SUPPORTS_SHARED_LIBS", cmProperty::GLOBAL,
"Does the target platform support shared libraries.",
"TARGET_SUPPORTS_SHARED_LIBS is a boolean specifying whether the target "
"platform supports shared libraries. Basically all current general "
"general purpose OS do so, the exception are usually embedded systems "
"with no or special OSs.");
cm->DefineProperty
("TARGET_ARCHIVES_MAY_BE_SHARED_LIBS", cmProperty::GLOBAL,
"Set if shared libraries may be named like archives.",
"On AIX shared libraries may be named \"lib<name>.a\". "
"This property is set to true on such platforms.");
cm->DefineProperty
("FIND_LIBRARY_USE_LIB64_PATHS", cmProperty::GLOBAL,
"Whether FIND_LIBRARY should automatically search lib64 directories.",
"FIND_LIBRARY_USE_LIB64_PATHS is a boolean specifying whether the "
"FIND_LIBRARY command should automatically search the lib64 variant of "
"directories called lib in the search path when building 64-bit "
"binaries.");
cm->DefineProperty
("FIND_LIBRARY_USE_OPENBSD_VERSIONING", cmProperty::GLOBAL,
"Whether FIND_LIBRARY should find OpenBSD-style shared libraries.",
"This property is a boolean specifying whether the FIND_LIBRARY "
"command should find shared libraries with OpenBSD-style versioned "
"extension: \".so.<major>.<minor>\". "
"The property is set to true on OpenBSD and false on other platforms.");
cm->DefineProperty
("ENABLED_FEATURES", cmProperty::GLOBAL,
"List of features which are enabled during the CMake run.",
"List of features which are enabled during the CMake run. By default "
"it contains the names of all packages which were found. This is "
"determined using the <NAME>_FOUND variables. Packages which are "
"searched QUIET are not listed. A project can add its own features to "
"this list. "
"This property is used by the macros in FeatureSummary.cmake.");
cm->DefineProperty
("DISABLED_FEATURES", cmProperty::GLOBAL,
"List of features which are disabled during the CMake run.",
"List of features which are disabled during the CMake run. By default "
"it contains the names of all packages which were not found. This is "
"determined using the <NAME>_FOUND variables. Packages which are "
"searched QUIET are not listed. A project can add its own features to "
"this list. "
"This property is used by the macros in FeatureSummary.cmake.");
cm->DefineProperty
("PACKAGES_FOUND", cmProperty::GLOBAL,
"List of packages which were found during the CMake run.",
"List of packages which were found during the CMake run. Whether a "
"package has been found is determined using the <NAME>_FOUND variables.");
cm->DefineProperty
("PACKAGES_NOT_FOUND", cmProperty::GLOBAL,
"List of packages which were not found during the CMake run.",
"List of packages which were not found during the CMake run. Whether a "
"package has been found is determined using the <NAME>_FOUND variables.");
cm->DefineProperty(
"DEBUG_CONFIGURATIONS", cmProperty::GLOBAL,
"Specify which configurations are for debugging.",
"The value must be a semi-colon separated list of configuration names. "
"Currently this property is used only by the target_link_libraries "
"command (see its documentation for details). "
"Additional uses may be defined in the future. "
"\n"
"This property must be set at the top level of the project and before "
"the first target_link_libraries command invocation. "
"If any entry in the list does not match a valid configuration for "
"the project the behavior is undefined.");
cm->DefineProperty(
"GLOBAL_DEPENDS_DEBUG_MODE", cmProperty::GLOBAL,
"Enable global target dependency graph debug mode.",
"CMake automatically analyzes the global inter-target dependency graph "
"at the beginning of native build system generation. "
"This property causes it to display details of its analysis to stderr.");
cm->DefineProperty(
"GLOBAL_DEPENDS_NO_CYCLES", cmProperty::GLOBAL,
"Disallow global target dependency graph cycles.",
"CMake automatically analyzes the global inter-target dependency graph "
"at the beginning of native build system generation. "
"It reports an error if the dependency graph contains a cycle that "
"does not consist of all STATIC library targets. "
"This property tells CMake to disallow all cycles completely, even "
"among static libraries.");
cm->DefineProperty(
"ALLOW_DUPLICATE_CUSTOM_TARGETS", cmProperty::GLOBAL,
"Allow duplicate custom targets to be created.",
"Normally CMake requires that all targets built in a project have "
"globally unique logical names (see policy CMP0002). "
"This is necessary to generate meaningful project file names in "
"Xcode and VS IDE generators. "
"It also allows the target names to be referenced unambiguously.\n"
"Makefile generators are capable of supporting duplicate custom target "
"names. "
"For projects that care only about Makefile generators and do "
"not wish to support Xcode or VS IDE generators, one may set this "
"property to true to allow duplicate custom targets. "
"The property allows multiple add_custom_target command calls in "
"different directories to specify the same target name. "
"However, setting this property will cause non-Makefile generators "
"to produce an error and refuse to generate the project."
);
cm->DefineProperty
("IN_TRY_COMPILE", cmProperty::GLOBAL,
"Read-only property that is true during a try-compile configuration.",
"True when building a project inside a TRY_COMPILE or TRY_RUN command.");
cm->DefineProperty
("ENABLED_LANGUAGES", cmProperty::GLOBAL,
"Read-only property that contains the list of currently "
"enabled languages",
"Set to list of currently enabled languages.");
cm->DefineProperty
("RULE_LAUNCH_COMPILE", cmProperty::GLOBAL,
"Specify a launcher for compile rules.",
"Makefile generators prefix compiler commands with the given "
"launcher command line. "
"This is intended to allow launchers to intercept build problems "
"with high granularity. "
"Non-Makefile generators currently ignore this property.");
cm->DefineProperty
("RULE_LAUNCH_LINK", cmProperty::GLOBAL,
"Specify a launcher for link rules.",
"Makefile generators prefix link and archive commands with the given "
"launcher command line. "
"This is intended to allow launchers to intercept build problems "
"with high granularity. "
"Non-Makefile generators currently ignore this property.");
cm->DefineProperty
("RULE_LAUNCH_CUSTOM", cmProperty::GLOBAL,
"Specify a launcher for custom rules.",
"Makefile generators prefix custom commands with the given "
"launcher command line. "
"This is intended to allow launchers to intercept build problems "
"with high granularity. "
"Non-Makefile generators currently ignore this property.");
cm->DefineProperty
("RULE_MESSAGES", cmProperty::GLOBAL,
"Specify whether to report a message for each make rule.",
"This property specifies whether Makefile generators should add a "
"progress message describing what each build rule does. "
"If the property is not set the default is ON. "
"Set the property to OFF to disable granular messages and report only "
"as each target completes. "
"This is intended to allow scripted builds to avoid the build time "
"cost of detailed reports. "
"If a CMAKE_RULE_MESSAGES cache entry exists its value initializes "
"the value of this property. "
"Non-Makefile generators currently ignore this property.");
cm->DefineProperty
("USE_FOLDERS", cmProperty::GLOBAL,
"Use the FOLDER target property to organize targets into folders.",
"If not set, CMake treats this property as OFF by default. "
"CMake generators that are capable of organizing into a "
"hierarchy of folders use the values of the FOLDER target "
"property to name those folders. See also the documentation "
"for the FOLDER target property.");
cm->DefineProperty
("AUTOMOC_TARGETS_FOLDER", cmProperty::GLOBAL,
"Name of FOLDER for *_automoc targets that are added automatically by "
"CMake for targets for which AUTOMOC is enabled.",
"If not set, CMake uses the FOLDER property of the parent target as a "
"default value for this property. See also the documentation for the "
"FOLDER target property and the AUTOMOC target property.");
cm->DefineProperty
("PREDEFINED_TARGETS_FOLDER", cmProperty::GLOBAL,
"Name of FOLDER for targets that are added automatically by CMake.",
"If not set, CMake uses \"CMakePredefinedTargets\" as a default "
"value for this property. Targets such as INSTALL, PACKAGE and "
"RUN_TESTS will be organized into this FOLDER. See also the "
"documentation for the FOLDER target property.");
// ================================================================
// define variables as well
// ================================================================
cmDocumentVariables::DefineVariables(cm);
}
void cmake::DefineProperty(const char *name, cmProperty::ScopeType scope,
const char *ShortDescription,
const char *FullDescription,

View File

@ -345,9 +345,6 @@ class cmake
debugging configurations.*/
std::vector<std::string> const& GetDebugConfigs();
// Define the properties
static void DefineProperties(cmake *cm);
void SetCMakeEditCommand(const char* s)
{
this->CMakeEditCommand = s;

View File

@ -279,7 +279,6 @@ CMAKE_CXX_SOURCES="\
cmTest \
cmCustomCommand \
cmCustomCommandGenerator \
cmDocumentVariables \
cmCacheManager \
cmListFileCache \
cmComputeLinkDepends \