cmake install 与findpackage
在项目开发中,我们想要把某些文件编译成库并分享给别人怎么办?
- 我们能把代码打包成一个库
- 别人能引用我们的这个库
怎么实现这两步呢?
为了实现这个分享方案,引入cmake中的install 和find_package 两个关键词来管理库的生成,分享及引用。
1. install 安装一个可以分享的库
在cmake脚本中,可以安装很多种类型的文件,通过项目生成规则安装需求的文件或者目录等
install(TARGETS <target>... [...]) # 安装目标文件library or excute
install(IMPORTED_RUNTIME_ARTIFACTS <target>... [...])
install({FILES | PROGRAMS} <file>... [...])
install(DIRECTORY <dir>... [...]) # 安装文件路径 目标路径下的所有文件或者指定类型的文件
install(SCRIPT <file> [...])
install(CODE <code> [...])
install(EXPORT <export-name> [...])
install(PACKAGE_INFO <package-name> [...])
install(RUNTIME_DEPENDENCY_SET <set-name&g