CMakeを使用してプロジェクトのIDE/makefileを生成していますが、カスタムの「スクリプト」を呼び出して、コンパイルしたファイルを操作したり、コードを生成したりする必要があります。
以前のプロジェクトではPython=を使用しており、問題はありませんでしたが、今取り組んでいる2つの非常に大きなプロジェクトで多くの依存関係を管理するのに深刻な問題を抱えているので、あらゆる場所で依存関係を最小限に抑えます。
誰かが私にビルドスクリプトを書くためにC++を使用することを勧めました。プロジェクトのテーマ自体はすでにC++を使用しているため、次のようないくつかの利点があります。
ただし、いくつかの欠点があると思います。まだ試していないため、実際の影響はわかりません。
私には経験と見通しが欠けているので、長所と短所が足りないのかもしれません。だから問題は:これにC++を使用することは理にかなっていますか?報告する経験があり、重要かもしれない長所と短所を知っていますか?
Pythonを使用するだけです。
私はC++で開発し、Pythonでビルドスクリプトを実行しています。C++でビルドスクリプトを実行するのは面倒です。
C++にリストする利点について:
これはケース固有の質問だと思います。ビルドスクリプトにC++を使用することが理にかなっているかどうかにかかわらず、正解はないと主張します。それを理解する唯一の方法は、実際に試すことです。
個人的には、Python C++より優れていると思います。これは、言語の表現力が向上し、バイナリファイルの操作とコードの生成のタスクを管理するための標準ライブラリツールがより簡単になったためです(もちろん、個人的な意見です)。もちろん、タスク用に開発された洗練されたライブラリーが利用できる場合がありますが、そうでない場合は、個人的にはPythonが「より頻繁に正しい」答えになることを確信しています。一般的なケースです。
自分でスクリプトを作成しないでください。あなたは努力を重ね、車輪を再発明しています。
[〜#〜] scons [〜#〜] または C++ビルドシステムのサポート があるMaven 3のようなものを使用します。
優れたビルドシステムは、言語に関係なく、機能する実行可能アーティファクトをビルドするために、スクリプトの形でカスタムロジックを必要とするべきではありません。
ビルドシステムをカスタマイズするためのスクリプトを記述する必要がある場合、それは良いビルドシステムではありません。ビルドシステム用のプラグインを作成するのは別の話ですが、それでもほとんどの場合、環境/ハードウェアに非常に特有であり、めったに使用されないものでなければなりません。
質問に集中するには:
C++でビルドスクリプトを書くことは意味がありますか?
答えは単純ですno。
現在受け入れられている答えはpythonに拡大し、有効な懸念事項をすべてリストしますが、言語に依存しない理由を追加したいと思います。
あなたが本当にしないでくださいあなたがそれを助けることができるなら、-anyコンパイルされた言語で何かをスクリプト化したいです:
さらに、他の答えに行く:
おそらくあなたはまたしないでくださいビルドスクリプトを作成するために「生の」スクリプト言語を使用したいと思います(C++の複雑さはCMakeによって処理されると思います)。
おそらくがすべきことは Build の1つを選択することです。 システム 。 out 。 あり 。そして、あなたの請求書があなたの法案に適合するかどうかを確認してください。スクリプト可能性/拡張性/ play-Nice-with-CMake /クロスプラットフォーム性。