Import('use')

testEnv = use.Clone()
testEnv.VariantDir('test', '../../', duplicate = False)

more_files = []
def addObjects(files):
    more_files.extend(files)

use = testEnv
SConscript('../../mugen/parser/SConstruct', exports = ['use', 'addObjects'], variant_dir = 'test-parser')

source = Split("""
test.cpp
init.cpp
test/util/file-system.cpp
test/menu/menu.cpp
test/menu/actionfactory.cpp
test/menu/optionfactory.cpp
test/menu/action_speed.cpp
test/menu/menu_option.cpp
test/menu/menu_action.cpp
test/menu/options.cpp
test/globals.cpp
test/exceptions/exception.cpp
test/util/token.cpp
test/util/tokenreader.cpp
test/util/token_exception.cpp
test/mugen/ast/ast.cpp
test/menu/font-info.cpp
test/input/keyboard.cpp
test/util/bitmap.cpp
test/util/funcs.cpp
test/input/input-manager.cpp
test/input/joystick.cpp
test/debug.cpp
test/openbor/pack-reader.cpp
test/openbor/util.cpp
test/openbor/mod.cpp
test/configuration.cpp
test/util/load_exception.cpp
test/util/events.cpp
test/util/message-queue.cpp
test/util/thread.cpp
test/input/allegro/allegro-joystick.cpp
test/input/sdl/joystick.cpp
test/level/block.cpp
test/level/cacher.cpp
test/level/scene.cpp
test/level/blockobject.cpp
test/level/random-scene.cpp
test/level/utils.cpp
test/util/sound.cpp
test/factory/object_factory.cpp
test/environment/atmosphere.cpp
test/resource.cpp
test/object/actor.cpp
test/object/animation.cpp
test/object/animation_event.cpp
test/object/animation_trail.cpp
test/object/attack.cpp
test/object/buddy_player.cpp
test/object/cat.cpp
test/object/character.cpp
test/object/display_character.cpp
test/object/draw-effect.cpp
test/object/effect.cpp
test/object/enemy.cpp
test/object/gib.cpp
test/object/health_stimulation.cpp
test/object/heart.cpp
test/object/item.cpp
test/object/network_character.cpp
test/object/network_player.cpp
test/object/object_attack.cpp
test/object/object.cpp
test/object/object_nonattack.cpp
test/object/player-common.cpp
test/object/player.cpp
test/object/projectile.cpp
test/object/stimulation.cpp
test/object/versus_enemy.cpp
test/object/versus_player.cpp
test/nameplacer.cpp
test/util/font.cpp
test/network/network.cpp
test/util/system.cpp
test/factory/font_factory.cpp
test/gui/context-box.cpp
test/gui/tabbed-box.cpp
test/gui/animation.cpp
test/gui/widget.cpp
test/gui/popup-box.cpp
test/util/gradient.cpp
test/gui/box.cpp
test/gui/coordinate.cpp
test/util/ftalleg.cpp
test/util/ebox.cpp
test/factory/font_render.cpp
test/script/script.cpp
test/factory/heart_factory.cpp
test/util/timedifference.cpp
test/util/language-string.cpp
test/trigger/trigger.cpp
test/game/select_player.cpp
test/game/mod.cpp
test/util/fire.cpp
test/game/adventure_world.cpp
test/game/console.cpp
test/game/game.cpp
test/music.cpp
test/util/music-player.cpp
test/loading.cpp
test/network/messages.cpp
test/util/ogg/logg.c
test/versus_world.cpp
test/game/world.cpp
test/factory/shadow.cpp
test/mugen/config.cpp
test/network/server.cpp
test/network/client.cpp
test/network/chat_client.cpp
test/network/chat_server.cpp
test/network/network_world_client.cpp
test/network/network_world.cpp
test/network/chat-widget.cpp
test/network/cacher.cpp
test/input/text-input.cpp
test/input/input.cpp
test/gui/lineedit.cpp
test/gui/keys.cpp
test/gui/keyinput_manager.cpp
test/gui/timer.cpp
test/gui/keyinput.cpp
test/gui/al_keyinput.cpp
test/mugen/exception.cpp
test-parser/air.cpp
test-parser/def.cpp
test-parser/cmd.cpp
test/mugen/util.cpp
test/mugen/animation.cpp
test/mugen/sprite.cpp
test/mugen/sound.cpp
test/mugen/item.cpp
test/mugen/item-content.cpp
test/util/regex.cpp
test/util/timer.cpp
test/mugen/game.cpp
test/mugen/behavior.cpp
test/mugen/storyboard.cpp
test/gui/fadetool.cpp
test/mugen/character-select.cpp
test/mugen/character.cpp
test/mugen/helper.cpp
test/mugen/evaluator.cpp
test/mugen/compiler.cpp
test/mugen/state-controller.cpp
test/mugen/parse-cache.cpp
test/mugen/command.cpp
test/mugen/stage.cpp
test/mugen/font.cpp
test/mugen/background.cpp
test/gui/rectarea.cpp
test/mugen/reader.cpp
test/mugen/characterhud.cpp
test/mugen/section.cpp
test/mugen/menu.cpp
test/mugen/option-arcade.cpp
test/mugen/option-versus.cpp
test/mugen/option-options.cpp
test/util/loadpng/loadpng.c
test/util/loadpng/regpng.c
test/util/loadpng/savepng.c
test/factory/collector.cpp
""")

source.append(use.Peg('test/openbor/data.peg'))

x = []
x.append(testEnv.Program('menu', source))
# x.append(testEnv.Program('load-stage', stage_source))
Return('x')
