目录
1 CMake简介
2 CMake安装
3 CMake基本使用
3.1 实验源文件
3.2 实验CMakeLists.txt
3.2.1 CMakeList.txt命令概述
3.2.2 add_executable命令
3.2.3 cmake_minimum_required命令
3.2.4 project命令
3.3 生成构建脚本
3.4 构建程序
1 CMake简介
1、CMake是一个开源的跨平台工具
2、CMake可以用于构建、测试以及打包软件
3、CMake并不直接构建出最终的程序,而是产生标准的构建脚本(e.g、Linux中的Makefile),之后再以一般的构建方式使用(e.g、Linux中的make)
2 CMake安装
CMake官网:https://cmake.org/
1、CMake以源码以及二进制文件的方式发布,可以根据需求与不同平台选择适合的版本
2、对于Ubuntu操作系统,可以使用如下命令安装CMake
sudo apt-get install cmake
说明:安装完成后,可以使用如下命令查看安装的CMake版本
cmake --version
对应版本的简要教程:CMake Tutorial ‒ CMake 3.16.9 documentation
3 CMake基本使用 3.1 实验源文件
在tutorial目录中创建tutorial.cxx源文件,内容如下,
实验程序从命令行获取参数,并计算该参数的平方根
3.2 实验CMakeLists.txt
在tutorial目录中创建CMakeLists.txt文件,该文件用于指导CMake工具生成构建脚本,内容如下,
3.2.1 CMakeList.txt命令概述
CMakeList.txt中使用的命令可分为,
1、脚本命令(scripting Commands)
2、工程命令(Project Commands)
参考资料:cmake-commands(7) ‒ CMake 3.16.9 documentation
3.2.2 add_executable命令
1、add_executable命令属于project commands,格式如下,
add_executable(
2、add_executable命令用于向工程中添加可执行文件,以及编译该可执行文件所需的源文件列表。其中可执行文件的文件名为
3、默认情况下,可执行文件在构建程序的目录下生成,可以设置RUNTIME_OUTPUT_DIRECTORY属性指定生成的目录
说明1:如果工程中使用target_sources命令指定源文件,则在add_executable命令中可以省略源文件列表
说明2:如果使用EXCLUDE_FROM_ALL标志,则是从所有源文件中排除指定的文件
3.2.3 cmake_minimum_required命令
1、cmake_minimun_required命令属于scripting commands,格式如下,
cmake_minimum_required(VERSION
2、cmake_minimun_required命令用于指定cmake工具所需的最低版本
3.2.4 project命令
1 project命令属于project commands,格式如下,
project(
2、project命令用于设置功能的名字,该名字会设置PROJECT_NAME属性与CMAKE_PROJECT_NAME属性
3、在设置工程名字的同时,还可以设置工程的版本号和描述信息
3.3 生成构建脚本
在tutorial目录下创建build目录,
在build目录下执行如下命令生成构建脚本,
cmake .、# CMakeLists.txt位于上级目录
可见会在build目录下生成构建脚本,
3.4 构建程序
在build目录下执行make命令,即可进行程序的构建
最终编译出的可执行文件运行效果如下,