我正在开发一个库,现在尝试通过 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/