找回密码
 立即注册
查看: 267|回复: 0

CMake 变量

[复制链接]
发表于 2022-1-6 17:33 | 显示全部楼层 |阅读模式
概 述


CMake中经常使用set()命令来设置一些CMake变量,本文介绍一些常用变量的含义。
变量含义


1. CMAKE_CXX_STANDARD
设置C++标准
set(CMAKE_CXX_STANDARD 11) # set(CMAKE_CXX_STANDARD 14) # set(CMAKE_CXX_STANDARD 17)
2. CMAKE_UNITY_BUILD
设置开启元编译,于CMAKE_UNITY_BUILD_BATCH_SIZE配合使用,用于加速项目编译速度,参考。
# 全局设置 set(CMAKE_UNITY_BUILD ON) # 设置元编译的batch大小 set(CMAKE_UNITY_BUILD_BATCH_SIZE 16)   # 单个目标 set_target_properties(<target> PROPERTIES UNITY_BUILD ON)
3. CMAKE_BUILD_TYPE
设置单个配置生成器上的编译类型,例如Makefile等
# set(CMAKE_BUILD_TYPE "Debug") set(CMAKE_BUILD_TYPE "Release")
4. CMAKE_CONFIGURATION_TYPES
设置多配置生成器上的可用编译类型,例如Visual Studio、Xcode等
set(CMAKE_CONFIGURATION_TYPES "Release;Debug" CACHE STRING "" FORCE)
5. CMAKE_<LANG>_FLAGS
设置对应语言的编译选项,以C++为例,
    CMAKE_CXX_FLAGS:设置C++编译选项 CMAKE_CXX_FLAGS_DEBUG:设置C++ Debug 编译选项 CMAKE_CXX_FLAGS_RELEASE:设置C++ Relese 编译选项

6. BUILD_USE_64BITS
设置使用64位编译
set(BUILD_USE_64BITS ON)
7. BUILD_SHARED_LIBS
设置是否生成动态库,默认是开启状态,根据add_library()生成对应的动态库
# set(BUILD_SHARED_LIBS ON) set(BUILD_SHARED_LIBS OFF)
8. CMAKE_*_OUTPUT_DIRECTORY
设置输出目录
# 全局设置 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)  # 单个目标 set_target_properties( targets...     PROPERTIES     ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"     LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"     RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" )
9. CMAKE_<CONFIG>_POSTFIX
设置文件后缀
# 全局设置 set(CMAKE_DEBUG_POSTFIX "_debug") set(CMAKE_RELEASE_POSTFIX "_release")  # 单个目标 set_target_properties( targets...     PROPERTIES     DEBUG_POSTFIX "_debug"     RELEASE_POSTFIX "_release" )
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-30 16:49 , Processed in 0.088147 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表