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

986 阅读1分钟

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} 进行变量的引用。在 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}) 

转自:
blog.csdn.net/maizousidem…