variable_watchΒΆ
Watch the CMake variable for change.
variable_watch(<variable> [<command>])
If the specified <variable> changes and no <command> is given,
a message will be printed to inform about the change.
If <command> is given, this command will be executed instead.
The command will receive the following arguments:
COMMAND(<variable> <access> <value> <current_list_file> <stack>)
- <variable>
- Name of the variable being accessed. 
- <access>
- One of - READ_ACCESS,- UNKNOWN_READ_ACCESS,- MODIFIED_ACCESS,- UNKNOWN_MODIFIED_ACCESS, or- REMOVED_ACCESS. The- 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.
- <value>
- The value of the variable. On a modification, this is the new (modified) value of the variable. On removal, the value is empty. 
- <current_list_file>
- Full path to the file doing the access. 
- <stack>
- 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, - current_list_file) last.
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.
