- # cmake 最低版本號要求
cmake_minimum_required (version 2.8
)- # 專案資訊
project (demo1)
- # 指定生成目標
add_executable
(demo main.cc)
對於上面的 cmakelists.txt 檔案,依次出現了幾個命令:
cmake_minimum_required:指定執行此配置檔案所需的 cmake 的最低版本;
project:引數值是 demo1,該命令表示專案的名稱是 demo1 。
add_executable: 將名為 main.cc 的原始檔編譯成乙個名稱為 demo 的可執行檔案。
編譯專案
之後,在當前目錄執行 cmake . ,得到 makefile 後再使用 make 命令編譯得到 demo1 可執行檔案。
# cmake 最低版本號要求
cmake_minimum_required (version 2.8
) # 專案資訊
project (demo2)
# 指定生成目標
add_executable
(demo main.cc mathfunctions.cc)
同一目錄,多個原始檔
# cmake 最低版本號要求
cmake_minimum_required (version 2.8
) # 專案資訊
project (demo2)
# 查詢當前目錄下的所有原始檔
# 並將名稱儲存到 dir_srcs 變數
aux_source_directory
(. dir_srcs)
# 指定生成目標
add_executable
(demo $
)
aux_source_directory 命令,該命令會查詢指定目錄下的所有原始檔,然後將結果存進指定變數名。
cmake 會將當前目錄所有原始檔的檔名賦值給變數 dir_srcs ,再指示變數 dir_srcs 中的原始檔需要編譯成乙個名稱為 demo 的可執行檔案。
多個目錄,多個原始檔
對於這種情況,需要分別在專案根目錄 demo3 和 math 目錄裡各編寫乙個 cmakelists.txt 檔案。為了方便,我們可以先將 math 目錄裡的檔案編譯成靜態庫再由 main 函式呼叫。
根目錄中的 cmakelists.txt :
./demo3
|±-- main.cc
|±-- math/
|±-- mathfunctions.cc
|±-- mathfunctions.h
cmake 和 makefile的模板
這篇主要是最近在用makefile和cmake。這玩意吧,就賊容易忘,我就默默寫一篇小短文記錄一下。就是放乙個模板,以後直接在模板上做改動。executable為目標的可執行檔名,可以根據具體的情況對其進行修改。executable test 修改隱含規則中巨集 cross compile usr ...
CMake 安裝和使用
cmake是乙個跨平台工具,可以用簡單的語句來描述所有平台的安裝 編譯過程 cmake 並不直接建構出最終的軟體,而是產生標準的建構檔 如 unix 的 makefile,visual c 的 projects 等 解壓 新增環境變數 d cmake 3.9.0 win64 x64 bin 安裝指令...
CMAKE的學習筆記 初始CMAKE
cmake是乙個很強大的編譯工具 最近在看brpc,發現其中的編譯部分都是cmake來完成的,在囫圇吞棗編譯出第乙個demo後,我覺得自己該學習一下cmake了。1 及其簡單的例子 任何東西都是從hello world開始的,cmake也不例外,這裡就是乙個非常簡單的cmake 請注意,檔名必須是c...