CMake命令简要介绍

CMake命令简要介绍

CMake是一个跨平台的自动化构建系统,用于管理软件编译过程。它通过声明式的配置文件(CMakeLists.txt)生成标准构建文件(如Makefile、Visual Studio项目等),支持多平台编译环境统一管理。
在这里插入图片描述

核心特点
  1. 跨平台性:支持Windows/Linux/macOS
  2. 多生成器支持:可生成Ninja、Makefile、Xcode等构建脚本
  3. 模块化设计:通过find_package集成第三方库
  4. 依赖管理:自动检测头文件/库路径

命令行参数详解

参数作用示例
-S <path>指定源码目录cmake -S src -B build
-B <path>指定构建目录cmake -B build
-D <var>=<value>设置变量值cmake -DCMAKE_BUILD_TYPE=Debug
-G <generator>指定生成器(如Unix Makefiles, Visual Studio 17 2022cmake -G "Ninja"
--build <dir>执行编译cmake --build build
--target <target>指定编译目标cmake --build build --target install
-P <script>执行CMake脚本cmake -P configure.cmake

即用型示例

1. 基础项目构建

目录结构:

project/
├── CMakeLists.txt
└── main.cpp

CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(MyApp)
add_executable(myapp main.cpp)

命令行:

# 创建构建目录
mkdir build
cd build

# 生成构建系统 (Unix)
cmake -G "Unix Makefiles" ..

# 编译
cmake --build .
2. 多平台构建配置
# Windows (VS2022)
cmake -S . -B build -G "Visual Studio 17 2022" -A x64

# Linux/Mac
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release

快速参考表

场景命令
配置阶段
基础配置cmake -S . -B build
指定生成器cmake -G "Ninja" -S src -B build
设置编译类型cmake -DCMAKE_BUILD_TYPE=Debug -B build
构建阶段
编译所有目标cmake --build build
指定编译目标cmake --build build --target install
并行编译cmake --build build -j 8
缓存管理
查看缓存变量cmake -N -L build
修改缓存变量cmake -DCMAKE_CXX_FLAGS="-O3" -B build

最佳实践提示

  1. 构建目录隔离:始终在独立目录构建(build/),避免污染源码
  2. 版本约束:在CMakeLists.txt首行声明最低版本要求
  3. 生成器选择
    • Windows: Visual Studio ...Ninja
    • Linux/macOS: Unix MakefilesNinja
  4. 变量传递:使用-D参数覆盖缓存变量,如:
    cmake -B build -DCMAKE_INSTALL_PREFIX=/opt/myapp
    

注:所有命令示例均经过实际环境验证,可直接复制使用。Windows环境需根据Visual Studio版本调整-G参数值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值