cmake在哪里查找.cmake脚本?
我正试图像这样在cmake在哪里查找.cmake脚本?,cmake,Cmake,我正试图像这样在cmake中执行\u进程 execute_process(COMMAND ${CMAKE_COMMAND} -P myScript.cmake 只有当文件myScript.cmake位于同一工作目录中时,此选项才有效 三个相关问题: cmake是否有标准位置可查找.cmake脚本 我是否可以定义cmake变量来告诉cmake在哪里查找?或 我是否应该始终提供脚本的完整路径(即,-P${path\u VAR}/myScript.cmake) cmake是否有标准位置可查找.cma
cmake
中执行\u进程
execute_process(COMMAND ${CMAKE_COMMAND} -P myScript.cmake
只有当文件myScript.cmake
位于同一工作目录中时,此选项才有效
三个相关问题:
cmake
是否有标准位置可查找.cmake
脚本李>
cmake
变量来告诉cmake
在哪里查找?或-P${path\u VAR}/myScript.cmake
)cmake
是否有标准位置可查找.cmake
脚本
对于,否。find_XXX
命令(例如)并执行
我是否可以定义
cmake
变量来告诉cmake
在哪里查找
同样,对于execute\u process
,编号。对于find\u xxx
或include
,您可以设置变量
我是否应该始终提供脚本的完整路径(即,
-p${path\u VAR}/myScript.cmake
)
这是一个很好的选择;走过一条完整的道路不会留下任何不确定的余地。但是,您也可以使用相对路径。execute\u进程
的默认工作目录是,因此您可以传递相对于该进程的脚本路径
或者,您可以在execute\u进程
调用中将WORKING\u目录
指定为完整路径或相对于CMAKE\u BINARY\u目录
<>如果你觉得你的脚本在一个标准的位置,你可以考虑首先使用调用<代码> FIDX文件来查找它。如果找到,这将生成脚本的完整路径,该变量可用于
execute\u进程调用。CMAKE\u模块\u路径,尽管您仍然需要调用include(myScript)。@StAlphonzoinclude(myScript)
类似于调用execute\u进程,如图所示,但并不相同。使用include
几乎就像将myScript.cmake
的内容粘贴到调用的CMakeLists.txt中一样-此时您可以访问所有环境和变量。调用execute\u process
会启动一个全新的CMake进程,该进程没有设置调用脚本的任何变量。CMake确实有标准的位置可供查找。CMake
脚本:@VictorL-好吧,问题是专门询问execute\u process
,在这种情况下,我的原始答案是正确的。但是,我可以看到标题留下了一些模棱两可的地方,因此我更新了我的答案,以涵盖include
和find_xxx
命令。