cmake (2)指令说明
生活随笔
收集整理的這篇文章主要介紹了
cmake (2)指令说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 語法規則
- 變量使用${}方式取值,但是在 IF 控制語句中是直接使用變量名
- 指令(參數 1 參數 2…)
- 參數使用括弧括起,參數之間使用空格或分號分開。
eg. 以 ADD_EXECUTABLE 為例,如果存在另外一個 func.c 源文件,可寫成:
ADD_EXECUTABLE(hello main.c func.c)或者
ADD_EXECUTABLE(hello main.c;func.c) - 指令是大小寫無關的,參數和變量是大小寫相關的
1.1 項目名稱PROJECT()
這個指令隱式的定義了兩個 cmake 變量:
_BINARY_DIR 以及_SOURCE_DIR,
PROJECT_BINARY_DIR 和 PROJECT_SOURCE_DIR變量,他們的值分別跟 HELLO_BINARY_DIR 與 HELLO_SOURCE_DIR 一致
eg.
PROJECT(HELLO) #項目名稱 會引入兩個變量: HELLO_BINARY_DIR, HELLO_SOURCE_DIR 同時也會定義兩個等價的變量: PROJECT_BINARY_DIR, PROJECT_SOURCE_DIR因為采用的是內部編譯,兩個變量目前指的都是工程所在路徑/backup/cmake/t1,
1.2. 加入文件 AUX_SOURCE_DIRECTORY()
eg.
#把當前目錄(.)下所有源代碼文件和頭文件加入變量SRC_LIST
AUX_SOURCE_DIRECTORY(. SRC_LIST)
1.3. set 指令用來顯式定義變量
SET 指令的語法是:
SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]])
現階段,你只需要了解 SET。
eg. 我們用到的是 SET(SRC_LIST main.c),如果有多個源文件,也可以定義成:
SET(SRC_LIST main.c t1.c t2.c)
1.4. message
MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR] “message to display”…)
這個指令用于向終端輸出用戶定義的信息,包含了三種類型:
- SEND_ERROR 產生錯誤,生成過程被跳過。
- SATUS 輸出前綴為—的信息
- FATAL_ERROR 立即終止所有 cmake 過程
總結
以上是生活随笔為你收集整理的cmake (2)指令说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: std::get(std::tuple)
- 下一篇: cmake (2)build方面的指令