variable_watch
Отслеживайте изменение переменной CMake.
variable_watch(<variable> [<command>])
Если указанное <variable> изменяется и не указана <command>, будет выведено сообщение об изменении.
Если <command> указано, вместо этого будет выполнена данная команда. Команда получит следующие аргументы: COMMAND(<variable> <access> <value> <current_list_file> <stack>)
-
<variable> -
Имя переменной, к которой осуществляется доступ.
-
<access> -
Одно из значений
READ_ACCESS,UNKNOWN_READ_ACCESS,MODIFIED_ACCESS,UNKNOWN_MODIFIED_ACCESS, илиREMOVED_ACCESS. ЗначенияUNKNOWN_используются только в том случае, если переменная никогда не была установлена. После установки они больше не используются во время того же запуска CMake, даже если переменная позже будет удалена. -
<value> -
Значение переменной. При изменении это новое (измененное) значение переменной. При удалении значение пустое.
-
<current_list_file> -
Полный путь к файлу, осуществляющему доступ.
-
<stack> -
Список абсолютных путей всех файлов, в настоящее время находящихся в стеке включения файлов, начиная с самого нижнего файла и заканчивая текущим обрабатываемым файлом (то есть
current_list_file).
Обратите внимание, что для некоторых обращений, таких как list(APPEND), наблюдатель выполняется дважды: сначала с чтением, а затем с записью. Также обратите внимание, что запрос if(DEFINED) по переменной не регистрируется как доступ и наблюдатель не выполняется.
Только переменные, не являющиеся кэш-переменными, могут отслеживаться с помощью этой команды. Доступ к кэш-переменным никогда не отслеживается. Однако, существование кэш-переменной var приводит к тому, что обращения к не кэш-переменной var не используют префикс UNKNOWN_, даже если не кэш-переменная var никогда не существовала.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/command/variable_watch.html