mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 01:53:38 +00:00
74 lines
2 KiB
Meson
74 lines
2 KiB
Meson
# sources that shouldn't be compiled for whatever reason
|
|
exclude_sources = [
|
|
'! -name DurangoStats.cpp', # Durango-specific
|
|
|
|
# Incomplete/Unused
|
|
'! -name SkyIslandDimension.cpp',
|
|
'! -name MemoryChunkStorage.cpp',
|
|
'! -name MemoryLevelStorage.cpp',
|
|
'! -name MemoryLevelStorageSource.cpp',
|
|
'! -name NbtSlotFile.cpp',
|
|
'! -name ZonedChunkStorage.cpp',
|
|
'! -name ZoneFile.cpp',
|
|
'! -name ZoneIo.cpp',
|
|
'! -name LevelConflictException.cpp',
|
|
'! -name "SurvivalMode.cpp"',
|
|
'! -name "CreativeMode.cpp"',
|
|
'! -name "GameMode.cpp"',
|
|
'! -name "DemoMode.cpp"',
|
|
]
|
|
|
|
# GET IT ALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
|
# TODO: make this process more portable using a python script :3
|
|
minecraft_sources = run_command(
|
|
'sh', '-c',
|
|
'find "'
|
|
+ meson.current_source_dir()
|
|
+ '" \\( -name "*.cpp" -o -name "*.c" \\) '
|
|
+ ' '.join(exclude_sources),
|
|
check : true,
|
|
).stdout().strip().split('\n')
|
|
|
|
occlusion_mode = get_option('occlusion_culling')
|
|
if occlusion_mode == 'off'
|
|
global_cpp_defs += ['-DOCCLUSION_MODE_NONE']
|
|
elif occlusion_mode == 'frustum'
|
|
global_cpp_defs += ['-DOCCLUSION_MODE_FRUSTUM']
|
|
elif occlusion_mode == 'bfs'
|
|
global_cpp_defs += ['-DOCCLUSION_MODE_BFS', '-DUSE_OCCLUSION_CULLING']
|
|
elif occlusion_mode == 'hardware'
|
|
global_cpp_defs += ['-DOCCLUSION_MODE_HARDWARE', '-DUSE_OCCLUSION_CULLING']
|
|
endif
|
|
|
|
if get_option('ui_backend') == 'java'
|
|
global_cpp_defs += '-DENABLE_JAVA_GUIS'
|
|
endif
|
|
|
|
lib_minecraft = static_library('minecraft',
|
|
minecraft_sources,
|
|
dependencies : [
|
|
miniaudio_dep, # TODO: remove once a SoundEngine facade is present
|
|
render_dep,
|
|
input_dep,
|
|
profile_dep,
|
|
storage_dep,
|
|
glm_dep,
|
|
nbt_dep,
|
|
java_dep,
|
|
assets_localisation_dep,
|
|
platform_dep,
|
|
util_dep,
|
|
dependency('zlib'),
|
|
],
|
|
include_directories : include_directories('..'),
|
|
cpp_args : global_cpp_args + global_cpp_defs,
|
|
)
|
|
|
|
zlib_dep = dependency('zlib')
|
|
crypto_dep = dependency('libcrypto') # for MD5 in Hasher.cpp on Linux
|
|
|
|
minecraft_dep = declare_dependency(
|
|
link_with : lib_minecraft,
|
|
dependencies : [crypto_dep, zlib_dep],
|
|
)
|