Qbs ビルド ツールの最終リリースが公開されました

Qtカンパニー опубликовала 組立工具 クォーターバック 1.13 (Qt ビルド スイート)。これは、Qt Company によって作成された Qbs の最新リリースです。先ほど何が起こったか思い出しましょう とられた Qbsの開発を中止する決定。 Qbs は qmake の代替として開発されましたが、最終的には長期的には CMake を Qt のメイン ビルド システムとして使用することが決定されました。

近い将来、コミュニティによる Qbs の開発を継続するための独立したプロジェクトが設立されることが予想されますが、その運命は問題のアセンブリ システムに対する独立系開発者の関心にかかっています。 Qt Company は、Qbs の推進に追加投資と高額な費用が必要となるため、Qbs への取り組みを停止します。

Qbs 自体はあらゆるプロジェクトのアセンブリを編成するように設計されていますが、Qbs を構築するには依存関係として Qt が必要であることを思い出してください。 Qbs は、QML 言語の簡易バージョンを使用してプロジェクト ビルド スクリプトを定義します。これにより、外部モジュールの接続、JavaScript 関数の使用、およびカスタム ビルド ルールの作成が可能な、かなり柔軟なビルド ルールを定義できます。
Qbs はメイクファイルを生成せず、コンパイラーとリンカーの起動を独立して制御し、すべての依存関係の詳細なグラフに基づいてビルド プロセスを最適化します。プロジェクト内の構造と依存関係に関する初期データが存在すると、複数のスレッドで操作の実行を効果的に並列化できます。

Qbs 1.13 の主な革新:

  • Qbs モジュールに使用されるのと同じ依存関係処理メカニズムを使用して、プロジェクトで pkg-config モジュールを使用する機能が追加されました。たとえば、システムに pkg-config に基づいて OpenSSL を構築するためのパッケージがある場合、それを Qbs プロジェクトで使用するには、「Depends { name: "openssl" }」を追加するだけです。
  • 利用可能な Qt モジュールの自動検出を実装しました。開発者は setup-qt コマンドを使用してモジュール パスを含むプロファイルを作成する必要がなくなり、依存関係で指定されたすべての Qt モジュールが自動的に構成されます。
  • 個々のコマンドのレベルで並行して実行されるアセンブリ タスクの数を制御するツールが追加されました。たとえば、リンクでは大きな I/O 負荷が発生し、大量の RAM が消費されるため、リンカーにはコンパイラとは異なる起動設定が必要です。コマンド「qbs —job-limits linker:2,compiler:8」を使用して個別の設定を行うことができるようになりました。
  • スクリプト言語が変更されました。出力用のスタブ ファイルを指定せずにルールを定義できるようになり、プロジェクト ファイルの先頭で「import qbs」ディレクティブを使用する必要がなくなりました。新しい install プロパティと installDir プロパティが Application、DynamicLibrary、StaticLibrary 要素に追加され、実行可能ファイルのインストールがより便利になりました。
  • リンカー スクリプトの再帰的スキャンのサポートを追加しました
    GNU リンカー。

  • C++ の場合、ld.gold、ld.bfd、または lld リンカーの使用を強制するために cpp.linkerVariant プロパティが実装されています。
  • Qt では、大規模な Qt リソースを作成するための Qt.core.enableBigResources プロパティが導入されました
  • 廃止された AndroidApk 要素の代わりに、汎用の Application タイプを使用することが提案されています。
  • 自動テストに基づいてテストを作成するためのモジュールを追加しました。
  • qmake の QMAKE_SUBSTITUTES と同様の機能を持つ texttemplate モジュールを追加しました。
  • C++ および Objective-C のプロトコル バッファー形式の初期サポートが追加されました。

出所: オープンネット.ru

コメントを追加します