Watch the CMake variable for change.
If the specified
<variable> changes and no
<command> is given, a message will be printed to inform about the change.
<command> is given, this command will be executed instead. The command will receive the following arguments:
COMMAND(<variable> <access> <value> <current_list_file> <stack>)
- Name of the variable being accessed.
- One of
UNKNOWN_values are only used when the variable has never been set. Once set, they are never used again during the same CMake run, even if the variable is later unset.
- The value of the variable. On a modification, this is the new (modified) value of the variable. On removal, the value is empty.
- Full path to the file doing the access.
- List of absolute paths of all files currently on the stack of file inclusion, with the bottom-most file first and the currently processed file (that is,
Note that for some accesses such as list(APPEND), the watcher is executed twice, first with a read access and then with a write one. Also note that an if(DEFINED) query on the variable does not register as an access and the watcher is not executed.
Only non-cache variables can be watched using this command. Access to cache variables is never watched. However, the existence of a cache variable
var causes accesses to the non-cache variable
var to not use the
UNKNOWN_ prefix, even if a non-cache variable
var has never existed.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.