CMakeLists.txt中常用到的变量

144 篇文章 6 订阅

最近在写CMakeLists遇到了很多预定义变量,特此记录便于日后查阅。

文件结构如下:

  

常用路径变量

PROJECT_NAME:通过PROJECT指定的项目名称

    project(Demo)

PROJECT_SOURCE_DIR:工程的根目录,上图中的Demo目录

PROJECT_BINARY_DIR:执行cmake命令的目录,一般是在build目录,在此目录执行cmake ..

CMAKE_CURRENT_SOURCE_DIR: 当前CMakeLists.txt文件所在目录

CMAKE_CURRENT_BINARY_DIR: target编译目录,可使用ADD_SUBDIRECTORY来修改此变量

 
  1. # 添加cmake执行子目录

  2. ADD_SUBDIRECTORY(example)

EXECUTABLE_OUTPUT_PATH:重新定义目标链接库文件的输出位置

 
  1. # 设置可执行文件的输出路径为 build/bin

  2. set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)

LIBRARY_OUTPUT_PATH:库文件输出位置

    set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

常用系统信息变量

CMAKE_MAJOR_VERSION:cmake的主版本号cmake version 3.11.2中的3

CMAKE_MINOR_VERSION:cmake的次版本号cmake version 3.11.2中的11

CMAKE_PATCH_VERSION:cmake的补丁等级cmake version 3.11.2中的2

  在这里插入图片描述

CMAKE_SYSTEM:系统名称,带版本号

CMAKE_SYSTEM_NAME:系统名称,不带版本号

CMAKE_SYSTEM_VERSION:系统版本号

CMAKE_SYSTEM_PROCESSOR:处理器名称

编译选项:

BUILD_SHARED_LIBS:默认的库编译方式(shared or static),默认为static,一般在ADD_LIBRARY时直接指定编译库的类型

CMAKE_C_FLAGS:设置C编译选项

CMAKE_CXX_FLAGS:设置C++编译选项

CMAKE_CXX_FLAGS_DEBUG:设置编译类型为Debug时的编译选项

CMAKE_CXX_FLAGS_RELEASE:设置编译类型为Release时的编译选项

CMAKE_CXX_COMPILER:设置C++编译器

 
  1. # 设置C++编译器为g++

  2. set(CMAKE_CXX_COMPILER "g++")

  3. # 设置标准库版本为c++17 并开启警告

  4. set(CMAKE_CXX_FLAGS "-std=c++17 -Wall")

  5. # 设置Debug模式下,不开启优化,开启调试,生成更详细的gdb调试信息

  6. set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb")

  7. # 设置Release模式下,开启最高级优化

  8. set(CMAKE_CXX_FLAGS_RELEASE "-O3")

到此 CMakeLists 中常用的预定义变量介绍完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值