ザ Meson 1.1.0ビルドシステムの新バージョンのリリース、 X.Org、Mesa、systemd、Wayland、GNOME など、さまざまな人気のあるプロジェクトをコンパイルするために使用されます。
Meson の主な開発目標は、高速なコンパイル プロセスを便利さと使いやすさと組み合わせて提供することです。 代わりに、ビルドはデフォルトで Ninja Toolkit を使用しますが、xcode や VisualStudio などの他のバックエンドを使用することもできます。
システムには、クロスプラットフォームの依存関係ハンドラー i があります。Meson を使用してディストリビューション用のパッケージを作成できるようにする nbuiltin。 コンパイル規則は単純化されたドメイン固有の言語で書かれており、読みやすく、ユーザーが理解できるようになっています (作成者の考えによれば、開発者は最小限の時間をかけて規則を作成する必要があります)。
クロスコンパイルがサポートされています 多数のシステムおよびその他のコンパイラでのコンパイル。 プロジェクトは、C、C++、Fortran、Java、Rust など、いくつかのプログラミング言語で構築できます。
それは注意する必要があります インクリメンタル ビルド モードをサポート、最後のビルド以降に行われた変更に直接関連するコンポーネントのみが再ビルドされます。 Meson を使用して、再現可能なビルドを生成できます。異なる環境でビルドを実行すると、完全に同一の実行可能ファイルが生成されます。
Meson 1.1の主な新機能
Meson 1.1 のこの新しいバージョンでは、« の実行須藤中間子のインストール» 特権の回復を保証 ターゲット プラットフォームの再構築中。
際立っているもう XNUMX つの変更点は、コマンド «中間子のインストール» 別のドライバーを指定する機能を提供します root 権限を取得するには (たとえば、polkit、sudo、opendoas、または $MESON_ROOT_CMD を選択できます)、さらに "中間子のインストール» 非対話モードでは、権限の昇格を試みなくなりました。
これに加えて、追加されたことにも注意してください 新しいバックエンド「なし」 (–backend=none) インストール ルールのみを持ち、ビルド ルールを持たないプロジェクトを作成します。 新しい依存関係 pybind11 を追加しました pybind11-config スクリプトを使用せずに、依存関係 (「pybind11」) を pkg-config および cmake で機能させる。
の 主な変更点 この新しいリリースのハイライトは次のとおりです。
- 新しい引数を追加 「オブジェクト:」declare_dependency() へ link_who を必要としない内部依存関係として、オブジェクトを実行可能ファイルに直接アタッチします。
- イントロスペクションの進行状況に関する情報の出力から stderr に提供されるリダイレクト。
- コマンドにオプションを追加 "meson devenv –ダンプ» 標準出力に送信する代わりに、環境変数を書き込むファイルを指定します。
- メソッドが追加されました FeatureOption.enable_if および FeatureOption.disable_if パラメーターをdependency()関数に渡す準備として条件を簡単に作成できるようにするには、 opt = get_option('feature').disable_if(not foo, error_message: 'Cannot enable feature when foo is not enabled')
dep = 依存関係 ('foo'、必須: opt) - 生成されたオブジェクトを引数として渡すことができます 「オブジェクト:」。
- プロジェクト機能は、プロジェクトのライセンス情報を含むファイルのインストールをサポートしています。
- ファイルオプションの読み取りのサポートを追加 中間子オプション meson_options.txt の代わりに。
- オプション "--reconfigure」および「--wipe」 (meson setup –reconfigure builddir および meson setup –wipe builddir) は空の builddir で許可されます。
- Meson.add_install_script() にキーワードのサポートが追加されました ドライランを呼び出して、独自のインストール スクリプトを実行できます。meson install –ドライラン"
最後に、Meson のコードは Python で書かれており、Apache 2.0 ライセンスの下でライセンスされていることに言及する価値があります。 詳細を知りたい場合は、詳細を参照してください。 次のリンクで。
Linux に Meson をインストールするには?
のために メソンを手に入れることに興味がある、彼らはそれが PyPi で利用可能であることを知っているはずなので、インストールすることができます pip3 インストールメソン.
pip をインストールするために入力する正確なコマンドはシステムによって異なる可能性があるため、必ず Python 3 バージョンの pip を使用してください。
必要に応じて、標準の Python コマンドを使用してローカルにインストールできます。
python3 -m pip install meson