3 CMake 全局变量与编译

本文详细介绍了CMake中的常用变量,如UNIX、WIN32、APPLE等系统标识符,以及CMAKE_SIZEOF_VOID_P、CMAKE_CURRENT_LIST_DIR等环境变量。同时,深入解析了CMake提供的Debug、Release、MinSizeRel、RelWithDebInfo四种构建类型,并展示了如何通过CMAKE_BUILD_TYPE变量指定构建类型。此外,还讲解了如何自定义构建类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:https://blog.youkuaiyun.com/fan_hai_ping/article/details/42524205

 

CMake常用变量

UNIX 如果为真,表示为 UNIX-like 的系统,包括 AppleOS X 和 CygWin

WIN32 如果为真,表示为 Windows 系统,包括 CygWin

APPLE 如果为真,表示为 Apple 系统

CMAKE_SIZEOF_VOID_P 表示 void* 的大小(例如 为 4 或者 8),可以使用其来判断当前构建为 32 位还是 64 位

CMAKE_CURRENT_LIST_DIR 表示正在处理的CMakeLists.txt 文件的所在的目录的绝对路径(2.8.3 以及以后版本才支持)

CMAKE_ARCHIVE_OUTPUT_DIRECTORY 用于设置 ARCHIVE 目标的输出路径

CMAKE_LIBRARY_OUTPUT_DIRECTORY 用于设置 LIBRARY 目标的输出路径

CMAKE_RUNTIME_OUTPUT_DIRECTORY 用于设置 RUNTIME 目标的输出路径

 

构建类型

CMake 为我们提供了四种构建类型:

Debug

Release

MinSizeRel

RelWithDebInfo

CMake 中存在一个变量 CMAKE_BUILD_TYPE 用于指定构建类型,此变量只用于基于 make 的生成器。我们可以这样指定构建类型:

$ CMake -DCMAKE_BUILD_TYPE=Debug .

 

自定义构建类型

使用命令:

$ CMake -DUSETEST=on .

USETEST为我们自定义的宏on为true,off为false

cmakefile中作判断:

if(USETEST)

    add_subdirectory(test)

endif(USETEST)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值