CMake 3.5 發行說明¶
自 CMake 3.4 以來的變更包括以下內容。
新功能¶
GUI¶
cmake-gui(1)
增加了控制有關已棄用功能的警告的選項。cmake-gui(1)
學習了一個選項,可以設定用於 VS IDE 和 Xcode 產生器的工具集,就像現有的-T
選項用於cmake(1)
一樣。cmake-gui(1)
增加了一個正規表示式瀏覽器,可用於即時建立和評估正規表示式。瀏覽器視窗可透過Tools
選單存取。
命令列¶
指令¶
cmake_parse_arguments()
指令現在是原生實作。CMakeParseArguments
模組仍然作為空佔位符以實現相容性。install(DIRECTORY)
指令學會了在目錄清單中支援產生器表達式
。
變數¶
現在可以使用
-Werror=deprecated
和-Wno-error=deprecated
cmake(1)
選項來設定CMAKE_ERROR_DEPRECATED
變數。現在可以使用
-Wdeprecated
和-Wno-deprecated
cmake(1)
選項來設定CMAKE_WARN_DEPRECATED
變數。
屬性¶
現在為 VS 2010 及更高版本實作了
VS_GLOBAL_<variable>
目標屬性。以前它僅在 VS 2008 及更低版本中有效。
模組¶
ExternalProject
模組學習了一個新的GIT_REMOTE_NAME
選項,用於控制git clone --origin
值。FindBoost
模組現在提供導入的目標,例如Boost::boost
和Boost::filesystem
。FindFLEX
模組FLEX_TARGET
巨集學習了一個新的DEFINES_FILE
選項,用於指定要產生的自訂輸出標頭。FindGTest
模組現在提供導入的目標。當啟用
GTK2_USE_IMPORTED_TARGETS
時,FindGTK2
模組現在將GTK2_LIBRARIES
設定為包含導入的目標清單,而不是程式庫的路徑。此外,它現在設定一個新的GTK2_TARGETS
變數,其中包含所有導入的目標。FindOpenMP
模組學會了支援 Clang。FindOpenSSL
模組增加了一個新的OPENSSL_MSVC_STATIC_RT
選項,用於搜尋使用 MSVC 靜態執行階段的程式庫。FindPNG
模組現在提供導入的目標。FindTIFF
模組現在提供導入的目標。引入了
FindXalanC
模組,用於尋找 Apache Xalan-C++ XSL 轉換處理程式庫。FindXercesC
模組現在提供導入的目標。
平台¶
新增了對 ARM 編譯器 (arm.com) 的支援,編譯器 ID 為
ARMCC
。新增了一個用於在 Cray Linux 環境中進行交叉編譯以目標計算節點的平台檔案。詳細使用方式請參閱 針對 Cray Linux 環境的交叉編譯。
編譯功能
現在可以識別 Windows (MinGW) 上 Clang 編譯器支援的功能。當為 iOS 等嵌入式 Apple 平台建置時,CMake 學會了建置和安裝包含裝置和模擬器建置的合併目標。可以透過設定
IOS_INSTALL_COMBINED
目標屬性來啟用此行為。
CPack¶
CPack 拖放 產生器
新增了新的變數,以指定 AppleScript 檔案來客製化拖放
安裝程式資料夾的外觀,包括使用提供的 PNG 或多解析度 TIFF 檔案來設定背景圖片。請參閱CPACK_DMG_DS_STORE_SETUP_SCRIPT
和CPACK_DMG_BACKGROUND_IMAGE
變數。CPack DEB 產生器
學會了使用單一或每個元件的變數來設定選用的組態檔Source
欄位。請參閱CPACK_DEBIAN_PACKAGE_SOURCE
。CPack DEB 產生器
學會了針對每個元件設定 Package、Section 和 Priority 控制欄位。請參閱變數CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
和CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
。CPack 拖放 產生器
學會了將多語言 SLA 新增至 DMG,當使用者嘗試掛載 DMG 時會顯示。詳細資訊請參閱CPACK_DMG_SLA_LANGUAGES
和CPACK_DMG_SLA_DIR
變數。CPack NSIS 產生器
學會了新增點陣圖至安裝程式的新變數。請參閱CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
和CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
變數。CPack RPM 產生器
學會了針對每個元件設定 Name 和 Group 控制欄位。請參閱CPACK_RPM_<component>_PACKAGE_NAME
和CPACK_RPM_<component>_PACKAGE_GROUP
。
其他¶
現在預設會啟用關於已棄用功能的警告。可以使用
-Wno-deprecated
或將CMAKE_WARN_DEPRECATED
變數設定為 false 來抑制這些警告。
已棄用和移除的功能¶
其他變更¶
Visual Studio 14 2015
產生器學會了將/debug:fastlink
連結器旗標對應到.vcxproj
檔案屬性。FindGTK2
模組現在會組態GTK2::sigc++
匯入目標,以便在使用 sigc++ 2.5.1 或更高版本時,在其依賴項上啟用 c++11。在
cmake.org
上提供的預編譯 Windows 二進制檔現在是.msi
封裝,而不是安裝程式可執行檔。在安裝新封裝之前,可能需要手動解除安裝低於 3.5 的 CMake 版本。