Проверьте состояние выхода `execute_process` в cmake - PullRequest
0 голосов
/ 29 августа 2018

В моем файле cmake я запускаю команду с execute_process. И я хочу проверить, не удалось ли это. Он ничего не печатает до stderr.

До сих пор я использовал скрипт bash, который запускает команду и затем проверяет состояние выхода с помощью $? == 1.

Есть ли способ сделать что-то подобное с помощью cmake?

execute_process(COMMAND "runThis")
if("{$?}" EQUAL 1)
    message( FATAL_ERROR "Bad exit status")
endif()

Я использую cmake 3.12.1

1 Ответ

0 голосов
/ 29 августа 2018

Вы можете узнать состояние завершения выполняющегося процесса, используя опцию RESULT_VARIABLE для вызова execute_process. Из документации опции :

Будет задана переменная, содержащая результат запуска процессов. Это будет целочисленный код возврата из последнего потомка или строка, описывающая условие ошибки.

Пример:

execute_process(COMMAND "runThis" RESULT_VARIABLE ret)
if(ret EQUAL "1")
    message( FATAL_ERROR "Bad exit status")
endif()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...