【Modern CMake】基础知识介绍

https://modern-cmake-cn.github.io/Modern-CMake-zh_CN/chapters/basics/example.html

变量与缓存

# 本地变量
set(MY_VARIABLE "value")		# 声明便令

set(MY_LIST "one" "two")		# 声明列表
set(MY_LIST "one;two")

# 缓存变量
#在 CMake 中,如果一个变量被标记为「缓存」,则 cmake 的时候会将其写入到 #CMakeCache.txt 文件中。当 cmake 命令寻找变量时,它会首先去 CMakeCache.txt 文件中寻找。
set(MY_CACHE_VARIABLE "VALUE" CACHE STRING "Description")       # 不会覆盖已存在的变量
set(MY_CACHE_VARIABLE "VALUE" CACHE STRING "Description" FORCE) # 会覆盖已存在的变量

# 命令行参数变量
option(MY_OPTION "This is settable from the command line" OFF)  # 此处假定 MY_OPTION 为 bool 值

# 环境变量
set(ENV{variable_name} value)		# 设定环境便令
$ENV{variable_name}					# 获取环境变量
# https://blog.csdn.net/fengyuyeguirenenen/article/details/129332955
CMake内置变量与系统变量对应关系
-------
变量名称	| CMake变量 |	系统变量
--------|----------|----
C编译器|	CMAKE_C_COMPILER | CC
C++编译器 |	CMAKE_CXX_COMPILER |	CXX
生成器	|-G "*******"	|CMAKE_GENERATOR(CMAKE 3.15+才支持)
C编译选项 |	CMAKE_C_FLAGS |	CFLAGS
C++编译选项	| CMAKE_CXX_FLAGS |	CXXFLAGS
# 属性
set_property(TARGET TargetName
             PROPERTY CXX_STANDARD 11)	# 设置属性

set_target_properties(TargetName PROPERTIES
                      CXX_STANDARD 11)	# 设置属性
get_property(ResultVariable TARGET TargetName PROPERTY CXX_STANDARD)	# 获取属性

# 缓存


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值