Spec-Zone.ru › CMake 3.19

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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/command/variable_watch.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API