CMake学习(四) —— 使用变量

CMake同样可以使用变量,比如当依赖文件过多或需要生成的项目繁杂,就可以使用变量统一管理,也便于以后的条件编译。

一、定义变量

CMake 定义变量分显式和隐式两种。
显式定义即使用 set 等语句,可以自定义变量名称。
隐式定义是在使用其他语句时自动创建的变量,如 project 是定义项目名称的,但在定义名称的同时,<projectname>_BINARY_DIR 和 <projectname>_SOURCE_DIR 两个变量就被隐式定义了。
例如:
只执行下面语句

project(test_4)

test_4_BINARY_DIR 和 test_4_SOURCE_DIR 两个变量就被隐式定义了。

set语句语法

set(<variable> <value>...

如:

set(USER_KEY "Hello World")

可以为一个变量赋多值:

set(USER_KEY 
	"Hello World"
	"Hello CMake"
	)

二、引用变量

使用 ${variable} 进行变量的引用。在 if 等语句中,直接使用变量名而不通过 ${variable} 取值。
例如 CMake学习(一)中CMakeLists.txt内容:

# CMakeLists.txt
# CMake最低版本要求
cmake_minimum_required(VERSION 3.5)

# 项目名称
project(test_1)

# 生成可执行文件,test_1是可执行文件的名字,hello.c是源文件名称,如有其他源文件,可在后面添加
add_executable(test_1 hello.c) 

可以修改为:

# CMakeLists.txt
# CMake最低版本要求
cmake_minimum_required(VERSION 3.5)

# 项目名称
project(test_1)

set(SOURCE hello.c)

# 生成可执行文件,test_1是可执行文件的名字,hello.c是源文件名称,如有其他源文件,可在后面添加
add_executable(test_1 ${SOURCE}) 

参考:
https://www.cnblogs.com/linuxAndMcu/p/10670591.html
https://cmake.org/cmake/help/v3.14/command/set.html
https://blog.csdn.net/LaineGates/article/details/89847726

发布了72 篇原创文章 · 获赞 87 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/maizousidemao/article/details/104096417
今日推荐