如何设置CMAKE_MODULE_PATH以在CMake中进行常规和源外构建?

时间:2018-10-09 22:59:59

标签: cmake

我的CMakeLists.txt中有这样一行

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "cmake")

这是为了可以使用如下目录树找到一些自定义库:

CMakeLists.txt
cmake/
|-- FindSomeLibrary.cmake
|-- FindAnotherLibrary.cmake

通常我会这样简单地构建:

cmake .

哪个工作正常。但是,我想使用以下脚本提供调试和发布版本:

mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=Release ../

但是,现在找不到cmake模块。

是否可以设置CMAKE_MODULE_PATH使其适用于源内和源外构建?

1 个答案:

答案 0 :(得分:4)

如评论中所建议:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

,并始终尝试设置相对于某些CMAKE_ *目录的所有路径。这样,您将错过许多错误。 ; )