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 篇原創文章 · 獲贊 91 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章