Как распечатать результат сценария оболочки в CMake? - PullRequest
14 голосов
/ 25 декабря 2011

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

export

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

MESSAGE ("This is message.")

Как мне распечатать прежний с помощью CMake?

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

Ответы [ 2 ]

15 голосов
/ 25 декабря 2011

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

message(STATUS $ENV{PATH})

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

# Windows
execute_process(COMMAND cmd /c set OUTPUT_VARIABLE output)
message(${output})
0 голосов
/ 25 декабря 2011

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

env > /tmp/environment

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

...