【发布时间】:2014-05-14 09:11:41
【问题描述】:
我的问题:我有一个库项目,我想以二进制形式分发。我希望我的客户能够尽可能轻松地将这个库与他们的项目集成。另外,我希望他们不必处理复杂的安装过程。我假设他们能够在初学者级别使用 CMake(这意味着添加头文件和源文件,find_package() 和 add_executable())。
在最好的情况下,我会想象我的包的工作流程如下所示:
- 仅下载带有头文件和二进制文件的包。无源,无 CMake,
make,make install! - 解压包。
- 将内容移动到其他包所在的特殊目录。 (这个目录可以在环境变量或类似的地方。)
-
find_package()有效。
在 Windows 7 和最新的 Ubuntu 中应该是这样的。
对我来说,过去 2 天我一直在学习 CMake,我发现文档非常难以理解(我在学习 Qt、qtcreator、sdl、pulse audio、git、OpenGL 等东西时从来没有遇到过这样的麻烦, ...) 这就是我要问的原因。
分辨率:
使用cmake的打包系统。
注意事项:
- 当然,我在询问之前找到了这个解决方案,但是我犯了一个错误(使用
*Targets.cmake文件作为安装树中的构建树)并认为它不适用于我的目的。 - 我使用了包系统,但效果不佳,请查看相关问题。
相关问题:
- CPack: How to use exporting to create library package? Missing *Targets-noconfig.cmake file - 我的测试项目,仍然不能完全用于创建包。
编辑:
- 将“find_library”引用更改为“find_package”,因为我在编写过程中弄错了这两个。
- 添加了解决方案和相关问题部分。
【问题讨论】:
标签: cmake