cmake - 如何设置 CMAKE_MODULE_PATH 以在 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
它适用于源内和源外构建?
解决方案
正如评论中所建议的:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
并始终尝试设置相对于某个 CMAKE_* 目录的所有路径。这样你会错过很多错误。; )
作为CMAKE_MODULE_PATH
一个列表,所以最好使用:
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
推荐阅读
- iphone - DB-helvetica 字体在 iPhone 中不起作用 - Xamarin 形式
- javascript - Morris js 未在药丸选项卡中显示图表
- azure - 使用 Perl、HTTP、LWP 了解我的授权标头有什么问题
- jenkins - dynamicStage 和 dynamicAlwaysScript 关键字的目的是什么
- python - Quantlib Svensson 拟合问题
- nextflow - 使用 nextflow 拆分配对的 fasta 文件
- python - 我什么时候可以使用“conda install”,什么时候必须使用“pip install”
- excel - 如何根据条件对单元格进行颜色编码?
- spring-boot - 从 Spring Cloud Greenwich.SR1 更新到 SR2 后,h2-console 停止工作
- c# - Selenium .NET core 2.2 发布的项目 exe 即使在 Windows x64 上也无法运行