SCons
はじめに言っておきます。仕事で使いましたが、ハイパーな量のデータ(数万ファイル)に対して、自前で作ったツールで処理をする場合(C/C++コンパイラーの呼び出しなどのSConsの正常な利用法ではなく、自前のツールをSConsにプラグインを書く感じで依存関係を…
今日になって、「make調べてみたけど、あれもダメ」という結論になったようで、結局 SCons に逆戻り。ただ、今日調べてみて Boost Build V2 に興味が出てきたので、家ではこっちをもっと見てみようかな?ができれば、それで十分なんだけど...。とりあえず、…
社内で、検討の結果 SCons は結局バイバイになった。やっぱり、不安定なのと、make のように依存関係を使ってビルドしてくれないためだ。バージョンアップを待つ。ということで、SCons をつかっていろいろツールを作ってきたんだけど、boost::build に切り替…
SCons の Builder の引数に src_builder というものがあり、それを使うと、ある程度ソース側まで戻ってくれるようです。ただ、0.94, 0.95 ともに100%マニュアルどおりには動かず、裏技的なことをしないと使えないみたい。
どちらも依存関係を張り、その間の処理を記述していくのですが、そこからが思想的に逆なようです。 make は最終出力を示し、それを依存関係を逆にたどりソースファイルまで巻き戻す。その際、ソースまでたどり着けなかったり、巡回したらエラー。 SCons はソ…
0.95 では動かない機能が 0.94 だとあっさり動くようだ。0.95 で困った人は、バージョンダウンをお薦めします。
http://article.gmane.org/gmane.comp.programming.tools.scons.devel/116にあった、 # Build the doxygen documentation target = "generated/html/index.html" source = Split(''' doxygen.cfg ''') # Manually specify the doxygen dependencies. The rig…
Zip というメソッドはディレクトリを渡すとそれをそのまま Zip 化してしまいます。 # dir1 以下を ???.zip に圧縮 Zip( '???.zip', 'dir1' ) 少し階層構造を変化させたい場合は、まず、イメージをどこかのフォルダに作るのが無難です。 import glob # まずは…
http://www.scons.org/doc.html からドキュメントが見れますが、 man page リファレンス。完全!? User's guide チュートリアル的。man page よりも情報が少ない。 みたいな感じになっています。また、0.95 現在、絶対パス指定が少なくとも Windows では挙…
SConsを使って、testを全ビルドします。boost/testを使ったテストの場合は、以下のような感じ。BOOST_PATH は適当に書き換えてね。 ルート SConstruct ( 以下のファイル ) include ???.h ???.h ???.h test ???.cpp ???.cpp ???.cpp build 以上のようなディレ…
http://www.scons.org/のSConsがいいです。テストの自動ビルドや、ゲーム用データのビルドに運用を検討中です。SCons の特徴は... 更新日時,アクセス日時ではなく、ファイルの中身を見て作られる MD5 を利用した更新判定 難しい設定なしに、VC のコンパイラ…