define_property
Define and document custom properties.
define_property(<GLOBAL | DIRECTORY | TARGET | SOURCE | TEST | VARIABLE | CACHED_VARIABLE> PROPERTY <name> [INHERITED] BRIEF_DOCS <brief-doc> [docs...] FULL_DOCS <full-doc> [docs...])
Define one property in a scope for use with the set_property()
and get_property()
commands. This is primarily useful to associate documentation with property names that may be retrieved with the get_property()
command. The first argument determines the kind of scope in which the property should be used. It must be one of the following:
GLOBAL = associated with the global namespace DIRECTORY = associated with one directory TARGET = associated with one target SOURCE = associated with one source file TEST = associated with a test named with add_test VARIABLE = documents a CMake language variable CACHED_VARIABLE = documents a CMake cache variable
Note that unlike set_property()
and get_property()
no actual scope needs to be given; only the kind of scope is important.
The required PROPERTY
option is immediately followed by the name of the property being defined.
If the INHERITED
option then the get_property()
command will chain up to the next higher scope when the requested property is not set in the scope given to the command. DIRECTORY
scope chains to GLOBAL
. TARGET
, SOURCE
, and TEST
chain to DIRECTORY
.
The BRIEF_DOCS
and FULL_DOCS
options are followed by strings to be associated with the property as its brief and full documentation. Corresponding options to the get_property()
command will retrieve the documentation.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.5/command/define_property.html