我有一个主目录,这是一个主程序,我有一个测试目录,我想对它进行单元测试。我想传递main上的所有目标文件进行测试,以便我可以链接它们
SConstruct文件:
env = Enviornment
log = 'src/config/log'
main_xsd = 'src/config/schema/main.xsd'
xml = 'src/config/xml_manager'
main = 'src/main'
subpackages = [log, xml, main]
objects = []
for package in subpackages:
pack_objects = env.SConscript(os.path.join(package,"SConscript"),
dirs=package, variant_dir = 'build/' + package, duplicate=0,
exports = 'env')
objects.append(pack_objects)
main_program = env.Program("antik", objects)
test = env.SConscript("test/SConscript",
dirs='test', variant_dir = 'build/test', duplicate=0,
exports = 'env')
env.Default(env.Install(os.path.join(prefix, "bin")), main_program)
env.Default(env.Install("/etc", log_config));
测试目录中的SConscript文件
Import('env')
test_env = env.Clone()
test_env.Append(CPPPATH = ['#/unit_test'])
sources = ['unit_test/xml_validate_test.c', 'main.c']
program = test_env.Program(sources)
Return('program')
如何将目标文件传递给Sconscript?
答案 0 :(得分:1)
请在http://scons.org/doc/production/HTML/scons-user.html查看SCons的UserGuide。在第14.5节"在SConscript文件和#34;之间共享环境(和其他变量)中,您将找到使用方法Export()和Import()的示例。