Как напечатать результат оболочки script в CMake?

Если я хочу проверить текущие экспортированные переменные среды, я делаю это в оболочке.

export

В CMake я делаю это, чтобы что-то печатать.

MESSAGE ("This is message.")

Как я могу напечатать предыдущий с помощью CMake?

Я знаю, что CMake выступает за кросс-платформенное построение, так или иначе при отладке чего-то мне нужно проверить необработанные значения. Поэтому мне это нужно.

Ответ 1

Если вы хотите узнать значение определенной переменной, вы можете использовать $ENV{varname}:

message(STATUS $ENV{PATH})

Если вы хотите увидеть переменные all, вам, вероятно, придется прибегать к вызову внешней команды, такой как env (в Unix) или set (в Windows):

# Windows
execute_process(COMMAND cmd /c set OUTPUT_VARIABLE output)
message(${output})

Ответ 2

Я не знаю, как получить cmake, чтобы показать вывод на консоль, но если вы не возражаете, просто вытащите его из файла позже, вы можете добавить:

env > /tmp/environment

в соответствующем месте, а затем читайте /tmp/environment файл позже.