![运行某个程序失败怎么办?](https://linux22.com/image/1571369/%E8%BF%90%E8%A1%8C%E6%9F%90%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%A4%B1%E8%B4%A5%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F.png)
我在用cmake-conan在构建过程中调用 conan(在 Ubuntu 16.04 上)。但是现在我想测试某些构建不会调用 conan。
cmake-conan 以这种方式调用 conan:
execute_process(COMMAND ${conan_command} ${conan_args}
RESULT_VARIABLE return_code
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
其中 ${conan_command} 解析为conan
。
我尝试在 bash 脚本中使用别名conan
,fail
但是 cmake 似乎没有识别到它。
alias conan='fail'
有没有其他方法可以确保程序在 PATH 中找不到,即使它实际上在 PATH 中?
答案1
在CMake
脚本中运行conan_cmake_run
带参数的宏CONAN_COMMAND "fail"
您可以将 CONAN_COMMAND 作为环境变量传递:
…
conan_cmake_run(CONAN_COMMAND $ENV{CONAN_COMMAND)
…
和:
CONAN_COMMAND=fail cmake …
或者作为变量传递:
…
conan_cmake_run(CONAN_COMMAND ${CONAN_COMMAND)
…
和:
cmake -DCONAN_COMMAND=fail …