【CMake】(1)C语言构建工具-快速开始

CMake是一个跨平台的自动化构建系统,它使用一个名为CMakeLists.txt的文件来描述构建过程,可以生成标准的构建文件,如Unix的Makefile或Windows Visual Studio的工程文件。CMake支持多种编程语言,主要是C、C++,但也支持Fortran等。与传统的构建系统相比,CMake的一个主要优势是它能够管理大型项目中复杂的构建过程。

安装CMake

安装CMake的过程会根据你所使用的操作系统而有所不同。以下是针对常见操作系统的CMake安装指南。

Windows

  1. 访问CMake的官方下载页面
  2. 在“Binary distributions”部分找到适用于Windows的安装程序,例如cmake-3.28.3-windows-x86_64.msi(版本号可能不同)。
  3. 下载安装程序后,双击运行。
  4. 跟随安装向导的指示完成安装。在安装过程中,可以选择是否将CMake添加到系统的PATH环境变量中。推荐添加到PATH中,这样可以从任意位置访问CMake命令。

macOS

在macOS上,可以通过Homebrew包管理器来安装CMake。

  1. 打开终端。
  2. 如果尚未安装Homebrew,可以通过在终端中运行以下命令来安装:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  3. 使用Homebrew安装CMake:
    brew install cmake
    

Linux

在基于Debian的Linux发行版(如Ubuntu)上,可以使用apt包管理器安装CMake。

  1. 打开终端。
  2. 首先更新软件包列表:
    sudo apt update
    
  3. 安装CMake:
    sudo apt install cmake
    

对于基于Red Hat的发行版(如Fedora或CentOS),可以使用dnf(或yum,取决于发行版)来安装CMake:

sudo dnf install cmake

或者:

sudo yum install cmake

验证安装

安装完成后,可以在终端或命令提示符中运行以下命令来验证CMake是否正确安装:

cmake --version

如果CMake已正确安装,该命令将输出CMake的版本信息。

注释

单行注释

单行注释以#字符开始,直到该行结束。任何#后面的内容都会被CMake解释器忽略。

# 这是一个单行注释

# 设置最小CMake版本要求
cmake_minimum_required(VERSION 3.10)

# 设置项目名称
project(MyProject)

块注释

CMake 3.0及以上版本支持使用块注释来实现多行注释。块注释以#[[开始,并以]]结束。在这两个标记之间的所有内容都被CMake视为注释,将被忽略。

#[[
这是一个多行注释的例子。
所有这些行都将被CMake忽略。
]]

cmake_minimum_required(VERSION 3.10)
project(MyProject)

# 单行注释还是像以前一样工作
set(CMAKE_CXX_STANDARD 11)

块注释是在CMake 3.0中引入的,所以如果你在使用较旧版本的CMake,这个功能将不可用。

示例

标记TODO和FIXME:使用注释来标记需要进一步工作(TODO)或需要修复的问题(FIXME)。

# TODO: 添加对其他平台的支持
if(WIN32)
  # 特定于Windows平台的设置
endif()

# FIXME: 这里有一个链接问题需要解决
target_link_libraries(MyExecutable SomeLibrary)

快速上手

假设你有一个简单的C语言项目,目录结构如下:

MyProject/
├── CMakeLists.txt
├── add.c  
├── div.c  
├── head.h  
├── main.c  
├── mult.c  
└── sub.c

head.h

#ifndef _HEAD_H
#define _HEAD_H
// 加法
int add(int a, int b);
// 减法
int subtract(int a, int b);
// 乘法
int multiply(int a, int b);
// 除法
double divide(int a, int b);
#endif

add.c

#include <stdio.h>
#include "head.h"

int add(int a, int b)
{
    return a + b;
}

div.c

#include <stdio.h>
#include "head.h"

double divide(int a, int b)
{
    return (double)a / b;
}

mult.c

#include <stdio.h>
#include "head.h"

int multiply(int a, int b)
{
    return a * b;
}

sub.c

#include <stdio.h>
#include "head.h"

int subtract(int a, int b)
{
    return a - b;
}

main.c

#include <stdio.h>
#include "head.h"

int main()
{
    int a = 20;
    int b = 12;
    printf("a = %d, b = %d\n", a, b);
    printf("a + b = %d\n", add(a, b));
    printf("a - b = %d\n", subtract(a, b));
    printf("a * b = %d\n", multiply(a, b));
    printf("a / b = %f\n", divide(a, b));
    return 0;
}

编写CMakeLists.txt

CMakeLists.txt定义了项目的构建规则。

cmake_minimum_required(VERSION 3.10)

# 设置项目名称和版本
project(MyProject VERSION 1.0)

# 指定C标准
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED True)

# 添加可执行文件
add_executable(app main.c add.c div.c mult.c sub.c)

这个文件首先声明了CMake的最低版本要求,然后设置了项目的名称和版本。接着,它设置了C语言的标准,并且指示CMake添加一个可执行文件app,该可执行文件是从main.c源文件构建的,add.cdiv.cmult.csub.cmain.c都将被编译,并且addsubtractmultiplydivide这些函数的定义将被包含在最终的可执行文件中。

构建项目

在项目目录(即CMakeLists.txt所在的目录)中,运行以下命令来构建你的项目:

  1. 创建一个构建目录并进入:
mkdir build
  1. 运行CMake来配置项目并生成Release版本构建系统:
cmake -S . -B build 
  1. 构建项目:
cmake --build build

如果一切顺利,这将在build目录中生成app可执行文件。

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游码客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值