ps:由于工作需求,需要涉及到跨平台。
概念
Cmake是一个款平台的构建工具,可以自动生成各种不同平台和编译器的构建脚本,使得项目在不同平台和编译器下都能够正常构建和运行。
- CMake有自己的一套语法,需要学习CMake的命令和变量等基本语法。
- CMakeLists.txt文件结构:CMake的配置文件是CMakeLists.txt文件,需要了解CMakeLists.txt文件的基本结构,如如何定义变量、如何定义可执行文件和库文件等。
- 编译选项:CMake支持各种编译选项,如编译器选项、链接选项等,需要了解这些编译选项的作用和使用方法。
- 多目录管理:CMake可以管理多个目录下的源文件和头文件,需要学习如何在CMake中定义子目录和管理多个目录下的源文件和头文件。
- 第三方库的使用:CMake可以很方便地管理和使用第三方库,需要学习如何在CMake中添加和使用第三方库。
实例(以macos为例和linux一样)
1、创建一个新的目录作为项目的根目录:newCMake
mkdir newCMake
cd newCMake
2、在项目跟目录下创建一个CMakeLists.txt
文件,这是CMake的配置文件,用于描述项目的构建过程。
vim CMakeLists.txt
3、在项目跟目录下创建一个src
目录,用于存放源代码文件。
mkdir src
cd src
4、在src
目录下添加源代码文件:main.cpp
vim main.cpp
#include<iostream>
using namespace std;
int main()
{
cout<<"newCMake"<<endl;
}
5、在CMakeLists.txt
文件中添加项目的配置信息:
cmake_minimum_required(VERSION 1.0)
project(newCMake)
add_executable(newCMake src/main.cpp)
在这个配置文件中,我们指定了项目的最低版本号为1.0
,以及项目的名称newCMake
。然后我们使用 add_executable 命令添加一个可执行文件,指定该文件的名称为 newCMake
,源代码文件为 src/main.cpp
。
6、在项目根目录下创建一个build
子目录,用于存放构建生成的中间文件。
mkdir build
cd build
7、在build
目录下运行cmake ..
命令,指定上一步创建的newCMake
目录作为源代码目录。
cmake ..
8、运行make
命令进行项目的构建
cmake
这样就可以构建项目,并生成可执行文件 newCMake
。