CMake 基本用法

2021-08-07 10:37:41 字數 1312 閱讀 9935

1. 最基本的cmakelists 檔案

# 它將 main.c 編譯為 hello 的可執行檔案

project (hello) # 專案名稱

set(src_list main.c) # 原始檔

add_executable(hello $) # 可執行檔案

cmake 是強烈推薦外部編譯的,內部編譯會生成一些無法自動刪除的中間檔案。使用 cmake [cmakelists.txt path] 進行編譯,會生成makefile等檔案,在此執行 make, 即可生成可執行檔案。

2. 新增子檔案

可以使用add_subdirecroty(source_dir [binary_dir][exclude_from_all])來新增下一層的 cmakelists.txt, 並指定目錄.

add_subdirectory(src bin) # 將 src目錄編譯為 bin 目錄

另外可以都可以通過 set 指令重新定義 executable_output_path 和 library_output_path 變數來指定最終的目標二進位制的位置(指最終生成的 hello 或者最終的共享庫,不包含編譯生成的中間檔案)

set(executable_output_path $/bin)

set(library_output_path $/lib)

3. 使用目標檔案的安裝:

如果你要直接安裝到系統,可以使用如下指令:

cmake -dcmake_install_prefix=/usr ..
4. 新增庫
add_library(hello shared $)

# shared,動態庫

# static,靜態庫

# module,在使用 dyld 的系統有效,如果不支援 dyld,則被當作 shared 對待

# 更新庫版本號

set_target_properties(hello properties version 1.2 soversion 1)

# version 指代動態庫版本,soversion 指代 api 版本

5. 使用外部共享庫和標頭檔案
include_directories([after|before] [system] dir1 dir2 ...) # 新增標頭檔案包含路徑

target_link_libraries(target library1 library2...) # 為 target 新增共享庫

6. 其它

cmake基本用法

我們編寫乙個c 單例類,使用cmake構建專案,主要是為了記錄一下cmake的基本用法。首先專案資料夾為demoproject,我們建立乙個main.cpp作為我們的主檔案,建立乙個子資料夾singleton,在singleton中建立singleton.h和singleton.cpp作為我們的單例...

cmake基本用法

宣告最低版本型別 cmake minimum required version 2.8 建立乙個工程,工程名為hello project hello 設定編譯模式 編譯模式有 debug 和 release debug 為除錯模式,可進行斷點測試 release 為發行模式,速度更快 set cma...

cmake安裝 用法

選擇cmake x.x.x.tar.gz 找個目錄解壓縮 tar xzvf cmake x.x.x.tar.gz cd cmake x.x.x 依次執行 bootstrap make make install cmake 會預設安裝在 usr local bin 下面 檢查版本 cmake vers...