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:
parent
6035c0458e
commit
399e9c46d8
|
@ -160,10 +160,8 @@ set(SRCS
|
||||||
cmDocumentation.cxx
|
cmDocumentation.cxx
|
||||||
cmDocumentationFormatter.cxx
|
cmDocumentationFormatter.cxx
|
||||||
cmDocumentationSection.cxx
|
cmDocumentationSection.cxx
|
||||||
cmDocumentCompileDefinitions.h
|
|
||||||
cmDocumentGeneratorExpressions.h
|
cmDocumentGeneratorExpressions.h
|
||||||
cmDocumentLocationUndefined.h
|
cmDocumentLocationUndefined.h
|
||||||
cmDocumentVariables.cxx
|
|
||||||
cmDynamicLoader.cxx
|
cmDynamicLoader.cxx
|
||||||
cmDynamicLoader.h
|
cmDynamicLoader.h
|
||||||
${ELF_SRCS}
|
${ELF_SRCS}
|
||||||
|
@ -494,7 +492,6 @@ set(CPACK_SRCS
|
||||||
CPack/cmCPackTarBZip2Generator.cxx
|
CPack/cmCPackTarBZip2Generator.cxx
|
||||||
CPack/cmCPackTarCompressGenerator.cxx
|
CPack/cmCPackTarCompressGenerator.cxx
|
||||||
CPack/cmCPackZIPGenerator.cxx
|
CPack/cmCPackZIPGenerator.cxx
|
||||||
CPack/cmCPackDocumentVariables.cxx
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if(CYGWIN)
|
if(CYGWIN)
|
||||||
|
|
|
@ -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");
|
|
||||||
}
|
|
|
@ -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
|
|
|
@ -14,7 +14,6 @@
|
||||||
// Need these for documentation support.
|
// Need these for documentation support.
|
||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
#include "cmDocumentation.h"
|
#include "cmDocumentation.h"
|
||||||
#include "cmCPackDocumentVariables.h"
|
|
||||||
#include "cmCPackGeneratorFactory.h"
|
#include "cmCPackGeneratorFactory.h"
|
||||||
#include "cmCPackGenerator.h"
|
#include "cmCPackGenerator.h"
|
||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
|
|
|
@ -935,65 +935,3 @@ bool cmCacheManager::NeedCacheCompatibility(int major, int minor)
|
||||||
return (actual_compat &&
|
return (actual_compat &&
|
||||||
actual_compat <= CMake_VERSION_ENCODE(major, minor, 0));
|
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."
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
|
@ -149,9 +149,6 @@ public:
|
||||||
unsigned int GetCacheMinorVersion() { return this->CacheMinorVersion; }
|
unsigned int GetCacheMinorVersion() { return this->CacheMinorVersion; }
|
||||||
bool NeedCacheCompatibility(int major, int minor);
|
bool NeedCacheCompatibility(int major, int minor);
|
||||||
|
|
||||||
/** Define and document CACHE entry properties. */
|
|
||||||
static void DefineProperties(cmake *cm);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
///! Add an entry into the cache
|
///! Add an entry into the cache
|
||||||
void AddCacheEntry(const char* key, const char* value,
|
void AddCacheEntry(const char* key, const char* value,
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include "cmDefinePropertyCommand.h"
|
#include "cmDefinePropertyCommand.h"
|
||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
|
|
||||||
// cmDefinePropertiesCommand
|
|
||||||
bool cmDefinePropertyCommand
|
bool cmDefinePropertyCommand
|
||||||
::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
|
::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
@ -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
|
|
|
@ -21,9 +21,7 @@
|
||||||
#include "cmCacheManager.h"
|
#include "cmCacheManager.h"
|
||||||
#include "cmFunctionBlocker.h"
|
#include "cmFunctionBlocker.h"
|
||||||
#include "cmListFileCache.h"
|
#include "cmListFileCache.h"
|
||||||
#include "cmDocumentGeneratorExpressions.h"
|
|
||||||
#include "cmCommandArgumentParserHelper.h"
|
#include "cmCommandArgumentParserHelper.h"
|
||||||
#include "cmDocumentCompileDefinitions.h"
|
|
||||||
#include "cmGeneratorExpression.h"
|
#include "cmGeneratorExpression.h"
|
||||||
#include "cmTest.h"
|
#include "cmTest.h"
|
||||||
#ifdef CMAKE_BUILD_WITH_CMAKE
|
#ifdef CMAKE_BUILD_WITH_CMAKE
|
||||||
|
@ -4023,244 +4021,15 @@ void cmMakefile::RaiseScope(const char *var, const char *varDef)
|
||||||
// define properties
|
// define properties
|
||||||
void cmMakefile::DefineProperties(cmake *cm)
|
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
|
cm->DefineProperty
|
||||||
("RULE_LAUNCH_COMPILE", cmProperty::DIRECTORY,
|
("RULE_LAUNCH_COMPILE", cmProperty::DIRECTORY,
|
||||||
"Specify a launcher for compile rules.",
|
"", "", true);
|
||||||
"See the global property of the same name for details. "
|
|
||||||
"This overrides the global property for a directory.",
|
|
||||||
true);
|
|
||||||
cm->DefineProperty
|
cm->DefineProperty
|
||||||
("RULE_LAUNCH_LINK", cmProperty::DIRECTORY,
|
("RULE_LAUNCH_LINK", cmProperty::DIRECTORY,
|
||||||
"Specify a launcher for link rules.",
|
"", "", true);
|
||||||
"See the global property of the same name for details. "
|
|
||||||
"This overrides the global property for a directory.",
|
|
||||||
true);
|
|
||||||
cm->DefineProperty
|
cm->DefineProperty
|
||||||
("RULE_LAUNCH_CUSTOM", cmProperty::DIRECTORY,
|
("RULE_LAUNCH_CUSTOM", cmProperty::DIRECTORY,
|
||||||
"Specify a launcher for custom rules.",
|
"", "", true);
|
||||||
"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.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
#include "cmMakefile.h"
|
#include "cmMakefile.h"
|
||||||
#include "cmSystemTools.h"
|
#include "cmSystemTools.h"
|
||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
#include "cmDocumentCompileDefinitions.h"
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
cmSourceFile::cmSourceFile(cmMakefile* mf, const char* name):
|
cmSourceFile::cmSourceFile(cmMakefile* mf, const char* name):
|
||||||
|
@ -382,176 +381,3 @@ void cmSourceFile::SetCustomCommand(cmCustomCommand* cc)
|
||||||
this->CustomCommand = cc;
|
this->CustomCommand = cc;
|
||||||
delete old;
|
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.");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -90,9 +90,6 @@ public:
|
||||||
// Get the properties
|
// Get the properties
|
||||||
cmPropertyMap &GetProperties() { return this->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
|
* Check whether the given source file location could refer to this
|
||||||
* source.
|
* source.
|
||||||
|
|
1382
Source/cmTarget.cxx
1382
Source/cmTarget.cxx
File diff suppressed because it is too large
Load Diff
|
@ -92,114 +92,3 @@ void cmTest::AppendProperty(const char* prop, const char* value, bool asString)
|
||||||
}
|
}
|
||||||
this->Properties.AppendProperty(prop, value, cmProperty::TEST, 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.");
|
|
||||||
}
|
|
||||||
|
|
|
@ -52,9 +52,6 @@ public:
|
||||||
bool GetPropertyAsBool(const char *prop) const;
|
bool GetPropertyAsBool(const char *prop) const;
|
||||||
cmPropertyMap &GetProperties() { return this->Properties; };
|
cmPropertyMap &GetProperties() { return this->Properties; };
|
||||||
|
|
||||||
// Define the properties
|
|
||||||
static void DefineProperties(cmake *cm);
|
|
||||||
|
|
||||||
/** Get the cmMakefile instance that owns this test. */
|
/** Get the cmMakefile instance that owns this test. */
|
||||||
cmMakefile *GetMakefile() { return this->Makefile;};
|
cmMakefile *GetMakefile() { return this->Makefile;};
|
||||||
|
|
||||||
|
|
202
Source/cmake.cxx
202
Source/cmake.cxx
|
@ -10,7 +10,6 @@
|
||||||
See the License for more information.
|
See the License for more information.
|
||||||
============================================================================*/
|
============================================================================*/
|
||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
#include "cmDocumentVariables.h"
|
|
||||||
#include "cmCacheManager.h"
|
#include "cmCacheManager.h"
|
||||||
#include "cmMakefile.h"
|
#include "cmMakefile.h"
|
||||||
#include "cmLocalGenerator.h"
|
#include "cmLocalGenerator.h"
|
||||||
|
@ -219,12 +218,8 @@ void cmake::InitializeProperties()
|
||||||
this->PropertyDefinitions.clear();
|
this->PropertyDefinitions.clear();
|
||||||
|
|
||||||
// initialize properties
|
// initialize properties
|
||||||
cmCacheManager::DefineProperties(this);
|
|
||||||
cmSourceFile::DefineProperties(this);
|
|
||||||
cmTarget::DefineProperties(this);
|
cmTarget::DefineProperties(this);
|
||||||
cmMakefile::DefineProperties(this);
|
cmMakefile::DefineProperties(this);
|
||||||
cmTest::DefineProperties(this);
|
|
||||||
cmake::DefineProperties(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmake::CleanupCommandsAndMacros()
|
void cmake::CleanupCommandsAndMacros()
|
||||||
|
@ -2378,203 +2373,6 @@ void cmake::GenerateGraphViz(const char* fileName) const
|
||||||
#endif
|
#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,
|
void cmake::DefineProperty(const char *name, cmProperty::ScopeType scope,
|
||||||
const char *ShortDescription,
|
const char *ShortDescription,
|
||||||
const char *FullDescription,
|
const char *FullDescription,
|
||||||
|
|
|
@ -345,9 +345,6 @@ class cmake
|
||||||
debugging configurations.*/
|
debugging configurations.*/
|
||||||
std::vector<std::string> const& GetDebugConfigs();
|
std::vector<std::string> const& GetDebugConfigs();
|
||||||
|
|
||||||
// Define the properties
|
|
||||||
static void DefineProperties(cmake *cm);
|
|
||||||
|
|
||||||
void SetCMakeEditCommand(const char* s)
|
void SetCMakeEditCommand(const char* s)
|
||||||
{
|
{
|
||||||
this->CMakeEditCommand = s;
|
this->CMakeEditCommand = s;
|
||||||
|
|
|
@ -279,7 +279,6 @@ CMAKE_CXX_SOURCES="\
|
||||||
cmTest \
|
cmTest \
|
||||||
cmCustomCommand \
|
cmCustomCommand \
|
||||||
cmCustomCommandGenerator \
|
cmCustomCommandGenerator \
|
||||||
cmDocumentVariables \
|
|
||||||
cmCacheManager \
|
cmCacheManager \
|
||||||
cmListFileCache \
|
cmListFileCache \
|
||||||
cmComputeLinkDepends \
|
cmComputeLinkDepends \
|
||||||
|
|
Loading…
Reference in New Issue