內建函式
add_library([lib_name] [source_list])
:生成靜態庫
add_library([so_name] shared [source_list])
:生成動態庫
aux_source_directory([dir] [var])
:將所有的[dir]都賦值給[var]
add_definitions("*** ***")
:設定編譯選項以及引數
include_directories([dir])
:設定第三方庫標頭檔案所在路徑,使用<>包括的第三方庫也會在該路徑下尋找
link_directories([dir])
:設定第三方靜態/動態庫的路徑,類似編譯選項中的-l
選項
target_link_libraries([project_name] [lib_name]...)
:設定要鏈結的第三方庫,類似編譯選項中的-l
選項
aux_source_directory([dir], [var])
:將[dir]目錄下的所有的cpp檔案以絕對路徑的方式賦值給[var]
cmake變數
executable_output_path
:表示可執行檔案的輸出目錄
cmake_cxx_flags
:表示編譯器的編譯引數,後跟""引號內新增編譯引數
cmake_cxx_compiler
:表示使用的編譯器,後跟""引號內指明編譯器型別
cmake_cxx_flags_debug
:debug版本特有的編譯選項
cmake_cxx_flags_release
:release版本下特有的編譯選項
cmake_source_dir
:cmakelists.txt所在的路徑
自定義變數
find_package
在使用第三方庫的情況下,find_package的用來尋找第三方庫的.h和.so/.a/檔案所在的路徑並將找到的路徑設定為變數以供cmakelists.txt的其他部分使用。
find_package(***)會去$
的所有路徑中去尋找***.cmake或config.cmake檔案,這兩個檔案時庫檔案安裝時自己安裝的,將自己路徑硬編碼到其中。前者稱為module模式,後者成為config模式。
***.cmake會提供以下變數:
include
在cmake中使用include()時,cmake會搜尋系統安裝的目錄,也會搜尋cmake_module_path
指定的目錄。
CMake常用命令
project projectname 指定工程名稱 set var value 定義變數 message send error status fatal error message to display 向終端輸出資訊 輸出build type資訊 message status build typ...
cmake常用命令
設定cmake支援的最低版本 cmake minimum required version 2.6 複製 配置專案名稱,使用此命令後會自動生成 pname binary dir變數 二進位制檔案儲存路徑 pname source dir 源 路徑 project 工程名稱 複製 設定版本號 set ...
Cmake 常用命令
1.需要最低的cmake版本 cmake mininum require version 版本號 2.cmake編譯的工程名字 project 工程名字 3.把根目錄下下面的.txt檔案全都移到編譯的二進位制檔案目錄底下 file glob my files txt file copy destin...