05. CMakeCache variables

Кешированные переменные CMakeCache

Обычные переменные пересоздаются каждый раз при запуске cmake
есть возможность хранить и использовать переменные из файла CmakeCache.txt
этот файл создается однажды и может быть удален только вручную (система сборки его не уничтожает)
Присвоить/Изменить значение кешированной переменной
set(varName value CACHE type “What is it” [FORCE])

“What is it” – строка описание (документация)
FORCE – опциональный параметр (разрешить перезаписывать переменные)

type variants:
BOOL                         ON/OFF or TRUE/FALSE or 1/0
FILEPATH                   path to file
PATH                          path to directory
STRING
INTERNAL                  only for internal using

Пример: set(varName TRUE CACHE BOOL “bool variable”)

Примечание:
BOOL можно задать 2 способами
option(varName “bool variable” TRUE)

Получить значение переменной
${varName}

Обычные переменные имеют приоритет перед кешированными (проверять что нет совпадающих имен)
Но при записи в кеш обычная переменная перезаписывается т.е. при первом запуске (или использовании FORCE) м.б. отличная реакция от последующих.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *