Meson と他のビルドシステムを比較する

よくある質問は、別のビルドシステム X よりもなぜ Meson を選ぶべきなのか です。正しい答えは 1 つはなく、ユースケースによって異なります。ほとんどすべてのビルドシステムには中規模から大規模のプロジェクトを構築するために必要なすべての機能が備わっているので、通常は他のポイントで決定されます。ここでは、自分で決定するために、さまざまなビルドシステムの長所と短所をいくつか示します。

GNU Autotools

長所

レガシー Unix プラットフォームの優れたサポート、既存のモジュールの幅広い選択。

短所

不必要に遅く、複雑で、正確に使用するのが難しく、信頼性がなく、デバッグが面倒で、ほとんどの人には理解できない、Unix 以外のプラットフォーム(特に Windows)に対するサポートが不十分です。

CMake

長所

複数のバックエンド(Visual Studio、XCode など)に対する優れたサポート。

短所

スクリプティング言語は使いづらいです。一部の単純なことは必要以上に複雑です。

SCons

長所

構築の定義に Python のフルパワーを使用できます。

短所

低速です。すべての呼び出しで構成設定を渡す必要があります。つまり、scons OPT1 OPT2 を実行してから scons だけを実行すると、OPT1OPT2 の設定なしですべてが再構成されます。他のすべてのビルドシステムは、前回の呼び出しからのビルドオプションを記憶します。

Bazel

長所

非常に大規模なプロジェクトに対応することが証明されています。

短所

Java で実装されています。Windows サポートは貧弱です。Google の進め方に大きく焦点を当てています(これは良いことでも悪いことでもあります)。コードの投稿には CLA(貢献者ライセンス契約)への署名 が必要です。

Meson

長所

最速のビルドシステム 測定値を見る、ユーザーフレンドリー、開発者には可能な限り見えなくするように設計されています。最新のツール(プリコンパイルされたヘッダー、カバレッジ、Valgrind など)に対するネイティブサポート。チューリング完全ではないので、ビルド定義ファイルは読みやすく理解しやすいです。

短所

比較的新しいので、まだユーザーベースが大きくなく、そのため未知のバグが含まれている可能性があります。Visual Studio と XCode のバックエンドは、Ninja のバックエンドほど品質が高くありません。

検索結果: