CMake中常用的預定義變數

2021-09-09 05:34:17 字數 2065 閱讀 2773

project_name: 通過project指定的專案名稱

project(demo)
project_source_dir: 工程的根目錄,上圖中的demo目錄

project_binary_dir: 執行cmake命令的目錄,一般是在build目錄,在此目錄執行cmake ..

cmake_current_source_dir: 當前cmakelists.txt檔案所在目錄

cmake_current_binary_dir: 編譯目錄,可使用add_subdirectory來修改此變數

# 新增cmake執行子目錄

add_subdirectory(example)

executable_output_path: 二進位制可執行檔案輸出位置

# 設定可執行檔案的輸出路徑為 build/bin

set(executable_output_path $/bin)

library_output_path: 庫檔案輸出位置

set(library_output_path $/lib)
常用系統資訊變數

cmake_major_version: cmake的主版本號cmake version 3.11.2中的3

cmake_minor_version: cmake的次版本號cmake version 3.11.2中的11

cmake_patch_version: cmake的補丁等級cmake version 3.11.2中的2

cmake_system: 系統名稱,帶版本號

cmake_system_name: 系統名稱,不帶版本號

cmake_system_version: 系統版本號

cmake_system_processor: 處理器名稱

編譯選項

build_shared_libs: 預設的庫編譯方式(sharedorstatic),預設為static,一般在add_library時直接指定編譯庫的型別

cmake_c_flags: 設定c編譯選項

cmake_cxx_flags: 設定c++編譯選項

cmake_cxx_compiler: 設定c++編譯器

# 設定c++編譯器為g++

set(cmake_cxx_compiler "g++"

)# 設定標準庫版本為c++17 並開啟警告

set(cmake_cxx_flags "-std=c++17 -wall"

)# 設定debug模式下,不開啟優化,開啟除錯,生成更詳細的gdb除錯資訊

set(cmake_cxx_flags_debug "-o0 -g -ggdb"

)# 設定release模式下,開啟最高端優化

set(cmake_cxx_flags_release "-o3"

)

CMake常用的預定義變數

project name 通過 project 指定專案名稱 project source dir 工程的根目錄 project binary dir 執行 cmake 命令的目錄 cmake current source dir 當前 cmakelist.txt 檔案所在的目錄 cmake cur...

Perl常用的預定義變數

perl提供了大量的預定義變數,下面列舉了常用的一些預定義變數 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 在執行輸入和模式搜尋操作時使用的預設空格變數 檔案中最後處理的當前行號 由最近乙個eval 運算子提供的perl語法報錯資訊 獲取當前錯誤資訊值,常用於die...

C 中常用的幾種預定義委託

在system命名空間中,定義了一些常用的委託,如action,func,predicate,comparison,converter,eventhandler等。需要注意的是,引數帶有in的,表示逆變 引數帶有out的,表示協變。action或action即 delegate void syste...