-
Notifications
You must be signed in to change notification settings - Fork 3
/
SCsub
47 lines (32 loc) · 1.17 KB
/
SCsub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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'])
if os.path.isdir('../terraman'):
module_env.Append(CPPDEFINES=['TERRAMAN_PRESENT'])
sources = [
"register_types.cpp",
"main/building.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)