cmakelist 编写简介

记录工作实践

一、简介

系统: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 的官方文档来获取更全面的信息。

持续更新完善中......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值