cmake在哪里寻找.cmake脚本?

时间:2015-03-26 22:49:58

标签: cmake

我正在尝试execute_process cmake中的execute_process(COMMAND ${CMAKE_COMMAND} -P myScript.cmake

myScript.cmake

仅当文件cmake位于同一工作目录中时才有效。

三个相关问题:

  1. .cmake是否有标准位置来查找cmake脚本?
  2. 我可以定义一个cmake变量来告诉-P ${PATH_VAR}/myScript.cmake在哪里看?或
  3. 我是否应该始终提供脚本的完整路径(即{{1}})?

1 个答案:

答案 0 :(得分:5)

  

cmake是否有标准位置来查找.cmake脚本?

对于execute_process,没有。 find_XXX命令(例如find_file)和include可以做到。


  

我是否可以定义cmake变量来告诉cmake在哪里查看?

同样,对于execute_process,没有。对于find_xxxinclude,您可以设置变量CMAKE_MODULE_PATH


  

我是否应该始终提供脚本的完整路径(即-P ${PATH_VAR}/myScript.cmake)?

这是一个不错的选择;通过一条完整的道路没有留下不确定的余地。但是,你也可以逃避相对路径。 execute_process的默认工作目录是CMAKE_BINARY_DIR,因此您可以将路径传递给相对于该脚本的脚本。

或者,您可以将WORKING_DIRECTORY调用中的execute_process指定为完整路径或相对于CMAKE_BINARY_DIR

如果您觉得您的脚本位于标准位置,您可以考虑先使用find_file调用“查找”它。如果找到,这将产生脚本的完整路径,并且该变量可以在execute_process调用中使用。