新しいプロジェクトにSConsを使用することを考えています。私はVariantDir
がかなり混乱していると感じていますが、それは本当にうまく見えます。SCons VariantDir()は、指定されたディレクトリに出力を入れないのはなぜですか?
私は、1つのディレクトリにいくつかのCソースファイルを入れた簡単なプロジェクトを持っています。gccの2つの異なるオプションセットを使って、 "通常"と "プロファイル"モードでビルドしたいと考えています。私はアウトプットをそれぞれ通常の/ profileと/ディレクトリに入れたい。
テストのために、main()
という1つのソースファイルt.cに切り詰めました。私SConstruct
ファイルが同じディレクトリにある、とこのようになります:私はsconsのを実行すると
normal = DefaultEnvironment(tools=['mingw'], CCFLAGS = '-O2')
normal.VariantDir('release', '.', duplicate=0)
normal.Program('t', ['t.c'])
#profile = normal.Clone(CCFLAGS='-O2 -pg', LINKFLAGS = '-pg')
#profile.VariantDir('profile', '.', duplicate=0)
#profile.Program('t', ['t.c'])
、私はそれがに置くとリリース/にt.exeことを期待していますが、それは、現在のディレクトリにそれらを置きます。
scons:***同じターゲットで異なるアクションが指定された2つの環境がに設定されています。
基本的に、私のVariantDir()呼び出しが指定された出力ディレクトリrelease
に出力を置くようにsconsに指示していないのは確かです。
(これは私がよく読んだドキュメントやニュースグループですが、この質問には何も答えません。最も近いのはthis pageです。同様のことが記述されていますが、別のsrc /ディレクトリと2つsconsファイルを分離し、それらの間で変数をインポート/エクスポートすることは楽しいとは思われません)。
に働くだろうと思います。 –