CMake 3.5 發行說明¶
自 CMake 3.4 以來進行的變更包括以下內容。
新功能¶
GUI¶
cmake-gui(1)
新增了控制關於已棄用功能的警告的選項。cmake-gui(1)
學習到一個選項,可以設定用於 VS IDE 和 Xcode 產生器的工具組,非常像cmake(1)
的現有-T
選項。cmake-gui(1)
新增了正規表示式瀏覽器,可用於即時建立和評估正規表示式。瀏覽器視窗可透過工具
選單取得。
命令列¶
命令¶
cmake_parse_arguments()
命令現在以原生方式實作。CMakeParseArguments
模組仍然作為空的佔位符以實現相容性。install(DIRECTORY)
命令學習到在目錄列表中支援generator expressions
。
變數¶
現在可以使用
-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
模組現在提供匯入的目標。FindGTK2
模組在啟用GTK2_USE_IMPORTED_TARGETS
時,現在將GTK2_LIBRARIES
設定為包含匯入目標的列表,而不是程式庫的路徑。此外,它現在設定一個新的GTK2_TARGETS
變數,其中包含所有匯入的目標。FindOpenMP
模組學習到支援 Clang。FindOpenSSL
模組新增了一個新的OPENSSL_MSVC_STATIC_RT
選項,以使用 MSVC 靜態執行階段搜尋程式庫。FindPNG
模組現在提供匯入的目標。FindTIFF
模組現在提供匯入的目標。引入了
FindXalanC
模組,以尋找 Apache Xalan-C++ XSL 轉換處理程式庫。FindXercesC
模組現在提供匯入的目標。
平台¶
新增了對 ARM Compiler (arm.com) 的支援,其編譯器 ID 為
ARMCC
。新增了一個新的平台檔案,用於在 Cray Linux Environment 中交叉編譯以瞄準運算節點。有關使用詳細資訊,請參閱 Cray Linux 環境的交叉編譯。
編譯 功能
功能現在意識到 Windows (MinGW) 上 Clang 編譯器支援的功能。在為 iOS 等嵌入式 Apple 平台建置時,CMake 學習建置和安裝包含裝置和模擬器建置的組合目標。可以透過設定
IOS_INSTALL_COMBINED
目標屬性來啟用此行為。
CPack¶
CPack DragNDrop 產生器
學習了新的變數,以指定 AppleScript 檔案的執行,以自訂DragNDrop
安裝程式資料夾的外觀,包括使用提供的 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 DragNDrop 產生器
學習到將多語言 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 版本。