CMake: использовать значение по умолчанию, если оно не указано при втором запуске - PullRequest
0 голосов
/ 08 июля 2019

Когда я запускаю для первого запуска: cmake .. \ test2 -DABC = abc, я получаю вывод: ABC = abc И это нормально, но когда я запускаю второй раз: cmake .. \ test2 без дополнительныхпараметр, у меня все еще есть ABC = abc.Я не удалял выходные файлы.Можно ли заставить cmake использовать значение по умолчанию (OFF) аргумента, если оно было предоставлено при следующем запуске?

if(ABC)
    message(STATUS "abc is set")
else()
    message(STATUS "abc is not set")
endif()

не работает

CMakeList.txt:

option(ABC "test" )
message(STATUS "ABC=${ABC}")

1 Ответ

1 голос
/ 08 июля 2019

Можно ли заставить CMake использовать значение по умолчанию (OFF) аргумента?

Да, просто unset переменная кэша, что можно сделать с помощью опции -U:

cmake ..\test2 -UABC

То есть option() находит переменную, которая не установлена, и присваивает ей значение по умолчанию


В CMake не использовать -D означает «не изменять переменную», а не «вообще не устанавливать переменную».

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