cmake项目安装和打包

install
语法
cmake install 用于把编译好的程序、库、头文件、配置文件等安装到系统的指定目录中
1 2 3 4 5 6 7 8 9 10 11 12 13
| install(TARGETS MyApp RUNTIME DESTINATION bin)
install(TARGETS MyLibrary LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
install(FILES include/MyLibrary.h DESTINATION include)
install(FILES config/myconfig.cfg DESTINATION etc)
|
案例
使用我们之前的LOG静态库,子CMakeLists.txt添加安装
1 2 3 4 5 6 7 8 9
| add_library(MyLOG_LIB STATIC log.cpp)
target_include_directories(MyLOG_LIB PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
install(TARGETS MyLOG_LIB ARCHIVE DESTINATION lib)
|
执行命令
1 2 3 4 5 6 7 8
| cmake -S . -B build
cmake --build build
cmake --install build --prefix /usr
|
最终会被安装到/user/lib

cpack
- 可以直接打包,也可以添加打包信息后打包
- 打包信息(如维护人、版本、证书等)可以直接写在主CMakeLists.txt后面
进入build执行cpack
- 生成了sh和其他类型打包文件
- 以sh为例,运行它会解压在
MyProject-0.1,1-Linux/bin,MyApp就是可执行文件
