基本语法

CMake 教程 · 第 3 章 · 7 次浏览

CMakeLists.txt 的核心命令就十几个:定义项目、生成目标、设编译选项、加头文件目录、链接库。

核心命令

  • cmake_minimum_required:版本要求
  • project():项目名 + 语言
  • add_executable / add_library:生成目标
  • target_include_directories:头文件路径
  • target_link_libraries:链接库
  • set():设置变量
  • add_subdirectory:包含子目录

变量

${变量名} 引用。CMAKE_BUILD_TYPE 构建类型(Release/Debug)、CMAKE_CXX_STANDARD C++ 标准。

代码示例

# CMakeLists.txt 完整示例
cmake_minimum_required(VERSION 3.10)
project(MyApp CXX)

# C++17 标准
set(CMAKE_CXX_STANDARD 17)

# 生成可执行文件
add_executable(app
    src/main.cpp
    src/utils.cpp
)

# 头文件目录
target_include_directories(app PRIVATE include)

# 编译选项
target_compile_options(app PRIVATE -Wall -Wextra)

# 链接库
target_link_libraries(app PRIVATE m)