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
APPLE
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