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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
-
+
+
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|
objfw_dep = dependency('objfw')
sdl12_dep = dependency('sdl12_compat')
sdlimage_dep = dependency('SDL_image')
sdlmixer_dep = dependency('SDL_mixer')
zlib_dep = dependency('zlib')
link_args = []
client_link_args = []
server_link_args = []
extra_deps = []
if host_machine.system() == 'windows'
link_args += ['-lopengl32', '-lglu32']
client_link_args += ['-lopengl32', '-lglu32', '-lwinmm']
server_link_args += ['-lwinmm']
else
extra_deps += dependency('gl')
extra_deps += dependency('glu')
extra_deps += dependency('x11')
endif
enet_includes = include_directories('enet/include')
enet = static_library('enet',
[
'enet/callbacks.c',
'enet/host.c',
subdir('enet')
'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])
subdir('src')
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/init.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,
zlib_dep,
extra_deps
],
include_directories: [enet_includes],
link_args: link_args,
link_with: [enet],
win_subsystem: 'windows')
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],
win_subsystem: 'console')
|