PIKApp/icons/meson.build

82 lines
2.1 KiB
Meson

pikaiconsdir = pikadatadir / 'icons'
themes = [
'Color',
'Legacy',
'Symbolic',
'hicolor'
]
foreach theme : themes
# Install these always from PNG sources.
install_icons = [
{
'outdir': '64x64',
'indir': '64',
'suffix': '.png',
'files': [ 'bitmap_64-always', ],
},
]
if have_vector_icons
if theme == 'Symbolic'
suffix = '-symbolic.svg'
else
suffix = '.svg'
endif
install_icons += [
{
'outdir': 'scalable',
'indir': 'scalable',
'suffix': suffix,
'files': [ 'scalable',
'color-selectors', 'controllers', 'display-filters',
'locks', 'prefs', 'templates', 'tools' ],
},
]
else
source_list = {
'12': [ 'bitmap_12', ],
'16': [ 'bitmap_16',
'color-selectors', 'controllers', 'display-filters',
'locks', 'prefs', 'templates', 'tools' ],
'18': [ 'bitmap_18', ],
'22': [ 'bitmap_22', ],
'24': [ 'bitmap_24', 'templates', 'tools' ],
'32': [ 'bitmap_32', ],
'48': [ 'bitmap_48', 'prefs' ],
'64': [ 'bitmap_64', 'bitmap_64-system', ],
'96': [ 'bitmap_96', ],
'128': [ 'bitmap_128', ],
'192': [ 'bitmap_192', ],
'256': [ 'bitmap_256', ],
}
build_icons = {
}
foreach size, inputs : source_list
dup_icons = []
foreach input : inputs
icon_list = 'icon-lists/@0@.list'.format(input)
py_cmd = 'print(",".join([line.strip() for line in open("@0@") if line.strip() != "" and line.strip()[0] != "#"]))'
cmd = run_command(python, '-c',
py_cmd.format(icon_list),
check: true)
dup_icons += cmd.stdout().strip().split(',')
endforeach
source_icons = []
foreach icon : dup_icons
if not source_icons.contains(icon)
# remove duplicates.
source_icons += [icon]
endif
endforeach
build_icons += {size: source_icons}
endforeach
endif
subdir(theme)
endforeach