cmake的使用教程(linux版)(二)

2021-07-15 14:28:19 字數 1073 閱讀 4329

1.cmake是通過解析cmakelists.txt指令碼來生成專案需要的編譯檔案的。它可以生成多種不同型別的編譯檔案如makeflie、ninja等;

2.cmakelists.txt的編寫依賴大量cmake提供的函式或者巨集,如project、set等,只要掌握了這些巨集的含義,就可以讀懂cmakelists.txt,從而了解工程的結構。

其實,稱為函式或巨集並不準確。我想表達的是這些都是cmake提供好的,可以直接在cmakelists.txt中使用,他們看起來就像是c語言的巨集或者函式。

2.1 set

用法:set(varialbe,value)

例如:set(make_files, ./)

說明:設定乙個全域性的變數

2.2 include

用法:include(file or module)

例如:include(test.cmake)

說明:與c語言的include類似

2.3 include_directories

用法:include_directories(dir1 dir2 ……)

例如:include_directories(「../my/include」 「../my/include2」)

說明:用於在現有標頭檔案搜尋路徑後面增加搜尋路徑

2.4 target_link_libraries

用法:target_link_libraries( target lib1 lib2 ……)

例如:target_linke_libraries(test libmy.so)

說明:target引數一般是add_excutable中指定的程式名

2.5 project_source_dir

說明:這是cmake預定義號的乙個巨集,表示工程的根目錄,可以直接使用

2.6 link_directories

2.7 find_package

說明:當無法定位庫的具體位置時,可以使用此命令進行查詢。利用命令:cmake –help-module-list 和 cmake –help-module 來獲取幫助資訊。

例如:find_package(gtk2)

CMake使用教程

編寫的測試的檔案目錄如下 cmaketest makelists.txt config.h.in main.cpp math makelists.txt mathfunction.cpp mathfunction.h下面為每個檔案中的內容,函式的功能是分別利用自定義的庫和標準庫實現求乙個數的冪次方 ...

cmake使用教程

cmake minimum required version 3.0 project main include directories include 設定為cmmakelists.txt所在的路徑為標頭檔案搜尋路徑 link dirctories lib add executable main m...

Linux下CMake 安裝教程

cmake是乙個跨平台的自動化建構系統 其使用乙個名為 cmakelists.txt 的檔案來描述構建過程,可以產生標準的構建檔案,如 unix 的 makefile 或windows visual c 的 projects workspaces 檔案 cmakelists.txt 需要手工編寫,也...