c++ - CMake 和配置/模块 find_package

标签 c++ cmake

我正在开发一个库,现在尝试通过 cmake find_package 关键字使其可用。

使用配置模式工作正常。 我已将 cmake 生成的 CPackConfig.cmake 放入我的 lib 的安装文件夹中,并将其命名为 log++Config.cmake,并且可以在我的项目中找到它。美好的。 但这种方法并不令人满意。我需要定义自己的变量,例如链接所需的 lib 依赖项和一些自定义宏,但没有找到任何方法将其嵌入 CPackConfig.cmake 中。

所以现在我尝试使用find_package的模块模式。我担心的是,我无法找到任何方法让 cmake 使用我的 Findlog++.cmake 而不将其放入 cmake 安装文件夹中(这非常难看)。 我发现一些帖子告诉我只需将此文件放入我的项目根目录中,但它几乎与修改 cmake 本身一样丑陋。

有没有办法让我的 Findlog++.cmake 文件位于我的 lib 文件夹中,并让 cmake 在不设置 CMAKE_MODULE_PATH 变量的情况下找到它?

最佳答案

您似乎对 CPack 和“配置文件包”感到困惑。首先,了解它们是独立且不同的。然后阅读

http://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html#creating-packages

http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html

了解使用要求和宏的包含等。

关于c++ - CMake 和配置/模块 find_package,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872463/

相关文章:

jenkins - 如何使用 Jenkins 声明式管道在多个平台上构建和测试

c++ - ALL_BUILD 和 ZERO_CHECK 是什么,我需要它们吗?

c++ - 在 Windows x64 上构建 xlnt 库

c++ - 为什么 std::map 仅通过左值引用采用自定义比较器?

c++ - 需要基本示例代码编译帮助 - 我无法让任何 SDK 示例发挥作用

c++ - CMake 无法找到一些图像库

c++ - 如何直接从 LLVM 源代码树使用新编译的 LLVM 工具?

c++ - 使用 C++11 基于范围的循环验证数组值? [无载体]

c++ - 为什么 return 会改变我的值(value)?

c++ - 构建 C/C++ 代码时的 Gradle 编译器输出