cmake使用教程(五)-cpack生成安装包,从理论到实践

├── CPackConfig.cmake
├── CPackSourceConfig.cmake
├── CTestTestfile.cmake
├── Makefile
├── MathFunctions
├── TutorialConfig.h
└── cmake_install.cmake


注意其中两个生成的文件`CPackConfig.cmake`,`CPackSourceConfig.cmake`,一会又大用处。

下一步是按照一般的方式构建项目,然后在其上运行CPack。要构建一个二进制版本,可以运行:

cpack --config CPackConfig.cmake


下边是日志:

CPack: Create package using STGZ
CPack: Install projects
CPack: - Run preinstall target for: Tutorial
CPack: - Install project: Tutorial
CPack: Create package
CPack: - package: /Users/saka/Desktop/Tutorial/Step6/build/Tutorial-1.0.1-Darwin.sh generated.
CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: Tutorial
CPack: - Install project: Tutorial
CPack: Create package
CPack: - package: /Users/saka/Desktop/Tutorial/Step6/build/Tutorial-1.0.1-Darwin.tar.gz generated.


从日志可以看到生成了两个打包的文件`Tutorial-1.0.1-Darwin.sh`,`Tutorial-1.0.1-Darwin.tar.gz`。查看一下目录:

 ~/Desktop/Tutorial/Step6/build/ tree -L 1
.
├── CMakeCache.txt
├── CMakeFiles
├── CPackConfig.cmake
├── CPackSourceConfig.cmake
├── CTestTestfile.cmake
├── Makefile
├── MathFunctions
├── Tutorial
├── Tutorial-1.0.1-Darwin.sh
├── Tutorial-1.0.1-Darwin.tar.gz
├── TutorialConfig.h
├── _CPack_Packages
├── cmake_install.cmake
└── install_manifest.txt


查看一下压缩包内的文件:

 ~/Desktop/Tutorial/Step6/build/ tar -tf Tutorial-1.0.1-Darwin.tar.gz
Tutorial-1.0.1-Darwin/bin/
Tutorial-1.0.1-Darwin/bin/Tutorial
Tutorial-1.0.1-Darwin/bin/libMathFunctions.a
Tutorial-1.0.1-Darwin/include/
Tutorial-1.0.1-Darwin/include/MathFunctions.h
Tutorial-1.0.1-Darwin/include/TutorialConfig.h


这个是已经编译好的问答压缩而成的,解压后可以直接运行。

要构建一个源代码版本,可以运行:

cpack --config CPackSourceConfig.cmake


日志输出基本同上,只是包内的文件不一样:

 ~/Desktop/Tutorial/Step6/build/ tar -tf Tutorial-1.0.1-Source.tar.gz
Tutorial-1.0.1-Source/CMakeLists.txt
Tutorial-1.0.1-Source/TutorialConfig.h.in
Tutorial-1.0.1-Source/tutorial.cxx
Tutorial-1.0.1-Source/MathFunctions/

尾声

一转眼时间真的过的飞快。我们各奔东西,也各自踏上了自己的旅途,但是即使多年不见,也因为这份情谊我们依旧如从前那般“亲密”。不忘初心方得始终。加油吧,程序员们,在我看来35岁,40岁从来不是危机,只要永远不要忘记自己为何踏上征程!

CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》

为了让更多在学习中或者最近要准备面试的朋友们看到这篇文章,希望你们能多多评论,点赞+转发!

再次感谢所有给我提供过题目的朋友们,感谢一路有你!

你可能感兴趣的:(Android,android,面试,移动开发)