2013-01-24 62 views

回答

0

除了将它作为文件添加到CMake自己的安装目录(不推荐)之外,您可以在CMakeLists.txt的开头定义CMAKE_MODULE_PATH(或通过命令行使用-D)来提供目录的位置搜索CMake模块。

+0

我想它是全球性的原因的组合是,“全球”包括将由另一CMake的项目,该项目的子项目取决于安装无论如何。我所有的“孩子”项目都需要使用相同的文件,所以我宁愿有一种方法来使用共享模块。这真的是我正在寻找的。 –

+0

除了安装到CMake自己的模块路径(例如C:\ Program Files(x86)\ CMake 2.8 \ share \ cmake-2.8 \ Modules)之外,我不知道这样做的方法。如果你自己开发,那可能是好的,但我认为这通常是一个坏主意,因为你的模块似乎是官方的CMake。当CMake升级时它可能也会被删除。 – Fraser

1

你可以使用的 find_fileCMAKE_MODULE_PATH

find_file(common_file File.cmake path1 path2 path3) 
if(common_file STREQUAL "common_file-NOTFOUND") 
    message(FATAL_ERROR "Missing common cmake file") 
else() 
    LIST(APPEND CMAKE_MODULE_PATH common_file) 
endif()