CMake是一个跨平台的开源构建工具,它能够自动生成各种平台的构建文件,如Makefiel和Visual Studio项目文件等。从而简化了软件的构建过程。CMake使用一种名为CMakeLists.txt的配置文件来描述项目的构建过程,并且支持复杂项目的结构和依赖管理。
简单的hello工程文件的构建过程:
mkdir hello
cd hello/
touch main.cpp CMakeLists.txt
main.cpp的内容如下:
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << "Hello World CMake!" << std::endl;
return 0;
}
CMakeLists.txt的内容如下:
cmake_minimum_required(VERSION 3.5) #设置CMake的最小版本
project(hello)#设置工程名
add_executable(hello main.cpp)#生成可执行文件
CMake构建包含一个项目名称,上面的project(hello)命令会自动生成一些变量,比如:
PROJECT_NAME 变量表示工程文件名:hello
使用时,${PROJECT_NAME } 就可以引用变量名了;
add_executable()命令指定某些源文件生成可执行文件,本例中是main.cpp。 add_executable()函数的第一个参数是可执行文件名,第二个参数是要编译的源文件列表。
生成与工程同名的二进制文件
cmake_minimum_required(VERSION 3.5) #设置CMake的最小版本
project(hello)#设置工程名
add_executable(${PROJECT_NAME} main.cpp)#生成可执行文件