Meson 與其他建置系統的比較
一個常見的問題是為什麼我應該選擇 Meson 而不是其他建置系統 X? 沒有一個絕對正確的答案,因為這取決於使用情況。幾乎所有的建置系統都具備建置中大型專案所需的所有功能,因此決策通常是基於其他方面。在此,我們列出各種建置系統的一些優缺點,以幫助您自行做出決定。
GNU Autotools
優點
對舊版 Unix 平台的支援良好,現有模組的選擇眾多。
缺點
不必要的緩慢、複雜、難以正確使用、不可靠、除錯困難、對大多數人而言難以理解、對非 Unix 平台(尤其是 Windows)的支援不佳。
CMake
優點
對多個後端(Visual Studio、XCode 等)的支援良好。
缺點
指令碼語言使用起來很麻煩。某些簡單的事情比必要的更複雜。
SCons
優點
完整的 Python 功能可用於定義您的建置。
缺點
慢。需要您在每次調用時傳遞您的組態設定。也就是說,如果您執行 scons OPT1 OPT2
然後只執行 scons
,它將在沒有設定 OPT1
和 OPT2
的情況下重新設定所有內容。其他每個建置系統都會記住先前調用的建置選項。
Bazel
優點
已證明可擴展到非常大的專案。
缺點
使用 Java 實作。Windows 支援不佳。主要關注 Google 的做事方式(這可能是一件好事或壞事)。貢獻程式碼需要簽署 CLA。
Meson
優點
最快的建置系統請參閱測量結果、使用者友善、設計為盡可能對開發人員不可見、原生支援現代工具(預編譯標頭、覆蓋率、Valgrind 等)。不是圖靈完備的,因此建置定義檔案易於閱讀和理解。
缺點
相對較新,因此尚未有大量的用戶群,因此可能包含一些未知的錯誤。Visual Studio 和 XCode 後端的品質不如 Ninja 後端。
搜尋結果為