我的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
,使其同时适用于源代码内和源代码外的构建?
2条答案
按热度按时间klh5stk11#
正如评论中所建议的:
字符串
并且总是尝试将所有路径设置为相对于某个CMAKE_* 目录。这样您将错过许多错误。;)
由于
CMAKE_MODULE_PATH
是一个列表,因此最好使用:用途:型
hjqgdpho2#
只是为了记住我自己(在现代cmake 3.xx中):
1.如果需要
include(some_file_module)
,请添加到CMAKE_MODULE_PATH
1.如果您需要
find_package(package CONFIG REQUIRED)
添加到CMAKE_PREFIX_PATH
举例说明:
字符串