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
|
project('quickmedia', ['c', 'cpp'], version : '1.0.0', default_options : ['warning_level=2', 'cpp_std=c++17'], subproject_dir : 'depends')
if get_option('buildtype') == 'debug'
add_project_arguments('-g3', language : ['c', 'cpp'])
elif get_option('buildtype') == 'release'
add_project_arguments('-DNDEBUG', language : ['c', 'cpp'])
endif
src = [
'external/hash-library/sha256.cpp',
'generated/Tlds.cpp',
'generated/Emoji.cpp',
'src/plugins/utils/aes.c',
'src/plugins/Fourchan.cpp',
'src/plugins/Mangadex.cpp',
'src/plugins/ImageBoard.cpp',
'src/plugins/MangaCombined.cpp',
'src/plugins/Manga.cpp',
'src/plugins/Lbry.cpp',
'src/plugins/NyaaSi.cpp',
'src/plugins/HotExamples.cpp',
'src/plugins/FileManager.cpp',
'src/plugins/MediaGeneric.cpp',
'src/plugins/Matrix.cpp',
'src/plugins/Plugin.cpp',
'src/plugins/MangaGeneric.cpp',
'src/plugins/Pipe.cpp',
'src/plugins/Manganelo.cpp',
'src/plugins/LocalManga.cpp',
'src/plugins/Page.cpp',
'src/plugins/Peertube.cpp',
'src/plugins/LocalAnime.cpp',
'src/plugins/AniList.cpp',
'src/plugins/DramaCool.cpp',
'src/plugins/utils/UniqueProcess.cpp',
'src/plugins/utils/WatchProgress.cpp',
'src/plugins/utils/EpisodeNameParser.cpp',
'src/plugins/Info.cpp',
'src/plugins/Youtube.cpp',
'src/plugins/Saucenao.cpp',
'src/plugins/Soundcloud.cpp',
'src/Theme.cpp',
'src/Storage.cpp',
'src/Text.cpp',
'src/Config.cpp',
'src/DownloadUtils.cpp',
'src/Json.cpp',
'src/gui/Button.cpp',
'src/SearchBar.cpp',
'src/RoundedRectangle.cpp',
'src/Entry.cpp',
'src/Notification.cpp',
'src/AsyncImageLoader.cpp',
'src/ImageViewer.cpp',
'src/Body.cpp',
'src/Program.cpp',
'src/main.cpp',
'src/ImageUtils.cpp',
'src/NetUtils.cpp',
'src/BodyItem.cpp',
'src/Downloader.cpp',
'src/ResourceLoader.cpp',
'src/VideoPlayer.cpp',
'src/Tabs.cpp',
'src/FileAnalyzer.cpp',
'src/QuickMedia.cpp',
'src/M3U8.cpp',
'src/Utils.cpp',
'src/StringUtils.cpp',
]
mglpp_proj = subproject('mglpp')
mglpp_dep = mglpp_proj.get_variable('mglpp_dep')
jsoncpp_proj = subproject('jsoncpp')
jsoncpp_dep = jsoncpp_proj.get_variable('jsoncpp_dep')
html_parser_proj = subproject('html-parser')
html_parser_dep = html_parser_proj.get_variable('html_parser_dep')
html_search_proj = subproject('html-search')
html_search_dep = html_search_proj.get_variable('html_search_dep')
prefix = get_option('prefix')
datadir = get_option('datadir')
qm_resources_path = join_paths(prefix, datadir, 'quickmedia')
add_project_arguments('-march=native', language: ['c', 'cpp'])
executable(
meson.project_name(),
src,
install : true,
dependencies : [
mglpp_dep,
jsoncpp_dep,
html_parser_dep,
html_search_dep,
dependency('threads'),
],
)
executable(
'quickmedia-video-player',
[
'video_player/src/main.cpp'
],
install : true,
dependencies : [
jsoncpp_dep,
dependency('mpv'),
],
)
install_subdir('mpv', install_dir : qm_resources_path)
install_subdir('images', install_dir : qm_resources_path)
install_subdir('icons', install_dir : qm_resources_path)
install_subdir('shaders', install_dir : qm_resources_path)
install_subdir('themes', install_dir : qm_resources_path)
install_subdir('launcher', install_dir : join_paths(prefix, datadir, 'applications'))
install_data(files('boards.json'), install_dir : qm_resources_path)
install_data(files('example-config.json'), install_dir : qm_resources_path)
install_data(files('README.md'), install_dir : qm_resources_path)
install_symlink('qm', install_dir : join_paths(prefix, 'bin'), pointing_to: join_paths(prefix, 'bin', meson.project_name()))
meson.add_install_script('meson_post_install.sh')
|