Определить цель сборки CMake в CMakeLists.txt? - PullRequest
0 голосов
/ 11 апреля 2019

В сценарии CMake CMakeLists.txt как определить текущую цель сборки, например, параметр, переданный команде cmake с помощью опции -A? Для определения Windows есть переменная WIN32, но она не соответствует параметру -A, например -A X64.

if (WIN32)
    #do something
endif (WIN32)

1 Ответ

2 голосов
/ 11 апреля 2019

Название платформы, которое снабжено флагом -A, доступно в файле CMakeLists.txt через переменную CMAKE_GENERATOR_PLATFORM.

Что касается вашей формулировки, позвольте мне отметить, чтов CMake нет такой вещи, как "текущая цель сборки".Скорее, файл CMakeLists.txt определяет, какие цели будут доступны в сгенерированном Makefile (например, через add_executable или add_library), который создан CMake.Сам CMake не выполняет сборки для определенных целей.Какая цель получает сборку, зависит от того, как вы выполняете сгенерированный Makefile, например make <targetname>.

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