CMake 3.15 建置系統發布

發生 發布跨平台開放建置腳本產生器 CMake的3.15,它作為 Autotools 的替代品,用於 KDE、LLVM/Clang、MySQL、MariaDB、ReactOS 和 Blender 等專案。 CMake 程式碼是用 C++ 編寫的,並在 BSD 許可證下分發。

CMake 因提供簡單的腳本語言、透過模組擴展功能的方法、最少數量的依賴項(不綁定到 M4、Perl 或 Python)、快取支援、交叉編譯工具的存在、生成構建的支援而聞名。用於各種建置系統和編譯器的文件,用於定義測試腳本和建置套件的ctest 和cpack 實用程序,用於互動式設定建置參數的cmake-gui 實用程式。

主要的 改進:

  • 基於 Ninja 的建置腳本產生器已新增初始語言支持 迅速,由蘋果公司開發;
  • 新增了對適用於 Windows 的 Clang 編譯器變體的支持,該編譯器使用 MSVC ABI 構建,但使用 GNU 風格的命令列選項;
  • 新增了 CMAKE_MSVC_RUNTIME_LIBRARY 和 MSVC_RUNTIME_LIBRARY 變數來選擇基於 MSVC ABI (MS Visual Studio) 的編譯器所使用的執行時間函式庫;
  • 對於像 MSVC 這樣的編譯器,CMAKE__FLAGS 預設會停止列出警告控制標誌,例如「/W3」;
  • 新增了生成器運算式「COMPILE_LANG_AND_ID:」來定義目標檔案的編譯器選項,使用每個程式碼檔案的 CMAKE__COMPILER_ID 和 LANGUAGE 變數;
  • 在生成器運算式 C_COMPILER_ID、CXX_COMPILER_ID 中,
    CUDA_COMPILER_ID、Fortran_COMPILER_ID、COMPILE_LANGUAGE、
    COMPILE_LANG_AND_ID 和 PLATFORM_ID 新增了將單一值與元素用逗號分隔的清單進行匹配的支援;

  • 新增了變數 CMAKE_FIND_PACKAGE_PREFER_CONFIG,以便呼叫 find_package() 將首先搜尋套件的設定文件,即使查找器可用;
  • 對於介面庫,新增了對設定 PUBLIC_HEADER 和 PRIVATE_HEADER 屬性的支持,透過這些屬性,可以使用 install(TARGETS) 命令透過傳遞 PUBLIC_HEADER 和 PRIVATE_HEADER 參數來設定標頭;
  • 新增了 CMAKE_VS_JUST_MY_CODE_DEBUGGING 變數和目標屬性 VS_JUST_MY_CODE_DEBUGGING,以便在使用 MSVC cl 19.05 及更高版本進行編譯時在 Visual Studio 偵錯器中啟用「僅我的程式碼」模式;
  • FindBoost 模組經過重新設計,現在在存在其他搜尋模組的情況下,可以在配置和模組模式下更全面地工作;
  • message() 指令現在支援類型 NOTICE、VERBOSE、
    調試和跟踪;

  • 除非透過 CMAKE_EXPORT_PACKAGE_REGISTRY 變數明確啟用,否則「export(PACKAGE)」指令現在不會執行任何操作。

來源: opennet.ru

添加評論