3

私たちのプロジェクトはかなり大きくなり、ビルドシステムはもはや拡張できません。Linux マシンでクロスプラットフォーム開発を行っています。ビルドするプラットフォームが多すぎて、さらに多くのビルド オプションがあります。Makefile ベースのビルド環境をアップグレードする必要があると考えています。

これらは要件です(理想的な世界では):

  • 高速(libtoolがないため)
  • 並列ビルドができる
  • クロスコンパイルフレンドリー
  • Ccache の統合
  • インクリメンタル ビルドを行い、特定の条件が満たされた場合に短絡する可能性があります (a、b、c オプションが変更されていない場合は短絡、変更されている場合は再構築)
  • 簡単にスクリプト化可能 (Python との統合が理想的)
  • ユーザーフレンドリーな構文
  • 分散システム。モジュールは互いに個別に開発可能
  • サードパーティのライブラリ (autotools、cmake などを使用) を構築できます。
  • モジュール間の依存関係を追跡できます (ただし、モジュールを代替の外部モジュールに置き換えることができるほど柔軟です)。
  • 組み込みの単体テストのサポート
  • 大きなバイナリはバージョン管理とは別に保存でき、必要に応じてダウンロードできます
  • オープンソース ライセンスを追跡できる
  • git 統合

これらの要件 (少なくとも一部) を満たすツール (またはツールのグループ) をご存知ですか? 現在、gyp+ninja に傾倒しています。しかし、構文はあまり使いやすくなく、ドキュメントもありません。なので売りにくいです。

4

3 に答える 3

1

C++ に関して言えば、非常に優れたビルド システムはCMakeです。

于 2012-06-10T09:31:53.267 に答える
1

あなたはPythonの統合について言及しているので、SConsは法案に合うように思えます。これは完全に Python に基づいており (ビルド スクリプトは実際には Python スクリプトです)、非常に柔軟で、他の多くの要件を満たします。

Web サイトから:

SCons はオープン ソース ソフトウェア構築ツール、つまり次世代のビルド ツールです。SCons は、autoconf/automake と ccache などのコンパイラ キャッシュに似た統合機能を備えた、従来の Make ユーティリティの改良されたクロスプラットフォームの代替品と考えてください。つまり、SCons は、ソフトウェアを構築するためのより簡単で信頼性が高く、高速な方法です。

于 2012-03-24T06:44:47.067 に答える
0

ninja は、CMake のような他の高レベルのビルド ツールではなく、エンド ユーザーが使用することを想定していません。これは、特に大規模なクロスプラットフォーム プロジェクトの場合に、非常に優れたオプションです。Python のサポートは組み込まれていませんが、CMake を使用した外部スクリプトはほとんど、またはまったく必要ありません。ほとんどの一般的なタスクのためのツールがあります。

于 2012-10-10T11:00:32.020 に答える