execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . RESULT_VARIABLE result WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download ) if(result) message(FATAL_ERROR "CMake step for googletest fa
RESULT_VARIABLE / RESULTS_VARIABLE 存储单个/多个进程的返回值,以供后续使用。 OUTPUT_VARIABLE 存储输出信息,指的是print出来的内容。 ERROR_VARIABLE 存储错误信息。 TIMEOUT 命令执行超时时间设置,超时将被强行终止。单位:秒。 示例: execute_process(COMMAND "ls -ll" WORKING_DIRECTORY "/root" OUTPUT_VARIABLE...
set(ECHO_CMD "echo hello world") execute_process( COMMAND ${ECHO_CMD} RESULT_VARIABLE RESULT OUTPUT_VARIABLE OUTPUT ) message("RESULT: ${RESULT}") message("OUTPUT: ${OUTPUT}") (base) ➜ test git:(main) ✗ cmake -P test.cmake RESULT: No such file or directory OUTPUT: 被执行的...
如果指定了TIMEOUT选项,如果子进程没有在指定的秒数(允许分数)里完成,子进程会自动终止。如果指定了RESULT_VARIABLE选项,该变量将保存为正在运行的进程的结果;它可以是最后一个子进程的整数返回代码,也可以是一个描述错误状态的字符串。如果指定了OUTPUT_VARIABLE或者ERROR_VARIABLE,后面的变量将会被分别设置为标准输出...
message(STATUS "RESULT_VARIABLE is: ${_status}") message(STATUS "OUTPUT_VARIABLE is: ${_hello_world}") 调试的一个便捷替代方法是使用以下内容: 代码语言:javascript 复制 include(CMakePrintHelpers) cmake_print_variables(_status _hello_world) ...
16execute_process(17COMMAND18${PYTHON_EXECUTABLE}"-c""import re, numpy; print(re.compile('/__init__.py.*').sub('',numpy.__file__))"19RESULT_VARIABLE _numpy_status20OUTPUT_VARIABLE _numpy_location21ERROR_QUIET22OUTPUT_STRIP_TRAILING_WHITESPACE23)2425if(NOT _numpy_status)26set(NumPy ${...
简介:CMake学习之include 一、cmake incldue 从给定的文件中读取CMake的列表文件。 include(file [OPTIONAL][RESULT VARIABLE VAR]) 从给定的文件中读取CMake的清单文件代码。在清单文件中的命含会被立即处理。如果指定了OPTIONAL选项,那么如果被包含文件不存在的话,不会报错。如果指定了RESULT VARIABLE选项,那么var...
WORKING_DIRECTORY 用于指定外部命令的工作目录,RESULT_VARIABLE 用于指定一个变量保存外部命令执行的结果,这个结果可能是最后一个执行的外部命令的退出码或者是一个描述错误条件的字符串,OUTPUT_VARIABLE 或者 ERROR_VARIABLE 用于指定一个变量保存标准输出或者标准错误,OUTPUT_QUIET 或者 ERROR_QUIET 用于忽略标准输出和标准...
语法:include(<file|module> [OPTIONAL] [RESULT_VARIABLE <VAR>] [NO_POLICY_SCOPE])。 如果指定文件,则直接处理。如果指定module,则寻找 module.cmake 文件,首先在${CMAKE_MODULE_PATH} 中寻找,然后在CMake的module目录中查找。 include_directories() ...
{GIT_EXECUTABLE} submodule update --init --recursive WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE GIT_SUBMOD_RESULT) if(NOT GIT_SUBMOD_RESULT EQUAL "0") message(FATAL_ERROR "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT}, please checkout ...