我正试着像这样在execute_process in cmake
execute_process(COMMAND ${CMAKE_COMMAND} -P myScript.cmake只有当文件myScript.cmake位于相同的工作目录时才能工作。
三个相关问题:
cmake是否有一个标准的位置来查找.cmake脚本?cmake变量来告诉cmake在哪里查找?或-P ${PATH_VAR}/myScript.cmake)吗?发布于 2015-03-26 23:20:13
cmake是否有一个标准的位置来查找.cmake脚本?
对execute_process来说不是。但是,find_XXX命令(例如,find_file)和include会这样做。
我是否可以定义一个
cmake变量来告诉cmake在哪里查找?
再说一遍,对于execute_process来说,不是。对于find_xxx或include,可以设置变量CMAKE_MODULE_PATH。
我应该总是给脚本一个完整的路径(即
-P ${PATH_VAR}/myScript.cmake)吗?
这是一个很好的选择;通过一条完整的道路不会留下任何不确定性的空间。然而,你也可以通过一条相对的路径而逃脱。execute_process的默认工作目录是CMAKE_BINARY_DIR,因此您可以将路径传递给相对于此的脚本。
或者,您可以在execute_process调用中指定execute_process作为完整路径或相对于CMAKE_BINARY_DIR。
如果您觉得您的脚本位于标准位置,您可以考虑首先使用对find_file的调用来“查找”它。如果找到脚本,这将生成脚本的完整路径,并且可以在execute_process调用中使用该变量。
https://stackoverflow.com/questions/29290285
复制相似问题