summaryrefslogtreecommitdiff
path: root/src/meson.build
blob: 5c2ef5dd709f334445a9f5607e58d512dc7697e1 (plain)
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
subdir('io')

# GSettings
compiled = gnome.compile_schemas()
install_data('org.gnome.Contacts.gschema.xml',
  install_dir: get_option('datadir') / 'glib-2.0' / 'schemas',
)

# Common library
libcontacts_sources = files(
  'core/contacts-addresses-chunk.vala',
  'core/contacts-alias-chunk.vala',
  'core/contacts-avatar-chunk.vala',
  'core/contacts-bin-chunk.vala',
  'core/contacts-birthday-chunk.vala',
  'core/contacts-chunk.vala',
  'core/contacts-contact.vala',
  'core/contacts-email-addresses-chunk.vala',
  'core/contacts-full-name-chunk.vala',
  'core/contacts-im-addresses-chunk.vala',
  'core/contacts-nickname-chunk.vala',
  'core/contacts-notes-chunk.vala',
  'core/contacts-phones-chunk.vala',
  'core/contacts-roles-chunk.vala',
  'core/contacts-structured-name-chunk.vala',
  'core/contacts-type-descriptor.vala',
  'core/contacts-type-set.vala',
  'core/contacts-urls-chunk.vala',
  'core/contacts-vcard-type-mapping.vala',

  'contacts-abstract-field-details-sorter.vala',
  'contacts-chunk-filter.vala',
  'contacts-chunk-empty-filter.vala',
  'contacts-chunk-property-filter.vala',
  'contacts-chunk-sorter.vala',
  'contacts-delete-operation.vala',
  'contacts-esd-setup.vala',
  'contacts-im-service.vala',
  'contacts-import-operation.vala',
  'contacts-individual-sorter.vala',
  'contacts-link-operation.vala',
  'contacts-operation.vala',
  'contacts-operation-list.vala',
  'contacts-persona-filter.vala',
  'contacts-persona-sorter.vala',
  'contacts-query-filter.vala',
  'contacts-store.vala',
  'contacts-unlink-operation.vala',
  'contacts-utils.vala',

  'io/contacts-io-export-operation.vala',
  'io/contacts-io-vcard-export-operation.vala',
  'io/contacts-io-parse-operation.vala',
  'io/contacts-io.vala',
)

contacts_vala_args = [
  '--target-glib=@0@'.format(min_glib_version),
  '--pkg', 'config',
  '--pkg', 'custom',
]

contacts_c_args = [
  '-include', 'config.h',
  '-DLOCALEDIR="@0@"'.format(locale_dir),
]

contacts_deps = [
  folks,
  folks_eds,
  gee,
  gio_unix,
  glib,
  goa,
  gtk4_dep,
  libadwaita_dep,
  libebook,
  libedataserver,
  # libedataserverui,
  libportal_dep,
  math,
]

libcontacts = static_library('contacts',
  libcontacts_sources,
  include_directories: config_h_dir,
  vala_args: contacts_vala_args,
  c_args: contacts_c_args,
  dependencies: contacts_deps,
)

libcontacts_dep = declare_dependency(
  link_with: libcontacts,
  include_directories: include_directories('.'),
  dependencies: contacts_deps,
)


# The gnome-contacts binary
contacts_vala_sources = files(
  'contacts-addressbook-dialog.vala',
  'contacts-accounts-list.vala',
  'contacts-app.vala',
  'contacts-avatar.vala',
  'contacts-avatar-selector.vala',
  'contacts-contact-editor.vala',
  'contacts-contact-list.vala',
  'contacts-contact-pane.vala',
  'contacts-contact-sheet.vala',
  'contacts-crop-dialog.vala',
  'contacts-link-suggestion-grid.vala',
  'contacts-linked-personas-dialog.vala',
  'contacts-main-window.vala',
  'contacts-preferences-window.vala',
  'contacts-settings.vala',
  'contacts-setup-window.vala',
  'contacts-type-combo.vala',
  'contacts-ui-state.vala',
  'main.vala',
)

contacts_c_sources = [
  'cc-crop-area.c',
]

# if cheese_dep.found() and cheese_gtk_dep.found()
#   contacts_c_sources += 'cheese-flash.c'
# endif

contacts_sources = [
  contacts_c_sources,
  contacts_vala_sources,
  resources,
]

executable('gnome-contacts', contacts_sources,
  include_directories: config_h_dir,
  vala_args: contacts_vala_args,
  c_args: contacts_c_args,
  dependencies: libcontacts_dep,
  install: true,
)


# The search provider
executable('gnome-contacts-search-provider',
  'contacts-shell-search-provider.vala',
  dependencies: libcontacts_dep,
  include_directories: config_h_dir,
  vala_args: contacts_vala_args,
  c_args: contacts_c_args,
  install: true,
  install_dir: get_option('libexecdir'),
)