Как определить, является ли переменная CMake переменной кэша? - PullRequest
0 голосов
/ 21 января 2019

Какой самый простой способ может быть использован внутри if(), чтобы определить, является ли данное имя переменной CMake «кеш-переменной», а не обычной переменной?

Рассмотрим следующий пример:

set(regularVariable "some value")
set(aVariableInCache "some other value" CACHE INTERNAL "")

get_cmake_property(variables VARIABLES)
foreach(variable ${variables})
    if(???)
        ...
    endif()
endforeach()

Я ищу простой способ различения regularVariable и aVariableInCache только на основе того, какой из них находится в кэше CMake, а какой - просто регулярная переменная.

1 Ответ

0 голосов
/ 22 января 2019

Я думаю, вы можете обойтись без

get_property(result CACHE ${variable} PROPERTY TYPE)

Пустое значение для result означало бы, что переменная отсутствует в кэше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...