mesonize
This commit is contained in:
parent
01b9e5e5fd
commit
fa80b2c710
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
*.o
|
||||
src/build
|
||||
build
|
||||
bin_unix/native_*
|
||||
|
|
9
meson.build
Normal file
9
meson.build
Normal file
|
@ -0,0 +1,9 @@
|
|||
project('octacore', ['cpp'],
|
||||
version: '0.0.1',
|
||||
default_options: ['buildtype=debugoptimized', 'cpp_std=c++17'],
|
||||
meson_version: '>=0.46'
|
||||
)
|
||||
|
||||
bin_path = join_paths(meson.source_root(), 'bin_unix')
|
||||
|
||||
subdir('src')
|
72
src/client/meson.build
Normal file
72
src/client/meson.build
Normal file
|
@ -0,0 +1,72 @@
|
|||
client_src = [
|
||||
'../shared/crypto.cpp',
|
||||
'../shared/geom.cpp',
|
||||
'../shared/glemu.cpp',
|
||||
'../shared/stream.cpp',
|
||||
'../shared/tools.cpp',
|
||||
'../shared/zip.cpp',
|
||||
'../engine/aa.cpp',
|
||||
'../engine/bih.cpp',
|
||||
'../engine/blend.cpp',
|
||||
'../engine/client.cpp',
|
||||
'../engine/command.cpp',
|
||||
'../engine/console.cpp',
|
||||
'../engine/dynlight.cpp',
|
||||
'../engine/grass.cpp',
|
||||
'../engine/light.cpp',
|
||||
'../engine/main.cpp',
|
||||
'../engine/material.cpp',
|
||||
'../engine/menus.cpp',
|
||||
'../engine/movie.cpp',
|
||||
'../engine/normal.cpp',
|
||||
'../engine/octa.cpp',
|
||||
'../engine/octaedit.cpp',
|
||||
'../engine/octarender.cpp',
|
||||
'../engine/physics.cpp',
|
||||
'../engine/pvs.cpp',
|
||||
'../engine/rendergl.cpp',
|
||||
'../engine/renderlights.cpp',
|
||||
'../engine/rendermodel.cpp',
|
||||
'../engine/renderparticles.cpp',
|
||||
'../engine/rendersky.cpp',
|
||||
'../engine/rendertext.cpp',
|
||||
'../engine/renderva.cpp',
|
||||
'../engine/server.cpp',
|
||||
'../engine/serverbrowser.cpp',
|
||||
'../engine/shader.cpp',
|
||||
'../engine/sound.cpp',
|
||||
'../engine/stain.cpp',
|
||||
'../engine/texture.cpp',
|
||||
'../engine/ui.cpp',
|
||||
'../engine/water.cpp',
|
||||
'../engine/world.cpp',
|
||||
'../engine/worldio.cpp',
|
||||
'../game/ai.cpp',
|
||||
'../game/client.cpp',
|
||||
'../game/entities.cpp',
|
||||
'../game/game.cpp',
|
||||
'../game/render.cpp',
|
||||
'../game/scoreboard.cpp',
|
||||
'../game/server.cpp',
|
||||
'../game/waypoint.cpp',
|
||||
'../game/weapon.cpp'
|
||||
]
|
||||
|
||||
threads_dep = dependency('threads')
|
||||
sdl2_dep = dependency('sdl2')
|
||||
sdl2_image_dep = dependency('SDL2_image')
|
||||
sdl2_mixer_dep = dependency('SDL2_mixer')
|
||||
zlib_dep = dependency('zlib')
|
||||
gl_dep = dependency('gl')
|
||||
rt_dep = cc.find_library('rt', required: false)
|
||||
|
||||
executable('native_client',
|
||||
client_src,
|
||||
dependencies: [
|
||||
threads_dep, libenet, sdl2_dep, sdl2_image_dep,
|
||||
sdl2_mixer_dep, zlib_dep, gl_dep, rt_dep
|
||||
],
|
||||
include_directories: octacore_includes,
|
||||
install: true,
|
||||
install_dir: join_paths(meson.source_root(), 'bin_unix')
|
||||
)
|
62
src/enet/meson.build
Normal file
62
src/enet/meson.build
Normal file
|
@ -0,0 +1,62 @@
|
|||
add_languages('c')
|
||||
|
||||
libenet_src = [
|
||||
'callbacks.c',
|
||||
'compress.c',
|
||||
'host.c',
|
||||
'list.c',
|
||||
'packet.c',
|
||||
'peer.c',
|
||||
'protocol.c',
|
||||
'unix.c',
|
||||
'win32.c'
|
||||
]
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
libenet_cflags = []
|
||||
|
||||
if target_machine.system() != 'windows'
|
||||
if cc.has_function('getaddrinfo', prefix: '#include <netdb.h>')
|
||||
libenet_cflags += ['-DHAS_GETADDRINFO']
|
||||
endif
|
||||
if cc.has_function('getnameinfo', prefix: '#include <netdb.h>')
|
||||
libenet_cflags += ['-DHAS_GETNAMEINFO']
|
||||
endif
|
||||
if cc.has_function('gethostbyaddr_r', prefix: '#include <netdb.h>')
|
||||
libenet_cflags += ['-DHAS_GETHOSTBYADDR_R']
|
||||
endif
|
||||
if cc.has_function('gethostbyname_r', prefix: '#include <netdb.h>')
|
||||
libenet_cflags += ['-DHAS_GETHOSTBYNAME_R']
|
||||
endif
|
||||
if cc.has_function('poll', prefix: '#include <poll.h>')
|
||||
libenet_cflags += ['-DHAS_POLL']
|
||||
endif
|
||||
if cc.has_function('fcntl', prefix: '#include <fcntl.h>')
|
||||
libenet_cflags += ['-DHAS_FCNTL']
|
||||
endif
|
||||
if cc.has_function('inet_pton', prefix: '#include <arpa/inet.h>')
|
||||
libenet_cflags += ['-DHAS_INET_PTON']
|
||||
endif
|
||||
if cc.has_function('inet_ntop', prefix: '#include <arpa/inet.h>')
|
||||
libenet_cflags += ['-DHAS_INET_NTOP']
|
||||
endif
|
||||
if cc.has_member('struct msghdr', 'msg_flags', prefix: '#include <sys/socket.h>')
|
||||
libenet_cflags += ['-DHAS_MSGHDR_FLAGS']
|
||||
endif
|
||||
if cc.has_type('socklen_t', prefix: '#include <sys/socket.h>')
|
||||
libenet_cflags += ['-DHAS_SOCKLEN_T']
|
||||
endif
|
||||
endif
|
||||
|
||||
libenet_lib = static_library('enet',
|
||||
libenet_src,
|
||||
include_directories: include_directories('include'),
|
||||
c_args: libenet_cflags,
|
||||
install: false
|
||||
)
|
||||
|
||||
libenet = declare_dependency(
|
||||
include_directories: include_directories('include'),
|
||||
link_with: libenet_lib
|
||||
)
|
21
src/master/meson.build
Normal file
21
src/master/meson.build
Normal file
|
@ -0,0 +1,21 @@
|
|||
client_src = [
|
||||
'../shared/crypto.cpp',
|
||||
'../shared/stream.cpp',
|
||||
'../shared/tools.cpp',
|
||||
'../engine/command.cpp',
|
||||
'../engine/master.cpp'
|
||||
]
|
||||
|
||||
threads_dep = dependency('threads')
|
||||
zlib_dep = dependency('zlib')
|
||||
|
||||
executable('native_master',
|
||||
client_src,
|
||||
dependencies: [
|
||||
threads_dep, libenet, zlib_dep
|
||||
],
|
||||
include_directories: octacore_includes,
|
||||
cpp_args: ['-DSTANDALONE'],
|
||||
install: true,
|
||||
install_dir: join_paths(meson.source_root(), 'bin_unix')
|
||||
)
|
11
src/meson.build
Normal file
11
src/meson.build
Normal file
|
@ -0,0 +1,11 @@
|
|||
octacore_includes = [
|
||||
include_directories('shared', 'engine', 'game', 'enet/include')
|
||||
]
|
||||
|
||||
# FIXME: remove, for now without this the engine behaves wonky
|
||||
add_global_arguments('-fsigned-char', language: 'cpp')
|
||||
|
||||
subdir('enet')
|
||||
subdir('client')
|
||||
subdir('server')
|
||||
subdir('master')
|
24
src/server/meson.build
Normal file
24
src/server/meson.build
Normal file
|
@ -0,0 +1,24 @@
|
|||
client_src = [
|
||||
'../shared/crypto.cpp',
|
||||
'../shared/stream.cpp',
|
||||
'../shared/tools.cpp',
|
||||
'../engine/command.cpp',
|
||||
'../engine/server.cpp',
|
||||
'../engine/worldio.cpp',
|
||||
'../game/entities.cpp',
|
||||
'../game/server.cpp'
|
||||
]
|
||||
|
||||
threads_dep = dependency('threads')
|
||||
zlib_dep = dependency('zlib')
|
||||
|
||||
executable('native_server',
|
||||
client_src,
|
||||
dependencies: [
|
||||
threads_dep, libenet, zlib_dep
|
||||
],
|
||||
include_directories: octacore_includes,
|
||||
cpp_args: ['-DSTANDALONE'],
|
||||
install: true,
|
||||
install_dir: join_paths(meson.source_root(), 'bin_unix')
|
||||
)
|
Loading…
Reference in a new issue