CMake學習 四 使用變數

2021-10-02 09:49:51 字數 1340 閱讀 4317

cmake同樣可以使用變數,比如當依賴檔案過多或需要生成的專案繁雜,就可以使用變數統一管理,也便於以後的條件編譯。

一、定義變數

cmake 定義變數分顯式和隱式兩種。

顯式定義即使用 set 等語句,可以自定義變數名稱。

隱式定義是在使用其他語句時自動建立的變數,如 project 是定義專案名稱的,但在定義名稱的同時,_binary_dir 和 _source_dir 兩個變數就被隱式定義了。

例如:只執行下面語句

project

(test_4)

test_4_binary_dir 和 test_4_source_dir 兩個變數就被隱式定義了。

set語句語法

set(..

.)

如:

set

(user_key "hello world"

)

可以為乙個變數賦多值:

set

(user_key

"hello world"

"hello cmake"

)

二、引用變數

使用 $ 進行變數的引用。在 if 等語句中,直接使用變數名而不通過 $ 取值。

例如 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 $

)

參考:

cmake 學習筆記 四

接前面的一二三,學習一下 cmakecache.txt 相關的東西。可以將其想象成乙個配置檔案 在unix環境下,我們可以認為它等價於傳遞給configure的引數 cmake 第一次執行時將生成 cmakecache.txt 檔案,我們可以通過ccmake或cmake gui或make edit ...

cmake 學習筆記 四

接前面的一二三,學習一下 cmakecache.txt 相關的東西。可以將其想象成乙個配置檔案 在unix環境下,我們可以認為它等價於傳遞給configure的引數 cmake 第一次執行時將生成 cmakecache.txt 檔案,我們可以通過ccmake或cmake gui或make edit ...

學習CMake使用

mkdir buidl cd build cmake make 編寫cmakelists.txt cmake minimum required version 2.8 project demo 可執行檔案的名稱 add executable main main.c 在前面cmakelists.txt...