meson.build 4.53 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#
# Copyright (C) 2018 Purism SPC
#
# This file is part of Calls.
#
# Calls is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Calls is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Calls.  If not, see <http://www.gnu.org/licenses/>.
#
# Author: Bob Ham <bob.ham@puri.sm>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#

24 25
subdir('wayland')

26 27
gnome = import('gnome')

28
src_include = include_directories('.')
29
calls_includes = [ top_include, src_include ]
30

Guido Gunther's avatar
Guido Gunther committed
31
calls_deps = [ dependency('gobject-2.0', version: '>= 2.58'),
32
               dependency('gtk+-3.0'),
33
               dependency('libhandy-0.0', version: '>= 0.0.12'),
Guido Gunther's avatar
Guido Gunther committed
34
               dependency('libfeedback-0.0'),
35
               dependency('libpeas-1.0'),
36
               dependency('gom-1.0'),
Bob Ham's avatar
Bob Ham committed
37
               dependency('libebook-contacts-1.2'),
38
               dependency('folks'),
39
             ]
40

41 42 43 44 45
if wl_scanner.found()
  calls_includes += include_directories('wayland')
  calls_deps += dependency('wayland-client', version: '>=1.14')
endif

46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

calls_vala_deps = [
  dependency('libebook-contacts-1.2'),
  dependency('folks'),
]

calls_vala_sources = files (
  [
    'calls-phone-number-query.vala',
    'calls-best-match-view.vala',
  ]
)

calls_vala = static_library (
  'calls-vala',
  calls_vala_sources,
  vala_header : 'calls-vala.h',
  dependencies : calls_vala_deps,
)


67 68 69 70 71 72 73 74 75 76 77 78 79 80
calls_sources = files(['calls-message-source.c', 'calls-message-source.h',
                       'calls-call.c',
                       'calls-origin.c', 'calls-origin.h',
                       'calls-provider.c', 'calls-provider.h',
                       'calls-party.c', 'calls-party.h',
                       'calls-call-data.c', 'calls-call-data.h',
                       'calls-call-holder.c', 'calls-call-holder.h',
                       'calls-call-display.c', 'calls-call-display.h',
                       'calls-call-selector-item.c', 'calls-call-selector-item.h',
                       'calls-call-window.c', 'calls-call-window.h',
                       'calls-encryption-indicator.c', 'calls-encryption-indicator.h',
                       'calls-history-box.c', 'calls-history-box.h',
                       'calls-new-call-box.c', 'calls-new-call-box.h',
                       'calls-main-window.c', 'calls-main-window.h',
Bob Ham's avatar
Bob Ham committed
81
                       'calls-ringer.c', 'calls-ringer.h',
Mohammed Sadiq's avatar
Mohammed Sadiq committed
82
                       'calls-application.c', 'calls-application.h',
83
                       'util.c', 'util.h',
84 85
                       'calls-call-record.c', 'calls-call-record.h',
                       'calls-record-store.c', 'calls-record-store.h',
86
                       'calls-call-record-row.c', 'calls-call-record-row.h',
87
                       'calls-contacts.c', 'calls-contacts.h',
Bob Ham's avatar
Bob Ham committed
88
                       'calls-best-match.c', 'calls-best-match.h',
89
                       'calls-in-app-notification.c', 'calls-in-app-notification.h',
90
                       'calls-manager.c', 'calls-manager.h',
91
                       'calls-notifier.c', 'calls-notifier.h',
Julian Sparber's avatar
Julian Sparber committed
92
                       'contrib/hdy-avatar.c', 'contrib/hdy-avatar.h',
93
                      ])
94

95 96
calls_config_data = config_data
calls_config_data.set_quoted('VCS_TAG', '@VCS_TAG@')
97
calls_config_data.set10('WL_SCANNER_FOUND', wl_scanner.found())
Adrien Plazas's avatar
Adrien Plazas committed
98

99 100 101
use_l5_hacks = get_option('librem5-hack')
calls_config_data.set('CALLS_USE_UGLY_CODE', use_l5_hacks)

Adrien Plazas's avatar
Adrien Plazas committed
102 103
config_h_in = configure_file(
  output: 'config.h.in',
104
  configuration: calls_config_data
Adrien Plazas's avatar
Adrien Plazas committed
105 106 107 108 109 110 111 112
)

config_h = vcs_tag(
    fallback: '',
       input: config_h_in,
      output: 'config.h',
)

113
calls_enum_headers = files(['calls-call.h', 'calls-manager.h'])
Bob Ham's avatar
Bob Ham committed
114 115
calls_enum_sources = gnome.mkenums_simple('enum-types',
                                          sources : calls_enum_headers)
116 117 118 119

calls_resources = gnome.compile_resources(
   'calls-resources',
   'calls.gresources.xml',
120
   source_dir: ['ui', '../data'],
121 122 123
   c_name: 'call',
)

124 125 126 127 128 129 130 131
executable (
  'calls',
  calls_sources, calls_enum_sources, calls_resources,
  wl_proto_sources, wayland_sources, 'main.c',
  dependencies : calls_deps,
  export_dynamic : true,
  include_directories : calls_includes,
  install : true,
132 133
  link_with : calls_vala,
  c_args : '-Wno-error=deprecated-declarations',
134
)