一、在CentOS7系统上安装cmake


软件目录:https://cmake.org/files/v3.12/,下载cmake-3.12.3.tar.gz

安装命令:./configure --prefix=$INSTALL_DIR; make; make install

 

 

二、使用cmake进行简单编译


依次执行教程,即可实现使用cmake在linux上编译c程序

流程总结:

   1、创建CMakeLists.txt(类似于cmake的configure文件)

   2、创建源程序文件hello.c(源代码文件)

   3、创建build安装目录(cmake工作目录/构建目录/安装目录)

   4、运行cmake编译命令(进入build,运行cmake ..(CMakeLists.txt和源程序所在目录))

   5、使用make命令进行编译(cmake类似于configure,最后需要进行make编译)

   6、运行可执行程序hello(可执行文件)

 

鸣谢:为什么要使用cmake;比较Make和CMake

优势小结:

   1、能够自动搜索正在构建的软件所需的程序、库和头文件

   2、在源文件树之外的目录树中构建的能力

   3、能够为自动生成的文件创建复杂的自定义命令

   4、在配置时能够选择可选组件

   5、能够从简单的文本文件中自动生成工作区和项目

   6、能够轻松地在静态和共享构建之间切换

   7、自动生成文件依赖关系,并支持大多数平台上的并行构建

   8、make是构建系统;cmake是构建系统的生成器

   9、cmake优势:跨平台编译;自动发现库和配置;不仅支持make而且支持Xcode,Eclipse,Visual Studio等

 

 

三、附录:tree命令行使用


安装:yum install tree (安装一个linux小命令);alias tree="tree -LC"

使用:tree 1树状彩色显示一层目录,tree 2树状彩色显示两层目录

 

tree命令行参数:

 -a 显示所有文件和目录。

 -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。

 -C 在文件和目录清单加上色彩,便于区分各种类型。

 -d 显示目录名称而非内容。

 -D 列出文件或目录的更改时间。

 -f 在每个文件或目录之前,显示完整的相对路径名称。

 -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。

 -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。

 -i 不以阶梯状列出文件或目录名称。

 -I 不显示符合范本样式的文件或目录名称。

 -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。

 -n 不在文件和目录清单加上色彩。

 -N 直接列出文件和目录名称,包括控制字符。

 -p 列出权限标示。

 -P 只显示符合范本样式的文件或目录名称。

 -q 用"?"号取代控制字符,列出文件和目录名称。

 -s 列出文件或目录大小。

 -t 用文件和目录的更改时间排序。

 -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。

 -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。