cmake 內建變數

2021-10-18 22:17:31 字數 2498 閱讀 8490

cmake 內建變數

資訊變數

cmake_system

系統名稱,例如 linux-2.6.22、freebsd-5.4-release、windows 5.1

camke_system_name

系統名稱,如 linux、freebsd、windows

cmake_system_version

系統版本,如 2.6.22

cmake_system_processor

處理器名稱,如 i686

unix

bool,在所有的類 unix 平台為 true,包括 os x 和 cygwin

win32

bool,在所有的 win32 平台為 true,包括 cygwin

cmake_major_version

cmake 主版本號,如 2.8.6 中的 2

cmake_minor_version

cmake 次版本號,如 2.8.6 中的 8

cmake_patch_version

cmake 補丁等級,如 2.8.6 中的 6

預定義變數

在 cmakelists.txt 中使用 set 指定

cmake 命令中使用,如 cmake -dbuild_shared_libs=off

project_name

返回通過 project 定義的專案名稱

cmake_c_compiler

c 編譯器,預設 /usr/bin/cc

cmake_cxx_compiler

c++編譯器,預設 /usr/bin/c++。 也可通過指令 add_definitions() 新增

cmake_c_flags

編譯 c 檔案時的選項,預設為空,如 -g;也可以通過 add_definitions 新增編譯選項

cmake_cxx_flags

編譯 c++ 檔案時的選項,預設為空

cmake_include_path

新增標頭檔案搜尋路徑. 預設為空。配合 find_file() 以及 find_path 使用

cmake_library_path

新增庫檔案搜尋路徑. 預設為空。配合 find_library() 使用

cmake_install_prefix

定義 cmake 安裝的路徑, 預設 /usr/local

project_binary_dir

執行 cmake 命令的目錄,通常是 $/build,同 cmake_binary_dir、_binary_dir

project_source_dir

工程的根目錄,同 cmake_source_dir、_source_dir

cmake_current_source_dir

當前處理的 cmakelists.txt 所在的路徑

cmake_current_binary_dir

target 編譯目錄;

使用 add_surdirectory(src bin) 可以更改此變數的值;

set(executable_output_path ) 並不會對此變數有影響,只是改變了最終目標檔案的儲存路徑新路徑》

cmake_prefix_path

預設為空。

指定要搜尋的安裝字首的目錄 find_package(), find_program(), find_library(), find_file(),和 find_path() 命令。

每個命令將新增相應的子目錄(例如 bin,lib 或 include),作為其自己的文件中指定。預設空,由專案設定.

cmake_module_path

預設為空。

cmake 為上百個軟體包提供了查詢器 (finder):find***x.cmake 當使用非 cmake 自帶的 finder 時,需要指定 finder 的路徑,這就是 cmake_module_path,配合 find_package() 使用

set(cmake_module_path $/cmake),然後可以用 include 命令來呼叫自己的模組

cmake_allow_loose_loop_constructs

用來控制 if else 語句的書寫方式,預設為空。

cmake_build_type

控制構建型別。可選引數:

none: default

debug: 生成除錯資訊

release: 發布版本,進行最佳化

此值不會再 configure 的時候自動初始化,需手動設定

命令列引數 cmake -dcmake_build_type=debug

build_shared_libs

將所有程式庫的 target 設定為共享庫。如果未設定,使用 add_library 時又沒有指定庫型別,預設編譯生成靜態庫

executable_output_path

定義目標二進位制可執行檔案的存放位置,預設為空

library_output_path

定義目標鏈結庫檔案的存放位置,預設為空

cmake學習(五) 系統預設變數和內建變數

1 在不同的平台編譯的時候,會用到一些系統內建的變數,比如作業系統名稱,版本號之類 cmake system 系統全名,如 linux 2.4.22 freebsd 5.4 release 或 windows 5.1 cmake system name 系統名稱,如 linux freebsd or...

CMake常用變數

cmake變數 cmake共用七種變數,如下所示 目錄 1 提供資訊的變數。2 控制變數。3 描述系統的變數。4 控制構建過程的變數。5 語言變數。6 ctest變數。7 cpack變數。first 提供資訊的變數 cmake binary dir cmake source dir cmake cu...

mysql內建變數 MySQL常用內建變數

mysql用很多常用的內建變數,掌握這些內建變數後對於我們快速獲取當前mysql的配置有很大幫助,下面就來列舉幾個常用的變數。檢視當前mysql版本號資訊。show variables like version mariadb none show variables like version var...