1###############################################################################
2# Project Info
3###############################################################################
4project('talkatu', 'c', version : '0.1.0-dev',
5  meson_version : '>=0.41.0',
6  default_options : ['c_std=c99'])
7
8parts = meson.project_version().split('-')
9if parts.length() > 1
10  extra = parts[1]
11else
12  extra = ''
13endif
14
15parts = parts[0].split('.')
16TALKATU_MAJOR_VERSION = parts[0]
17
18version_conf = configuration_data()
19version_conf.set('TALKATU_MAJOR_VERSION', TALKATU_MAJOR_VERSION)
20version_conf.set('TALKATU_MINOR_VERSION', parts[1])
21version_conf.set('TALKATU_MICRO_VERSION', parts[2])
22version_conf.set('TALKATU_EXTRA_VERSION', extra)
23version_conf.set('TALKATU_VERSION', meson.project_version())
24
25LOCALE_DIR = join_paths(get_option('prefix'), get_option('localedir'))
26add_project_arguments('-DLOCALEDIR="@0@"'.format(LOCALE_DIR), language : 'c')
27
28###############################################################################
29# Dependencies
30###############################################################################
31gnome = import('gnome')
32pkgconfig = import('pkgconfig')
33
34GLIB = dependency('glib-2.0', version : '>=2.40.0')
35GOBJECT = dependency('gobject-2.0')
36
37GTK3 = dependency('gtk+-3.0', version : '>=3.10.0')
38GLADEUI = dependency('gladeui-2.0', version: '>=3.0.0')
39GSPELL = dependency('gspell-1', version : '>=1.2')
40
41GUMBO = dependency('gumbo', version : '>=0.10')
42
43CMARK = dependency('libcmark')
44
45HELP2MAN = find_program('help2man')
46
47if get_option('tests')
48	XVFB_RUN = find_program('xvfb-run')
49endif
50
51###############################################################################
52# NLS
53###############################################################################
54GETTEXT_PACKAGE = 'talkatu'
55
56add_project_arguments('-DGETTEXT_PACKAGE="@0@"'.format(GETTEXT_PACKAGE),
57	language : 'c')
58
59if get_option('nls')
60	i18n = import('i18n')
61endif
62
63###############################################################################
64# Build Info
65###############################################################################
66compiler = meson.get_compiler('c')
67
68top_srcdir = include_directories('.')
69
70add_project_arguments(
71	'-DPREFIX="@0@"'.format(get_option('prefix')),
72	'-DLIBDIR="@0@"'.format(get_option('libdir')),
73	language : 'c'
74)
75
76if compiler.has_argument('-Wformat')
77	add_project_arguments('-Wformat', language : 'c')
78	if compiler.has_multi_arguments(['-Wformat', '-Werror=format-security'])
79		add_project_arguments('-Werror=format-security', language : 'c')
80	endif
81endif
82
83# check if we're using gcc
84if compiler.get_id() == 'gcc' or host_machine.system() == 'darwin'
85	add_project_arguments(
86		'-DTALKATU_UNUSED=__attribute__((unused))',
87		'-ggdb',
88		language : 'c'
89	)
90else
91	add_project_arguments(
92		'-DTALKATU_UNUSED=',
93		language : 'c'
94	)
95endif
96
97toplevel_inc = include_directories('.')
98
99###############################################################################
100# Subdirectories
101###############################################################################
102subdir('talkatu')
103subdir('po')
104subdir('demo')
105subdir('packaging')
106
107###############################################################################
108# Install stuff
109###############################################################################
110# documentation
111install_data('ChangeLog', 'INSTALL', 'README.md', 'HACKING', 'logo.png',
112	install_dir : join_paths(get_option('datadir'), 'doc', 'talkatu'),
113)
114