cmake常用命令

2021-09-12 00:26:35 字數 1780 閱讀 3033

//設定cmake支援的最低版本

cmake_minimum_required (version 2.6)複製**

//配置專案名稱,使用此命令後會自動生成

//pname_binary_dir變數(二進位制檔案儲存路徑),pname_source_dir(源**路徑)

project (工程名稱)複製**

//設定版本號

set (變數名 變數值)

set (version 0)

set(src_list main.c t1.ct2.c)

複製**

//檔案拷貝,並進行巨集替換

configure_file (

"$/tutorialconfig.h.in"

"$/tutorialconfig.h"

) 複製**

//向工程新增多個特定的標頭檔案搜尋路徑,路徑之間用空格分隔,如果路徑包含空格,

//可以使用雙引號將它括起來。預設的行為是追加到當前標頭檔案搜尋路徑的後面。

//有如下兩種方式可以控制搜尋路徑新增的位置:cmake_include_directories_before,

//通過set這個cmake變數為on,可以將新增的標頭檔案搜尋路徑放在已有路徑的前面

//通過after或before引數,也可以控制是追加還是置前

include_directories("$")複製**

//生成可執行檔案

add_executable(可執行檔名 生產該可執行檔案的原始檔)複製**

//新增子目錄,它會去子目錄中尋找cmakelists.txt,然後執行它

add_subdirectory(subdir)複製**

//將乙個檔案下的編譯用的原始檔新增到乙個巨集列表中,

//它只是將.cc .cpp .c的檔案新增到src_list中,.h除外

aux_source_directory(. src_list)

//如果你想將.**件也加進來,使用下面指令碼,glob這個引數,它不支援子目錄,

//如果你想讓它支援子目錄,用glob_recurse。

file (glob headers "include/*.h")

set(src_list $

$)複製**

//檢查乙個檔案或目錄是否存在

if(not exists $)

endif()

複製**

link_directories

link_directories(dir1 dir2 …)

新增非標準的共享庫搜尋路徑複製**

target_link_libraries

target_link_libraries(target lib1 lib2 …)

//為target新增需要鏈結的共享庫,後面可新增域限定關鍵字public private inte***ce

//關鍵字的說明如下參考

//複製**

官網教程:

官網手冊:

參考:

CMake常用命令

project projectname 指定工程名稱 set var value 定義變數 message send error status fatal error message to display 向終端輸出資訊 輸出build type資訊 message status build typ...

Cmake 常用命令

1.需要最低的cmake版本 cmake mininum require version 版本號 2.cmake編譯的工程名字 project 工程名字 3.把根目錄下下面的.txt檔案全都移到編譯的二進位制檔案目錄底下 file glob my files txt file copy destin...

cmake常用命令

內建函式 add library lib name source list 生成靜態庫 add library so name shared source list 生成動態庫 aux source directory dir var 將所有的 dir 都賦值給 var add definition...