1+ # Install desktop file
2+ desktop_file = i18n.merge_file(
3+ input : ' @0@.desktop.in' .format(application_id),
4+ output : ' @0@.desktop' .format(application_id),
5+ po_dir : join_paths (meson .source_root(), ' po' ),
6+ type : ' desktop' ,
7+ install : true ,
8+ install_dir : join_paths (get_option (' datadir' ), ' applications' )
9+ )
10+ # Validate Desktop file
11+ desktop_file_validate = find_program (' desktop-file-validate' , required : false )
12+ if desktop_file_validate.found()
13+ test (
14+ ' Validate desktop file' ,
15+ desktop_file_validate,
16+ args : desktop_file.full_path()
17+ )
18+ endif
19+ # Install AppData file
20+ appdata_file = i18n.merge_file(
21+ input : ' @0@.appdata.xml.in' .format(application_id),
22+ output : ' @0@.appdata.xml' .format(application_id),
23+ po_dir : join_paths (meson .source_root(), ' po' ),
24+ install : true ,
25+ install_dir : join_paths (get_option (' datadir' ), ' appdata' )
26+ )
27+ # Validate AppData file
28+ appstreamcli = find_program (' appstream-util' , required : false )
29+ if appstreamcli.found()
30+ test (
31+ ' Validate appdata file' ,
32+ appstreamcli,
33+ args : [
34+ ' validate-relax' ,
35+ appdata_file.full_path()
36+ ]
37+ )
38+ endif
39+ # Install Schehma file
40+ install_data (
41+ ' @0@.gschema.xml' .format(application_id),
42+ install_dir : join_paths (get_option (' datadir' ), ' glib-2.0' , ' schemas' )
43+ )
44+ # Install CSS file
45+ install_data (
46+ [
47+ files (' meld.css' )
48+ ],
49+ install_dir : join_paths (get_option (' datadir' ), meson .project_name())
50+ )
51+ # Install the UI files
52+ install_data (
53+ [
54+ ' ui/application.ui' ,
55+ ' ui/appmenu-fallback.xml' ,
56+ ' ui/dirdiff-ui.xml' ,
57+ ' ui/dirdiff.ui' ,
58+ ' ui/EditableList.ui' ,
59+ ' ui/encoding-selector.ui' ,
60+ ' ui/filediff-ui.xml' ,
61+ ' ui/filediff.ui' ,
62+ ' ui/findbar.ui' ,
63+ ' ui/language-selector.ui' ,
64+ ' ui/meldapp-ui.xml' ,
65+ ' ui/meldapp.ui' ,
66+ ' ui/patch-dialog.ui' ,
67+ ' ui/preferences.ui' ,
68+ ' ui/shortcuts.ui' ,
69+ ' ui/tab-placeholder.ui' ,
70+ ' ui/vcview-ui.xml' ,
71+ ' ui/vcview.ui'
72+ ],
73+ install_dir : join_paths (get_option (' datadir' ), meson .project_name(), ' ui' )
74+ )
75+ # Install the styles files
76+ install_data (
77+ [
78+ ' styles/meld-base.xml' ,
79+ ' styles/meld-dark.xml'
80+ ],
81+ install_dir : join_paths (get_option (' datadir' ), meson .project_name(), ' styles' )
82+ )
83+ # Install the mimetypes
84+ appdata_file = i18n.merge_file(
85+ input : join_paths (' mime' , ' @0@.xml.in' .format(application_id)),
86+ output : ' @0@.xml' .format(application_id),
87+ po_dir : join_paths (meson .source_root(), ' po' ),
88+ install : true ,
89+ install_dir : join_paths (get_option (' datadir' ), ' mime' , ' packages' )
90+ )
91+ subdir (' icons' )
0 commit comments