CMake简介
CMake是一个开源的跨平台自动化构建系统,它被广泛应用于软件项目的管理和自动化编译过程中。CMake不直接构建项目,而是生成特定平台的构建系统(如Unix下的Makefile,Windows下的Visual Studio工程),然后通过这些构建系统来进行编译和链接。
安装CMake
在Ubuntu系统下,可以使用以下命令安装CMake:
sudo apt update
sudo apt install cmake
编写CMakeLists.txt
CMakeLists.txt文件定义了项目的构建逻辑。以下是CMakeLists.txt文件的基本结构:
cmake_minimum_required(VERSION 3.10)
project(HelloCMake)
add_executable(hello main.cpp)
target_link_libraries(hello PROJECTNAME)
在这个例子中,我们创建了一个名为hello
的可执行文件,它由main.cpp
源文件组成。
创建构建目录
在项目根目录下创建一个名为build
的目录:
mkdir build
cd build
运行CMake
在构建目录下运行以下命令生成构建文件:
cmake ..
编译项目
使用以下命令编译项目:
make
编译完成后,可以在构建目录下找到生成的可执行文件。
CMake常用命令
以下是一些CMake中常用的命令:
cmake_minimum_required(VERSION x.y)
: 指定CMake的最小版本要求。project(PROJECTNAME)
: 定义项目的名称。add_executable(TARGET_NAME source1 source2 ...)
: 创建一个可执行文件。add_library(TARGET_NAME SHARED source1 source2 ...)
: 创建一个共享库。target_link_libraries(TARGET_NAME lib1 lib2 ...)
: 将库链接到目标上。
实战案例:计算器程序
以下是一个简单的计算器程序示例,演示如何使用CMake构建:
// calculator.cpp
#include <iostream>
using namespace std;
int add(int a, int b) {
return a + b;
}
int main() {
int x, y;
cout << "Enter two numbers: ";
cin >> x >> y;
cout << "Sum = " << add(x, y) << endl;
return 0;
}
创建一个名为CMakeLists.txt
的文件,并添加以下内容:
cmake_minimum_required(VERSION 3.10)
project(calculator)
add_executable(calculator calculator.cpp)
按照前面的步骤编译项目,即可生成计算器程序。
总结
通过本文的学习,你应当已经掌握了CMake的基本使用方法,包括安装、编写CMakeLists.txt、创建构建目录、运行CMake和编译项目。CMake是一个非常强大的工具,可以帮助你轻松地管理跨平台的软件项目。