import os Import('env') module_env = env.Clone() if os.path.isdir('../entity_spell_system'): module_env.Append(CPPDEFINES=['ESS_PRESENT']) if os.path.isdir('../voxelman'): module_env.Append(CPPDEFINES=['VOXELMAN_PRESENT']) if os.path.isdir('../fastnoise'): module_env.Append(CPPDEFINES=['FASTNOISE_PRESENT']) if os.path.isdir('../props'): module_env.Append(CPPDEFINES=['PROPS_PRESENT']) sources = [ "register_types.cpp", "main/dungeon_room.cpp", "main/dungeon_corridor.cpp", "main/dungeon.cpp", "main/biome.cpp", "main/planet.cpp", "data/world_generator_prop_data.cpp", "world_generator.cpp", ] if ARGUMENTS.get('custom_modules_shared', 'no') == 'yes': # Shared lib compilation module_env.Append(CCFLAGS=['-fPIC']) module_env['LIBS'] = [] shared_lib = module_env.SharedLibrary(target='#bin/world_generator', source=sources) shared_lib_shim = shared_lib[0].name.rsplit('.', 1)[0] env.Append(LIBS=[shared_lib_shim]) env.Append(LIBPATH=['#bin']) else: # Static compilation module_env.add_source_files(env.modules_sources, sources)