新的CMake 3.15腳本生成器更新已發布

製作

幾天前 CMake 3.15跨平台開源腳本生成器發布 它可以替代Autotools,並在KDE,LLVM / Clang,MySQL,MariaDB,ReactOS和Blender等項目中使用。

CMake是一種多平台代碼生成或自動化工具。 該名稱是“ cross platform make”(make跨平台,在名稱中使用“ make”的縮寫)的縮寫。,CMake是一個單獨的套件,並且比常見的make系統更高級別 Unix,類似於自動工具。

關於CMake

CMake的 以提供一種簡單的腳本語言而著稱, 工具,用於跨模塊擴展功能,最小數量的依賴項(不綁定到M4,Perl或Python),緩存支持,可用於交叉編譯的工具,支持生成廣泛的彙編文件的工具編譯器系統和編譯器。

ctest和cpack實用程序用於定義測試方案和程序包創建,而cmake-gui實用程序用於交互式配置構建參數。

CMake用於使用簡單且獨立的配置文件來控制軟件的編譯過程 平台。 Cmake生成可在所需開發環境中使用的本機makefile和工作區。

與Unix GNU構建系統相比,它的過程由配置文件控制(對於CMake,稱為CMakeLists.txt)。

與GNU構建系統不同,後者 僅限於Unix平台,CMake支持為各種操作系統生成文件,這有助於維護並消除了每個平台具有多組文件的需要。

通過在每個目錄(包括子目錄)中創建一個或多個CMakeLists.txt文件來控制構建過程。

CMake代碼是用C ++編寫的,並根據BSD許可證進行分發。

CMake 3.15主要新功能

這個新版本 最初的Swift語言支持開始出現 由Apple開發的Ninja Toolkit程序集腳本生成器已添加。

除此之外, 還提供了對Clang編譯器選項的支持 適用於使用ABI MSVC構建的Windows,但使用GNU樣式的命令行選項。

開發人員強調變量 CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY 添加以選擇編譯器使用的運行時庫 ABI MSVC (MS Visual Studio)。

對於像這樣的編譯器 MSVCCMAKE__FLAGS默認情況下,警告控制標誌列表(例如“ / W3”)將停止。

在此新版本發布的公告中突出顯示的其他改進中,我們發現以下內容:

  • 添加了生成表達式'COMPILE_LANG_AND_ID:»為使用變量的目標文件定義編譯器選項 CMAKE__COMPILER_ID y LANGUAGE 對於每個代碼文件
  • 生成器表達式 C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID 添加將值與列表匹配的支持,逗號分隔的項目
  • 該變量已添加 CMAKE_FIND_PACKAGE_PREFER_CONFIG,其中對find_package()的調用將首先搜索包配置文件,即使搜索模塊可用
  • 對於接口庫,添加了對設置屬性的支持 PUBLIC_HEADER y PRIVATE_HEADER,其頭可以通過安裝命令(TARGETS)傳遞參數來配置 PUBLIC_HEADER y PRIVATE_HEADER
  • 該變量已添加 CMAKE_VS_JUST_MY_CODE_DEBUGGING 和目標屬性 VS_JUST_MY_CODE_DEBUGGING 使用MSVC cl 19.05和更高版本進行編譯時,在Visual Studio調試器中啟用“僅我的代碼”模式。
  • FindBoost模塊已被重新設計,現在在存在其他搜索模塊的情況下,可以在配置和模塊模式下更全面地工作
  • 在消息()命令中添加了對NOTICE,VERBOSE,DEBUG和TRACE類型的支持
  • 現在,“ export(PACKAGE)”命令將不執行任何操作,直到通過變量將其顯式啟用為止。 CMAKE_EXPORT_PACKAGE_REGISTRY.

如果您想了解更多信息,可以諮詢 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。