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
: 預設的庫編譯方式(shared
orstatic
),預設為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...