# workaround to double escape backslash characters on windows
test_sound_abspath = str(test_sound_abspath).replace('\\', '\\\\')
-bld(name='create_tests_source',
+b = bld(name='create_tests_source',
rule='python ${SRC} ${TGT}',
source='create_tests_source.py',
target=test_sound_target)
+# use post() to create the task, keep a reference to it
+b.post()
+create_tests_source = b.tasks[0]
for source_file in programs_sources:
target = os.path.basename(os.path.splitext(str(source_file))[0])
- bld(features = 'c cprogram test',
+ a = bld(features = 'c cprogram test',
source = source_file,
target = target,
includes = includes,
defines = ['AUBIO_UNSTABLE_API=1',
'AUBIO_TESTS_SOURCE={}'.format(test_sound_abspath)]
)
+ a.post()
+ # make sure the unit_test task runs *after* the source is created
+ a.tasks[-1].set_run_after(create_tests_source)