CMake раскрыть переменную env со значением по умолчанию для пользовательского файла - PullRequest
0 голосов
/ 11 декабря 2018

Используя CMake, я пытаюсь расширить значения системных переменных среды в пользовательском файле.Я делаю следующую команду:

configure_file(config.cnf.in config.cnf)

config.cnf.in содержимое:

[options]
some_value1 = $ENV{SYSTEM_ENV_VAR}

Вопрос: Возможно ли этоустановить значение по умолчанию для переменной SYSTEM_ENV_VAR , если оно не определено?

Я попытался сделать это:

   some_value1 = $ENV{SYSTEM_ENV_VAR:-defaultValue}

и получил ошибку cmake: недопустимый символ (':') в имени переменной: 'SYSTEM_ENV_VAR'

Я не сделалне найдете ответ в документах: https://cmake.org/cmake/help/v3.2/command/configure_file.html

1 Ответ

0 голосов
/ 11 декабря 2018

Вы не можете установить значение по умолчанию для переменной, но вы можете сохранить переменную среды внутри обычной переменной cmake, и, если она не была установлена, определить значение по умолчанию.Я проверял это:

set(EXIST $ENV{HOME})
set(NOT_EXIST $ENV{NOT_EXIST})

if(EXIST)
    message("Variable EXIST exist")
else()
    message("Variable EXIST DOES NOT exist, setting default value")
    set(EXIST "Default value")
endif()

if(NOT_EXIST)
    message("Variable NOT_EXIST exist")
else()
    message("Variable NOT_EXIST DOES NOT exist, setting default value")
    set(NOT_EXIST "Default value")
endif()

message ("EXIST: ${EXIST}")
message ("NOT_EXIST: ${NOT_EXIST}")

Мой вывод для этого

Variable EXIST exist
Variable NOT_EXIST DOES NOT exist, setting default value
EXIST: /home/user
NOT_EXIST: Default value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...