我正在尝试像这样在 cmake
中执行 execute_process
execute_process(COMMAND ${CMAKE_COMMAND} -P myScript.cmake
只有当文件myScript.cmake
与当前工作目录相同时,才能正常运行。
以下是三个相关的问题:
cmake
是否有用于查找.cmake
脚本的标准位置?- 是否可以定义
cmake
变量来告诉cmake
要查找的位置?或者 - 是否应该始终提供脚本的完整路径(例如:
-P ${PATH_VAR}/myScript.cmake
)?
include(myScript)
是类似于使用execute_process
命令,但并不完全相同。 使用include
命令几乎等同于将myScript.cmake
的内容粘贴到调用的CMakeLists.txt文件中 - 此时您可以访问所有环境和变量。 而使用execute_process
命令则会启动一个全新的CMake进程,其中没有设置调用脚本的任何变量。 - Fraser