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