gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 03:06:08 24 4
gpt4 key购买 nike

我的 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")

关于cmake - 如何设置 CMAKE_MODULE_PATH 以在 CMake 中进行常规和外源构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52730397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com