Import('*')

#TODO: find a way to remove the .orig files astyle leaves around. Probably in
#      scons-tools/astyle.py

SRC=simpleglob("*.cc")

srcenv=env.Copy()

srcenv.Append(CPPPATH=[
		'#/src',
		'#/src/ui/ui_basic',
		'#/src/ui/ui_fs_menus',
		'#/src/editor',
		'#/src/editor/tools',
		'#/src/editor/ui_menus',
		'#/src/filesystem',
		])

Export('srcenv')
srcenv.Append(LIBS='events', LIBPATH='events')
srcenv.Append(LIBS='uibasic', LIBPATH='ui/ui_basic')
srcenv.Append(LIBS='uifsmenus', LIBPATH='ui/ui_fs_menus')
srcenv.Append(LIBS='editor', LIBPATH='editor')
srcenv.Append(LIBS='trigger', LIBPATH='trigger') # as long as this contains ui code, this line must be before editoruimenus
srcenv.Append(LIBS='editoruimenus', LIBPATH='editor/ui_menus')
srcenv.Append(LIBS='editortools', LIBPATH='editor/tools')
srcenv.Append(LIBS='filesystem', LIBPATH='filesystem')
srcenv.Append(LIBS='sound', LIBPATH='sound')

SConscript('editor/SConscript')
SConscript('ui/ui_basic/SConscript')
SConscript('ui/ui_fs_menus/SConscript')
SConscript('filesystem/SConscript')
SConscript('sound/SConscript')
SConscript('trigger/SConscript')
SConscript('events/SConscript')

srcenv.Append(INDENTLIST=[
	'geometry.h',
	'helper.h',
	'helper.cc',
	'journal.h',
	'journal.cc',
	'journal_exceptions.h',
	'journal_exceptions.cc',
	'main.cc',
	'wlapplication.h',
	'wlapplication.cc',
	])
indent=srcenv.astyle(source=srcenv['INDENTLIST'])
env.Alias("indent", indent)

binary=srcenv.Program(target='widelands', source=SRC)
copybinary=srcenv.Command('#/widelands', binary, Copy('widelands', BUILDDIR+'/widelands'))

Return('copybinary')
