Вы также можете вызвать cmake , чтобы сделать это кросс-платформенным способом:
cmake -E env EnvironmentVariableName="Hello World" cmake ..
env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...
Запустить команду в измененной среде.
Просто имейте в виду , что это может сработать только в первый раз. Если CMake переконфигурируется с одной из последовательных сборок (вы просто вызываете, например, make
, одна CMakeLists.txt
была изменена и CMake снова проходит процесс генерации), пользовательская переменная среды может больше не быть (по сравнению общесистемные переменные среды).
Итак, я перенесу эти переменные среды, определенные пользователем, в мои проекты в кэшированную переменную CMake:
cmake_minimum_required(VERSION 2.6)
project(PrintEnv NONE)
if (NOT "$ENV{EnvironmentVariableName}" STREQUAL "")
set(EnvironmentVariableName "$ENV{EnvironmentVariableName}" CACHE INTERNAL "Copied from environment variable")
endif()
message("EnvironmentVariableName = ${EnvironmentVariableName}")
1024 * Ссылка *