meson.build
Raw
1project('orcsmasher', 'c',
2 version : '0.1',
3 default_options : ['warning_level=3', 'c_std=c99'])
4
5inc = include_directories('include')
6
7cc = meson.get_compiler('c')
8static_build = get_option('default_library') == 'static'
9
10
11CFLAGS = ['-Wno-type-limits']
12LDFLAGS = []
13
14if get_option('buildtype') == 'debug'
15 CFLAGS += ['-Og', '-g', '-fsanitize=address']
16 LDFLAGS += ['-lasan']
17endif
18
19if get_option('buildtype') == 'release'
20 CFLAGS += ['-O3', '-march=native', '-g']
21 if static_build
22 LDFLAGS += ['-static']
23 endif
24endif
25
26
27if static_build
28 LDFLAGS += ['-l:libgpm.a']
29endif
30
31srcprefix = 'src/'
32srcraw = [
33 'algorithm.c',
34 'loop.c',
35 'main.c',
36 'tui.c',
37 ]
38src = []
39foreach s : srcraw
40 src += srcprefix + s
41endforeach
42
43curses_dep = dependency('ncursesw', static: static_build)
44panel_dep = dependency('panelw', static: static_build)
45executable('orcsmasher', src, include_directories: inc, dependencies: [curses_dep, panel_dep], c_args: CFLAGS, link_args: LDFLAGS)
46
47