记录工作实践
一、简介
系统:ubunut20.04
CMake 是一个跨平台的自动化构建系统,它使用 CMakeLists.txt
文件描述构建过程。以下是一些常用的 CMake 命令,这些命令在 CMakeLists.txt
文件中使用:
cmake 指令本身不区分大小写,cmake中使用的变量需要区分大小写
二、基本项目设置
cmake_minimum_required(VERSION min_version)
: 指定项目需要的最低 CMake 版本。project(ProjectName VERSION major.minor[.patch[.tweak]] [LANGUAGES CXX C ...])
: 定义项目名称和支持的编程语言。- 例如
三、变量和路径设置
set(VARIABLE value)
: 设置一个变量。include_directories(dir1 dir2 ...)
: 添加头文件搜索路径。
四、编译器选项
add_definitions(-DDEF)
: 添加预处理器定义。add_compile_options(options ...)
: 添加编译选项。
五、构建目标
add_executable(TargetName source1 source2 ...)
: 从指定源文件创建一个可执行文件。add_library(TargetName [STATIC|SHARED|MODULE] source1 source2 ...)
: 创建一个库(静态库、动态库或模块库)。target_link_libraries(TargetName lib1 lib2 ...)
: 链接库到目标。target_include_directories(TargetName [PRIVATE|PUBLIC|INTERFACE] dir1 dir2 ...)
: 为目标添加头文件搜索路径。
六、构建属性
set_target_properties(target PROPERTIES prop1 value1 prop2 value2 ...)
: 设置目标属性。set_property(TARGET TargetName PROPERTY PROPNAME value)
: 设置单个属性。
七、查找包和库
find_package(PackageName [version] [REQUIRED])
: 查找并加载外部项目。find_library(VARIABLE name1 path1 path2 ...)
: 查找并设置库文件路径到变量。
八、包含其他 CMake 文件
include(FileName)
: 包含并运行 CMake 脚本。add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])
: 添加子目录到构建。
九、安装设置
install(TARGETS targets... [RUNTIME|LIBRARY|ARCHIVE] DESTINATION dir)
: 安装目标文件。install(FILES files... DESTINATION dir)
: 安装普通文件。install(DIRECTORY dirs... DESTINATION dir)
: 安装目录。
以上是 CMake 中的一些常见命令,实际上 CMake 命令及其选项非常丰富,可以通过阅读 CMake 的官方文档来获取更全面的信息。
持续更新完善中......