环境:vm14、ubuntu18.04、cmake3.15.7
-
一个相对完整的工程,如T2工程。路径为:
/home/zaozao/cmake practice/T2
注:要安装的工程为:/home/zaozao/cmake practice/T2、及其中的内容。
要将工程安装在的路径为:/tem/t2 -
T2中首先应新建CMakeLists.txt文件,新建src(放工程源代码(此处为main.c))、doc子目录(存放该工程的说明文档,此处为hello.txt),新建文本文件COPYRIGHT、README,新建一个runxx.sh脚本(此处为runhello.sh)(用来调用可执行二进制,此处为hello)。
新建外部编译文件build。
注:(此例不需要看)如果不需要安装,那么一个工程如T0工程:
T0工程的内容:CMakeLists.txt和main.cpp,一个build文件。内容如下:
再进入build
cmake ..
make
在build中生成了可执行的hello。
- 安装这些文件:
本例的安装要求:
1)将hello二进制和runhello安装至/tem/t2/usr/bin(该tem目录下没有这些文件,不用管,后面会有)。
2)将doc目录的内容及COPYRIGHT、README安装到
/tem/t2/usr/share/doc/cmake/t2中。
- 安装步骤:
1)进入src目录,新建main.c文件,并进入:
代码:
2)为src子目录新建CMakeLists.txt文件,
并进入:
代码如下:
3)将T2工程的CMakeLists.txt并进入:
代码如下:
语法解释:
注:
4)进入build目录,打开终端,进行外部编译:
cmake ..
make
此时,目标文件在build的bin目录。
5)安装:
先来了解以下基础知识:INSTALL指令:
1)
2)
3)
4)
我们的安装步骤:
1)在doc目录下,编辑hello.txt说明文档。内容随意。
2)runhello.sh内容为hello。
3)
4,安装hello可执行二进制文件至/tem/t2/usr/bin:
在T2工程文件的CMakeLists.txt中添加:
INSTALL(TARGETS hello
RUNTIME DESTINATION bin)
注:这些DESTINATION的绝对路径都是/tem/t2下的相对路径。
4)
至此,已安装完成:/tem/t2目录下的安装结果: