Meson 1.4 已經發布了,以下是它的新功能

Meson 是一種軟件工具,用於自動構建軟件。 它是用 Python 編寫的免費開源軟件。

Meson 1.4 建置系統新版近日發布。此版本改進了對 FS 模組某些功能的支持,並提升了相容性,新增了多項功能等等。

對於不熟悉 Meson 的用戶,它是一個建置系統,由 X.Org Server、Mesa、Lighttpd、systemd、GStreamer、Wayland、GNOME 和 GTK 等知名專案所採用。其主要目標是提供快速且使用者友好的建置流程。 Meson 預設使用 Ninja 工具包,但也相容於 Xcode 和 Visual Studio 等其他後端。

該系統整合了一個跨平台依賴項管理器,簡化了發行版軟體套件的創建。編譯規則以特定的、易讀的語言定義,最大限度地減少了編寫規則所需的時間。

Meson 支援使用 C、C++、Fortran、Java 和 Rust 等多種語言建置項目,並提供增量建置模式,僅重建自上次建置以來受變更影響的元件。此外,Meson 可以產生可重複的構建,確保在不同環境中執行建置產生完全相同的可執行檔。

Meson 1.4 的主要創新點

Meson 1.4 的新版本重點介紹了對 FS 模組的新增支持,該模組現在支援 build_tgt 和 custom_tgt 編譯目標對象,以及 fs.name、fs.parent、fs.replace_suffix 和 fs.stem 函數中的編譯目標索引 (custom_idx)。

新版本中另一個顯著的變化是,Meson 現在可以讀取基於 CMake 的子專案中的專案版本。這確保了在存取 CMake 子專案時能夠正確驗證版本約束。

此外,現在已將 `preserve_paths` 參數新增至 `qt4`、`qt5` 和 `qt6` 模組的 `compile_ui`、`compile_moc` 和預處理函數中,以選擇建置正在寫入的檔案的目錄結構的選項。

另外值得注意的是,啟用 debugstl 時,stldebug 中新增了 Clang 支持,env 物件中引入了 unset() 方法,File 物件中新增了 full_path() 方法以取得檔案的完整路徑。

已新增對 numpy-config 工具和 pkg-config 的支持,作為新的自訂依賴項。此功能從 NumPy 2.0.0 版本開始可用。安裝 NumPy 後,numpy-config 的支援將自動生效。但是,pkg-config 檔案位於 Python 站台套件目錄中,這表示如果不配置 PKG_CONFIG_PATH,則無法立即使用它。

新版本的其他顯著變化包括:

  • 能夠透過 ndebug 配置控制 C++ stdlib 中的斷言檢查 (GLIBCXX_ASSERTIONS)。
  • 在 qt 模組函數中新增了preserve_pathsun關鍵字參數
  • 現在可以使用depends: 為compiler.preprocess() 指定依賴目標。這些目標必須在預處理開始之前建置。
  • bindgen 綁定產生器現在支援 Meson 啟發式來確定 C++ 頭檔。
  • 新增了覆蓋 Bindgen 語言設定的功能。
  • 現在,在執行 MemorySanitizer 等清理程式時遇到錯誤後,測試預設會失敗。
  • 新增了對 C6000 CPU 系列的 Texas Instruments C/C++ 編譯器的支援。

最後,如果您有興趣了解更多信息,可以點擊以下鏈接查看詳情。

如何在 Linux 上安裝介子?

對於那些有興趣在他們的系統上安裝這個構建系統的人,他們可以按照我們在下面分享的說明進行操作。

他們應該知道 Meson 在 PyPi 上可用,因此可以使用以下命令安裝:

pip3 install meson

請注意,您應該知道用於安裝 pip 的確切命令因係統而異,因此建議您使用 Python 3 版本的 pip。


在 Google 中將其新增為首選來源