目錄
- 1.CMake簡介
- 2.大小寫?
- 3.注釋
- 1.注釋行
- 2.注釋塊
- 4.日志
1.CMake簡介
-
CMake是一個項目構建工具,并且是跨平臺的
-
問題 – 解決
- 如果自己動手寫Makefile,會發現,Makefile通常依賴于當前的編譯平臺,而且編寫Makefile的工作量比較大,解決依賴關系時也容易出錯
- 而CMake恰好能解決上述問題, 其允許開發者指定整個工程的編譯流程,再根據編譯平臺,自動生成本地化的Makefile和工程文件,最后用戶只需
make
編譯即可
-
可以把CMake看成一款自動生成Makefile的工具,其編譯流程如下圖
-
CMake優點總結:
- 跨平臺
- 能夠管理大型項目
- 簡化編譯構建過程和編譯過程
- 可擴展:可以為CMake編寫特定功能的模塊,擴充CMake功能
2.大小寫?
- CMake支持大寫、小寫、混合大小寫的命令
- 如果在編寫
CMakeLists.txt
文件時使用的工具有對應的命令提示,那么大小寫隨緣即可,不用太過在意
3.注釋
1.注釋行
- CMake使用
#
進行行注釋,可以放在任何位置# 這是一個CMakeLists.txt文件
2.注釋塊
- CMake使用
#[[]]
進行塊注釋#[[這是一個CMakeLists.txt文件 Die SnowK]]
4.日志
- 在CMake中可以用命令顯示一條消息,該命令的名字為
message
- 語法:
message([STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...)
- 狀態參數:
(無)
:重要消息STATUS
:非重要消息WARNING
:CMake警告,會繼續執行AUTHOR_WARNING
:CMake警告(dev),會繼續執行SEND_ERROR
:CMake錯誤,繼續執行,但是會跳過生成的步驟FATAL_ERROR
:CMake錯誤,終止所有處理過程
- 顯示區域
- CMake的命令行工具會在
stdout
上顯示STATUS
消息,在stderr
上顯示其他所有消息 - CMake的GUI會在它的log區域顯示所有消息
- CMake的命令行工具會在
- CMake警告和錯誤消息的文本顯示使用的是一種簡單的標記語言
- 文本沒有縮進
- 超過長度的行會回卷
- 段落之間以新行做為分隔符
- 示例
# 輸出一般日志信息 message(STATUS "source path: ${PROJECT_SOURCE_DIR}") # 輸出警告信息 message(WARNING "source path: ${PROJECT_SOURCE_DIR}") # 輸出錯誤信息 message(FATAL_ERROR "source path: ${PROJECT_SOURCE_DIR}")