aboutsummaryrefslogtreecommitdiff
path: root/main/meson.build
blob: a2902dbddf1f88e8cb1cc1bb93f7819af00ee327 (plain) (blame)
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
subdir('po')
dependencies = [
    dep_dino,
    dep_gee,
    dep_glib,
    dep_gmodule,
    dep_gtk4,
    dep_icu_uc,
    dep_libadwaita,
    dep_m,
    dep_qlite,
    dep_xmpp_vala,
]
sources = files(
    'src/main.vala',
    'src/ui/add_conversation/add_conference_dialog.vala',
    'src/ui/add_conversation/add_contact_dialog.vala',
    'src/ui/add_conversation/add_groupchat_dialog.vala',
    'src/ui/add_conversation/conference_details_fragment.vala',
    'src/ui/add_conversation/conference_list.vala',
    'src/ui/add_conversation/list_row.vala',
    'src/ui/add_conversation/roster_list.vala',
    'src/ui/add_conversation/select_contact_dialog.vala',
    'src/ui/add_conversation/select_jid_fragment.vala',
    'src/ui/application.vala',
    'src/ui/call_window/audio_settings_popover.vala',
    'src/ui/call_window/call_bottom_bar.vala',
    'src/ui/call_window/call_connection_details_window.vala',
    'src/ui/call_window/call_encryption_button.vala',
    'src/ui/call_window/call_window.vala',
    'src/ui/call_window/call_window_controller.vala',
    'src/ui/call_window/participant_widget.vala',
    'src/ui/call_window/video_settings_popover.vala',
    'src/ui/chat_input/chat_input_controller.vala',
    'src/ui/chat_input/chat_text_view.vala',
    'src/ui/chat_input/encryption_button.vala',
    'src/ui/chat_input/occupants_tab_completer.vala',
    'src/ui/chat_input/smiley_converter.vala',
    'src/ui/chat_input/view.vala',
    'src/ui/contact_details/permissions_provider.vala',
    'src/ui/contact_details/settings_provider.vala',
    'src/ui/conversation_content_view/call_widget.vala',
    'src/ui/conversation_content_view/chat_state_populator.vala',
    'src/ui/conversation_content_view/content_populator.vala',
    'src/ui/conversation_content_view/conversation_item_skeleton.vala',
    'src/ui/conversation_content_view/conversation_view.vala',
    'src/ui/conversation_content_view/date_separator_populator.vala',
    'src/ui/conversation_content_view/file_default_widget.vala',
    'src/ui/conversation_content_view/file_image_widget.vala',
    'src/ui/conversation_content_view/file_widget.vala',
    'src/ui/conversation_content_view/item_actions.vala',
    'src/ui/conversation_content_view/message_widget.vala',
    'src/ui/conversation_content_view/quote_widget.vala',
    'src/ui/conversation_content_view/reactions_widget.vala',
    'src/ui/conversation_content_view/subscription_notification.vala',
    'src/ui/conversation_content_view/unread_indicator_populator.vala',
    'src/ui/conversation_details.vala',
    'src/ui/conversation_list_titlebar.vala',
    'src/ui/conversation_selector/conversation_selector.vala',
    'src/ui/conversation_selector/conversation_selector_row.vala',
    'src/ui/conversation_titlebar/call_entry.vala',
    'src/ui/conversation_titlebar/conversation_titlebar.vala',
    'src/ui/conversation_titlebar/menu_entry.vala',
    'src/ui/conversation_titlebar/occupants_entry.vala',
    'src/ui/conversation_titlebar/search_entry.vala',
    'src/ui/conversation_view.vala',
    'src/ui/conversation_view_controller.vala',
    'src/ui/file_send_overlay.vala',
    'src/ui/global_search.vala',
    'src/ui/main_window.vala',
    'src/ui/main_window_controller.vala',
    'src/ui/notifier_freedesktop.vala',
    'src/ui/notifier_gnotifications.vala',
    'src/ui/occupant_menu/list.vala',
    'src/ui/occupant_menu/list_row.vala',
    'src/ui/occupant_menu/view.vala',
    'src/ui/util/accounts_combo_box.vala',
    'src/ui/util/config.vala',
    'src/ui/util/data_forms.vala',
    'src/ui/util/helper.vala',
    'src/ui/util/label_hybrid.vala',
    'src/ui/util/preference_group.vala',
    'src/ui/util/size_request_box.vala',
    'src/ui/util/sizing_bin.vala',
    'src/ui/widgets/avatar_picture.vala',
    'src/ui/widgets/date_separator.vala',
    'src/ui/widgets/fixed_ratio_picture.vala',
    'src/ui/widgets/natural_size_increase.vala',
    'src/view_model/account_details.vala',
    'src/view_model/conversation_details.vala',
    'src/view_model/preferences_row.vala',
    'src/view_model/preferences_window.vala',
    'src/windows/preferences_window/account_preferences_subpage.vala',
    'src/windows/preferences_window/accounts_preferences_page.vala',
    'src/windows/preferences_window/add_account_dialog.vala',
    'src/windows/preferences_window/encryption_preferences_page.vala',
    'src/windows/preferences_window/general_preferences_page.vala',
    'src/windows/preferences_window/preferences_window.vala',
    'src/windows/conversation_details.vala',
)
sources += gnome.compile_resources(
    'resources',
    'data/gresource.xml',
    source_dir: 'data',
)

c_args = [
    '-DG_LOG_DOMAIN="dino"',
    '-DGETTEXT_PACKAGE="dino"',
    '-DLOCALE_INSTALL_DIR="@0@"'.format(get_option('prefix') / get_option('localedir')),
]
vala_args = [
    '--vapidir', meson.current_source_dir() / 'vapi',
]
if dep_gtk4.version() == 'unknown' or dep_gtk4.version().version_compare('>=4.6')
    vala_args += ['-D', 'GTK_4_6']
endif
if dep_gtk4.version() == 'unknown' or dep_gtk4.version().version_compare('>=4.8')
    vala_args += ['-D', 'GTK_4_8']
endif
exe_dino = executable('dino', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true)

install_data('data/icons/scalable/apps/im.dino.Dino-symbolic.svg', install_dir: get_option('datadir') / 'hicolor/symbolic/apps')
install_data('data/icons/scalable/apps/im.dino.Dino.svg', install_dir: get_option('datadir') / 'hicolor/scalable/apps')
install_data('data/im.dino.Dino.appdata.xml', install_dir: get_option('datadir') / 'metainfo')
install_data('data/im.dino.Dino.desktop', install_dir: get_option('datadir') / 'applications')
install_data('data/im.dino.Dino.service', install_dir: get_option('datadir') / 'dbus-1/services')