4jcraft/targets/platform/meson.build

53 lines
1.5 KiB
Meson

platform_inc = include_directories('.')
_threads = dependency('threads')
lib_platform_core = static_library(
'platform_core',
files('C4JThread.cpp', 'ShutdownManager.cpp'),
include_directories: [platform_inc, include_directories('..')],
dependencies: [_threads],
cpp_args: global_cpp_args + global_cpp_defs,
)
platform_dep = declare_dependency(
link_with: lib_platform_core,
include_directories: platform_inc,
)
# SDL2-based platform implementations (formerly 4J.* modules)
_sdl2 = dependency('sdl2')
_defs = []
if get_option('renderer') == 'gles'
_gl = dependency('glesv2', required: true)
_defs += ['-DGLES']
else
_gl = dependency('gl', required: true)
endif
sdl2_sources = files(
'sdl2/Input.cpp',
'sdl2/Profile.cpp',
'sdl2/Render.cpp',
'sdl2/Storage.cpp',
'sdl2/render_stubs.cpp',
)
lib_platform_sdl2 = static_library(
'platform_sdl2',
sdl2_sources,
include_directories: [platform_inc, include_directories('sdl2')],
dependencies: [_sdl2, _gl, _threads, glm_dep, stb_dep, java_dep],
cpp_args: _defs + global_cpp_args + global_cpp_defs,
)
# Combined dependency: interfaces + SDL2 implementations
# Replaces the old render_dep, input_dep, profile_dep, storage_dep
render_dep = declare_dependency(
link_with: lib_platform_sdl2,
include_directories: [platform_inc, include_directories('sdl2')],
dependencies: [_sdl2, _gl, _threads, glm_dep],
)
input_dep = render_dep
profile_dep = render_dep
storage_dep = render_dep