Cmake常用命令(五)

本文主要介绍CMAKE_BUILD_TYPE及其相关参数

CMAKE_BUILD_TYPE

可选值包括

  1. Debug:用于在没有优化的情况下,使用带有调试符号构建库或可执行文件
  2. Release:用于构建的优化的库或可执行文件,不包含调试符号
  3. RelWithDebInfo:由于构建较少的优化库或可执行文件,包含调试符号
  4. MinSizeRel:用于不增加目标代码大小的优化方式,来构建或可执行文件

使用方法

set(CMAKE_BUILD_TYPE "Debug") # CMakeLists.txt中指定

或者

cmake .. -D CMAKE_BUILD_TYPE="Debug" # 生成命令时指定

示例

	set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb") # 启用GDB
	set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall") # 启用优化(1~3)

不同的type对应的编译选项

Type

编译选项

Debug

CMAKE_CXX_FLAGS_DEBUG

Release

CMAKE_CXX_FLAGS_RELEASE

RelWithDebInfo

CMAKE_CXX_FLAGS_RELWITHDEBINFO

MinSizeRel

CMAKE_CXX_FLAGS_MINSIZEREL

  1. CMAKE_CXX_FLAGS是共用的参数,总的编译参数为CMAKE_CXX_FLAGS + 某一个CMAKE_CXX_FLAGS_XXX

     2、除了CMAKE_CXX_FLAGS变量,还可以使用add_compile_options来添加编译选项

#判断编译器类型,如果是gcc编译器,则在编译选项中加入c++11支持
if(CMAKE_COMPILER_IS_GNUCXX)
    add_compile_options(-std=c++11)
    message(STATUS "optional:-std=c++11")   
endif(CMAKE_COMPILER_IS_GNUCXX)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值