Set a named property in a given scope.
set_property(<GLOBAL |
DIRECTORY [<dir>] |
TARGET [<target1> ...] |
SOURCE [<src1> ...]
[DIRECTORY <dirs> ...] |
[TARGET_DIRECTORY <targets> ...]
INSTALL [<file1> ...] |
TEST [<test1> ...] |
CACHE [<entry1> ...] >
[APPEND] [APPEND_STRING]
PROPERTY <name> [<value1> ...])
Sets one property on zero or more objects of a scope.
The first argument determines the scope in which the property is set. It must be one of the following:
Scope may name zero or more source files. By default, source file properties are only visible to targets added in the same directory (CMakeLists.txt). Visibility can be set in other directory scopes using one or both of the following sub-options:
See also the set_source_files_properties() command.
Scope may name zero or more installed file paths. These are made available to CPack to influence deployment.
Both the property key and value may use generator expressions. Specific properties may apply to installed files and/or directories.
Path components have to be separated by forward slashes, must be normalized and are case sensitive.
To reference the installation prefix itself with a relative path use ..
Currently installed file properties are only defined for the WIX generator where the given paths are relative to the installation prefix.
The required PROPERTY option is immediately followed by the name of the property to set. Remaining arguments are used to compose the property value in the form of a semicolon-separated list.
If the APPEND option is given the list is appended to any existing property value (except that empty values are ignored and not appended). If the APPEND_STRING option is given the string is appended to any existing property value as string, i.e. it results in a longer string and not a list of strings. When using APPEND or APPEND_STRING with a property defined to support INHERITED behavior (see define_property()), no inheriting occurs when finding the initial value to append to. If the property is not already directly set in the nominated scope, the command will behave as though APPEND or APPEND_STRING had not been given.
See the cmake-properties(7) manual for a list of properties in each scope.