2009-07-14 10 views
3

私は現在、新しいソフトウェアプロジェクトをセットアップしています。私は、自動ビルドシステムを作りたいと思っています。このプロジェクトはC、C#を含むかなり複雑です。また、外部ツール(SWIG)を使用して自動バインディング(Python、PHP、Java、Rubyなど)も生成する必要があります。システムの選択肢を構築しますか?

は、プロジェクトが構築されたのことができるように、とLinux、Windowsで実行し、そしておそらくマックOS X.は

私はCMakeの、autotoolsの、およびWAFに見てきたはずです。誰でも何か提案がありますか?

答えて

5

私は、自動化と継続的な統合のためにCruise Controlおよび/またはCruise Control.NETを調べることをお勧めします。また、実際のビルドスクリプトの機能については、NAntとAntを参照してください。私は毎日どこに行ってもこれらを毎日使っています。私はまだできなかったものにぶち当たっていません。時々、私は自分のカスタムNAntタスクを作成しなければなりませんでした...私はC#で行いました...そしてまだ問題はありません!

+0

CruiseControlのとアリは、Javaで書かれているので、すべてのあなたに必要なプラットフォームをサポートする必要があります。 – morechilli

3

makeは確かにあなたがそこに求めているすべてを行うことができます。私はちょうどそれから始めるだろう。それは移植性のためのあなたの最善の策です。

移植性の問題がある場合は、autotoolsはしばしば妥当な解決策です。彼らは私が本当に必要と感じない限り、私がそれらを避けることを好むセットアップを得るためにちょうど十分な痛みです。

+0

makeについてのことは、単なるビルドツールではなく、基本的な依存関係処理と変数を持つバッチコマンドファイルです。これにより、多くのタスクに柔軟性があり、ワークフローはほとんどすべてのワークフローに適用されます。 – andychase

1

TeamCityクルーズコントロールに比べて少ない構成です。

1

その他にも

yamを使用するが、私はCMakeのに非常に満足しています。これは、上記のプラットフォームで利用可能であり、非標準ビルド・プロシージャ(サポートされているプラ​​ットフォーム上)の完全な自動化をスクリプト化するための多くの機能を提供します。

私の場合、Tcl/TkのフロントエンドとLinux、MacOS、Winのスタンドアロン実行ファイル(starpack/tclkit)の自動生成と組み合わせたTclとGSLライブラリを使用するCでの数値計算バックエンドのビルドです(MingW & Visual Studio)。

0

私は個人的に私のクロスプラットフォームのすべてのニーズにCMake + mingw + Qt4を使用していますが、WindowsでLinuxとWindowsのswake/monoにCMakeを採用するのはかなり簡単です。

0

Googleのシステムを構築するには、(現在はオープンソースである)良い代替です:http://bazel.io/

関連する問題