总结CMake设置编译选项

添加编译选项

在cmake脚本中,设置编译选项可以通过add_compile_options命令,也可以通过set命令修改CMAKE_CXX_FLAGS或CMAKE_C_FLAGS。

使用这两种方式在有的情况下效果是一样的,但请注意它们还是有区别的:

  1. ADD_COMPILE_OPTIONS命令添加的编译选项是针对所有编译器的(包括C和C++编译器)
  2. set命令设置CMAKE_C_FLAGS或CMAKE_CXX_FLAGS变量则是分别只针对C和C++编译器的。

    #判断编译器类型,如果是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)

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

CMake变量的使用

变量的定义和引用

  1. 使用 ${} 进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过 ${} 取值;
  2. 环境变量:
    • 使用 $ENV{NAME} 指令就可以调用系统的环境变量了;
    • 设置环境变量的方式是:SET(ENV{变量名} 值)。

构建级别

Make具有许多内置的构建配置,可用于编译工程。 这些配置指定了代码优化的级别,以及调试信息是否包含在二进制文件中。

这些优化级别,主要有:

Release —— 不可以打断点调试,程序开发完成后发行使用的版本,占的体积小。 它对代码做了优化,因此速度会非常快,
在编译器中使用命令: -O3 -DNDEBUG 可选择此版本。
Debug ——调试的版本,体积大。
在编译器中使用命令: -g 可选择此版本。
MinSizeRel—— 最小体积版本
在编译器中使用命令:-Os -DNDEBUG可选择此版本。
RelWithDebInfo—— 既优化又能调试。
在编译器中使用命令:-O2 -g -DNDEBUG可选择此版本。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值