diff --git a/.gitignore b/.gitignore index 358ad33..8a2e916 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ *.meta *.obj *.pyc -*.bc \ No newline at end of file +*.bc +*.os \ No newline at end of file diff --git a/SCsub b/SCsub index 623ab9d..1c7b72b 100644 --- a/SCsub +++ b/SCsub @@ -1,6 +1,8 @@ +import os + Import('env') -import os +module_env = env.Clone() if os.path.isdir('../entity_spell_system'): print("ESS FOUND") @@ -10,20 +12,36 @@ if os.path.isdir('../voxelman'): print("VOXELMAN FOUND") env.Append(CPPDEFINES=['VOXELMAN_PRESENT']) -env.add_source_files(env.modules_sources,"register_types.cpp") +sources = [ -env.add_source_files(env.modules_sources,"main/dungeon_room.cpp") -env.add_source_files(env.modules_sources,"main/dungeon_corridor.cpp") -env.add_source_files(env.modules_sources,"main/dungeon.cpp") -env.add_source_files(env.modules_sources,"main/biome.cpp") -env.add_source_files(env.modules_sources,"main/planet.cpp") + "register_types.cpp", -env.add_source_files(env.modules_sources,"data/dungeon_room_data.cpp") -env.add_source_files(env.modules_sources,"data/dungeon_corridor_data.cpp") -env.add_source_files(env.modules_sources,"data/dungeon_data.cpp") -env.add_source_files(env.modules_sources,"data/biome_data.cpp") -env.add_source_files(env.modules_sources,"data/planet_data.cpp") -env.add_source_files(env.modules_sources,"data/world_generator_prop_data.cpp") + "main/dungeon_room.cpp", + "main/dungeon_corridor.cpp", + "main/dungeon.cpp", + "main/biome.cpp", + "main/planet.cpp", -env.add_source_files(env.modules_sources,"world_generator.cpp") + "data/dungeon_room_data.cpp", + "data/dungeon_corridor_data.cpp", + "data/dungeon_data.cpp", + "data/biome_data.cpp", + "data/planet_data.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)