私はgtestをビルドして実行するためにwafを使用しています。waurでrecurseを使用し、タスクを順番に保つ
次のようにすべてを私のルートwscriptに入れたら、それは動作します。
def build(bld):
# build hello world lib
bld.recurse("src/cpp/hw")
# build hello world gtest app
cppUnitTest = bld.program(
target = 'test_run',
source = [ 'test/unit/test_run.cpp' ],
use = [ 'HW_static', 'GTEST_static' ],
lib = [ 'pthread' ],
includes = [ bld.env.LIBGTEST_INCLUDES ],
)
# run c++ unit test
bld(
dependsOn = [cppUnitTest],
name = 'c++ unit test',
rule = './test_run',
cwd = bld.path.find_dir('build')
)
それはHW(Hello Worldの)と呼ばれるLIBを構築し、それがtest_runと、それはそのテスト・アプリケーションを実行するよりも、と呼ばれるアプリケーションを構築します。
しかし、アプリケーション 'test_run'を再帰を使用してビルドしたい場合、私はそれを動作させません。これはこれまでの私の試みの一つです。あなたは以下を参照することができますとして、私は結構です、特にテストアプリケーションのための解決策を見つけた:サブフォルダから
def build(bld):
global cppUnitTest
# build hello world lib
bld.recurse("src/cpp/hw")
# build hello world gtest app
bld.recurse("tests/unit")
# run c++ unit test
bld(
dependsOn = [cppUnitTest],
name = 'c++ unit test',
rule = './test_run',
cwd = bld.path.find_dir('build')
)
とwscript_buildファイルは、その
cppUnitTest = bld.program(
target = 'test_run',
source = [ 'test_run.cpp' ],
use = [ 'HW_static', 'GTEST_static' ],
lib = [ 'pthread' ],
includes = [ bld.env.LIBGTEST_INCLUDES ],
)
EDITのように見えます。しかし、私はより一般的な解決法に興味があるでしょう。特定のビルドステップが正しい順序で実行されていることを確認する方法。例えばもし私が他のアプリケーションを構築するために使用されるいくつかのコードを生成するために使用するものを構築するアプリケーションがあれば、