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

2021-07-09 08:47:25 字數 900 閱讀 2742

1、在不同的平台編譯的時候,會用到一些系統內建的變數,比如作業系統名稱,版本號之類:

cmake_system:系統全名,如 "linux-2.4.22","freebsd-5.4-release" 或 "windows 5.1"

cmake_system_name:系統名稱,如 "linux", "freebsd" or "windows",注意大小寫

cmake_system_version:只顯示系統全名中的版本部分

cmake_system_processor:cpu名稱

2、系統標誌:下面的變數都是bool型別的,如果與當前系統或編譯器相符,值為true,反之為false

unix

win32 for mingw,cygwin,msys

borland

watcom

msvc,msvc_ide,cmake_compiler_2005,msvc60/70/71/80/90/10,針對不同的visual c++

cmake_compiler_is_guncxx/cmake_compiler_is_guncc

3、編譯時選項:

build_shared_libs:將所有程式庫的target設定成共享庫

cmake_build_type:控制構建型別,以下為可選引數

none:default;debug:生成除錯資訊;release:發布版本,進行最佳化,需要注意這個值不會在configure的事吼自動初始化,需要手動指定

cmake_c_flags

cmake_c_flags_debug

cmake_c_flags_release

cmake_cxx_flags

cmake_cxx_flags_debug

cmake_cxx_flags_release

cmake學習筆記 五

在cmake 學習筆記 三 中簡單學習了 find package 的 model 模式,在cmake 學習筆記 四 中了解乙個cmakecache相關的東西。但靠這些知識還是不能看懂pyside使用cmakelists檔案,接下來繼續學習find package的 config 模式及packag...

cmake學習筆記 五

在cmake 學習筆記 三 中簡單學習了 find package 的 model 模式,在cmake 學習筆記 四 中了解乙個cmakecache相關的東西。但靠這些知識還是不能看懂pyside使用cmakelists檔案,接下來繼續學習find package的 config 模式及packag...

CMake學習 四 使用變數

cmake同樣可以使用變數,比如當依賴檔案過多或需要生成的專案繁雜,就可以使用變數統一管理,也便於以後的條件編譯。一 定義變數 cmake 定義變數分顯式和隱式兩種。顯式定義即使用 set 等語句,可以自定義變數名稱。隱式定義是在使用其他語句時自動建立的變數,如 project 是定義專案名稱的,但...