File: meson.build

package info (click to toggle)
planner 0.14.92-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 13,676 kB
  • sloc: ansic: 68,177; xml: 6,112; sql: 890; makefile: 43; sh: 42; python: 26
file content (115 lines) | stat: -rw-r--r-- 4,208 bytes parent folder | download
1
2
3
4
5
6
7
8
9
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
107
108
109
110
111
112
113
114
115
project('planner',
  'c',
  version: '0.14.92',
  license: 'GPL-2+',
  meson_version: '>= 0.56',
)

planner_prefix = get_option('prefix')
planner_libdir = planner_prefix / get_option('libdir')
planner_pkglibdir = planner_libdir / 'planner'
planner_plugindir = planner_pkglibdir / 'plugins'
planner_storagemoduledir = planner_pkglibdir / 'storage-modules'
planner_filemoduledir = planner_pkglibdir / 'file-modules'
planner_datadir = planner_prefix / get_option('datadir')
planner_pkgdatadir = planner_datadir / 'planner'
planner_localedir = planner_prefix / get_option('localedir')
planner_sysconfdir = get_option('sysconfdir')
its_dir = meson.project_source_root() / 'gettext'
po_dir = meson.project_source_root() / 'po'

cc = meson.get_compiler('c')

i18n = import('i18n')
gnome = import('gnome')

conf_data = configuration_data()
conf_data.set_quoted('GETTEXT_PACKAGE', meson.project_name())
conf_data.set_quoted('VERSION', meson.project_version())
conf_data.set_quoted('GNOMELOCALEDIR', planner_localedir)
conf_data.set_quoted('PLUGINDIR', planner_plugindir)
conf_data.set_quoted('STORAGEMODULEDIR', planner_storagemoduledir)
conf_data.set_quoted('FILEMODULESDIR', planner_filemoduledir)
conf_data.set_quoted('DATADIR', planner_pkgdatadir)
conf_data.set('WITH_SIMPLE_PRIORITY_SCHEDULING', get_option('simple-priority-scheduling'))

configure_file(
  output: 'config.h',
  configuration: conf_data,
)
toplevel_inc = include_directories('.')
libplanner_inc = include_directories('libplanner')

glib_req_version = '2.56'
glib_req = '>= @0@'.format(glib_req_version)
gtk_req_version = '3.22'
gtk_req = '>= @0@'.format(gtk_req_version)
eds_req = '>= 3.6'

glib_dep = dependency('glib-2.0', version: glib_req)
gmodule_dep = dependency('gmodule-2.0')
gobject_dep = dependency('gobject-2.0')
gio_dep = dependency('gobject-2.0')
gtk_dep = dependency('gtk+-3.0', version: gtk_req)
gail_dep = dependency('gail-3.0', version: gtk_req)
libxml_dep = dependency('libxml-2.0', version: '>= 2.6.27')
xslt_dep = dependency('libxslt', version: '>= 1.1.23')
exslt_dep = dependency('libexslt')
m_dep = cc.find_library('m', required: false)

gda_dep = dependency('libgda-5.0', version: '>= 1.0', required: get_option('database-gda'))
libeds_dep = dependency('libebook-1.2', version: eds_req, required: get_option('eds'))

libplanner_deps = [glib_dep, gmodule_dep, gobject_dep, libxml_dep, m_dep]
planner_deps = [glib_dep, gobject_dep, gmodule_dep, gio_dep, gtk_dep]

glib_version_arr = glib_req_version.split('.')
glib_major_version = glib_version_arr[0]
glib_minor_version = glib_version_arr[1]

gtk_version_arr = gtk_req_version.split('.')
gtk_major_version = gtk_version_arr[0]
gtk_minor_version = gtk_version_arr[1]

add_project_arguments([
  '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_@0@_@1@'.format(glib_major_version, glib_minor_version),
  '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_@0@_@1@'.format(glib_major_version, glib_minor_version),
  '-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_@0@_@1@'.format(3, 8), # TODO: Move back to dynamic after 3.10 deprecations are handled (GtkUIManager/GtkAction vs GAction)
  '-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_@0@_@1@'.format(gtk_major_version, gtk_minor_version),
], language: 'c')

subdir('po')
subdir('libplanner')
subdir('data')
subdir('src')
subdir('examples')
subdir('tests')
subdir('docs')

meson.add_install_script('meson_post_install.sh')

status = [
  '', '',
  'planner @0@'.format(meson.project_version()),
  '',
]

status += [
  'Planner prefix               : @0@'.format(planner_prefix),
  'Build API docs               : @0@'.format(get_option('gtk_doc')),
  'Simple priority scheduling   : @0@'.format(get_option('simple-priority-scheduling')),
  'Database/GDA support         : @0@'.format(gda_dep.found()),
  'Evolution Data Server import : @0@'.format(libeds_dep.found()),
  #'Evolution Data Server backend: @0@'
  '',
]

message('\n  '.join(status))

if get_option('simple-priority-scheduling')
  message('*** Note: The use simple priority tasks scheduling is experimental. Don\'t use it in production systems ***')
endif

#if get_option('eds-backend')
#  message('*** Note: The Evolution backend is experimental. Don\'t use it in production systems ***')
#endif