我对cmake的execute_process
命令有一些疑问。我使用了不同的组合(对于正确的命令,使用echo
为正,对于不存在的命令使用否定),但是OUTPUT_VARIABLE
,ERROR_VARIABLE
和RESULT_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没有帮助