首页 > 解决方案 > CMake 的 execute_process 没有设置任何变量

问题描述

execute_process我对 cmake 的命令有一些问题。我使用了不同的组合(带有正确命令的正数,带有echo和负数,带有不存在的命令),但是 OUTPUT_VARIABLE,ERROR_VARIABLERESULT_VARIABLE始终为空:

set(__BUILD_VERSION "sss")
set(__ERROR_VARIABLE "aaa")
set(__EXECUTE_RESULT 0)

execute_process(
    COMMAND wrong_command
    WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/"
    OUTPUT_VARIABLE __BUILD_VERSION
    ERROR_VARIABLE  __ERROR_VARIABLE
    RESULT_VARIABLE __EXECUTE_RESULT
    OUTPUT_STRIP_TRAILING_WHITESPACE)

message( STATUS "ERROR: ${__ERROR_VARIABLE}" )
message( STATUS "OUTPUT_VARIABLE: ${__BUILD_VERSION}" )
message( STATUS "RESULT_VARIABLE: ${__EXECUTE_RESULT}" )

但他的输出总是

ERROR: 
OUTPUT_VARIABLE: 
RESULT_VARIABLE: 

我做错了什么?

更新:我已经删除了 CMakeCache.txt,它开始工作,但是在文件空输出再次更改之后。删除 CMakeCache.txt 没有帮助

标签: cmake

解决方案


推荐阅读