PIKApp/icons/Symbolic/meson.build

103 lines
3.3 KiB
Meson
Raw Permalink Normal View History

2023-09-26 00:35:21 +02:00
if not have_vector_icons
gtk_encode_symbolic_svg = find_program('gtk-encode-symbolic-svg', native: true)
foreach size, source_icons : build_icons
# Note: I originally wanted to implement it here in a loop but
# custom_target() doesn't accept an output path with a folder! So I
# end up creating as many empty directories as generated sizes and
# copying the same meson.build everywhere (which is really stupid,
# let's admit it). Only the 64x64 size has a slightly different
# meson.build as it also installs some non-symbolic images.
subdir(size)
endforeach
endif
install_data('index.theme',
install_dir: pikaiconsdir / theme,
)
foreach install : install_icons
icons = []
inputs = install['files']
outdir = install['outdir']
indir = install['indir']
suffix = install['suffix']
py_cmd = 'print(",".join(["@0@/" + line.strip() + "@1@" for line in open("@2@") if line.strip() != "" and line.strip()[0] != "#"]))'
dup_icons = []
foreach input : inputs
input = '../icon-lists/@0@.list'.format(input)
cmd = run_command(python, '-c',
py_cmd.format(indir, suffix, input),
check: true)
dup_icons += cmd.stdout().strip().split(',')
endforeach
foreach icon : dup_icons
if not icons.contains(icon)
# remove duplicates.
icons += [icon]
endif
endforeach
install_data(icons, install_dir: pikaiconsdir / theme / outdir / 'apps')
2023-10-30 23:55:30 +01:00
mascot_eek = '@0@/pika-mascot-eek@1@'.format(indir, suffix)
if mascot_eek in icons
# Note: since this is just a copy of pika-mascot-week, we could just do a
# symlink with install_symlink(), but this is only available in meson 0.61.0
# and looking at its code, it would apparently fail if symlinks are not
# available in the target OS (instead of silently and intelligently falling
# back to doing a copy).
install_data(mascot_eek,
rename: 'image-missing@0@'.format(suffix),
install_dir: pikaiconsdir / theme / outdir / 'apps')
endif
2023-09-26 00:35:21 +02:00
endforeach
icons_core = [ '64/pika-question.png', ]
icons_imgs = [ '64/pika-mascot-eek.png', ]
resourcename = 'pika-core-pixbufs'
xml_content = '<?xml version="1.0" encoding="UTF-8"?>\n'
xml_content += '<gresources>\n'
xml_content += ' <gresource prefix="/technology.heckin/icons">\n'
foreach file : icons_core
xml_content+=' <file preprocess="to-pixdata">'+ file +'</file>\n'
endforeach
xml_content += ' </gresource>\n'
xml_content += '</gresources>\n'
xml_file = configure_file(
output: resourcename + '.gresource.xml',
command: [ 'echo', xml_content ],
capture: true,
)
# icons_core_sources = gnome.compile_resources(
# resourcename,
# xml_file,
# c_name: resourcename.underscorify(),
# )
resourcename = 'pika-icon-pixbufs'
xml_content = '<?xml version="1.0" encoding="UTF-8"?>\n'
xml_content += '<gresources>\n'
xml_content += ' <gresource prefix="/technology.heckin/icons">\n'
foreach file : icons_imgs
xml_content+=' <file preprocess="to-pixdata">'+ file +'</file>\n'
endforeach
xml_content += ' </gresource>\n'
xml_content += '</gresources>\n'
xml_file = configure_file(
output: resourcename + '.gresource.xml',
command: [ 'echo', xml_content ],
capture: true,
)
# icons_imgs_sources = gnome.compile_resources(
# resourcename,
# xml_file,
# c_name: resourcename.underscorify(),
# )