project('Cube', ['c', 'objcpp'],
meson_version: '1.5.0')
add_global_arguments(
['-fobjc-arc', '-fobjc-arc-exceptions'],
language: 'objcpp')
objfw_dep = dependency('objfw')
sdl12_dep = dependency('sdl12_compat')
sdlimage_dep = dependency('SDL_image')
sdlmixer_dep = dependency('SDL_mixer')
gl_dep = dependency('gl')
glu_dep = dependency('glu')
zlib_dep = dependency('zlib')
x11_dep = dependency('x11', required: false)
enet_includes = include_directories('enet/include')
enet = static_library('enet',
[
'enet/callbacks.c',
'enet/host.c',
'enet/list.c',
'enet/memory.c',
'enet/packet.c',
'enet/peer.c',
'enet/protocol.c',
'enet/unix.c',
'enet/win32.c',
],
include_directories: [enet_includes])
executable('client',
[
'src/client.mm',
'src/clientextras.mm',
'src/clientgame.mm',
'src/clients2c.mm',
'src/command.mm',
'src/console.mm',
'src/editing.mm',
'src/entities.mm',
'src/main.mm',
'src/menus.mm',
'src/monster.mm',
'src/physics.mm',
'src/rendercubes.mm',
'src/renderextras.mm',
'src/rendergl.mm',
'src/rendermd2.mm',
'src/renderparticles.mm',
'src/rendertext.mm',
'src/rndmap.mm',
'src/savegamedemo.mm',
'src/server.mm',
'src/serverbrowser.mm',
'src/serverms.mm',
'src/serverutil.mm',
'src/sound.mm',
'src/tools.mm',
'src/weapon.mm',
'src/world.mm',
'src/worldio.mm',
'src/worldlight.mm',
'src/worldocull.mm',
'src/worldrender.mm',
],
dependencies: [
objfw_dep,
sdl12_dep,
sdlimage_dep,
sdlmixer_dep,
gl_dep,
glu_dep,
zlib_dep,
x11_dep,
],
include_directories: [enet_includes],
link_with: [enet])
executable('server',
[
'src/server.mm',
'src/serverms.mm',
'src/serverutil.mm',
'src/tools.mm',
],
objcpp_args: ['-DSTANDALONE'],
dependencies: [
objfw_dep,
sdl12_dep
],
include_directories: [enet_includes],
link_with: [enet])