aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2022-06-10 01:16:14 +0200
committerPřemysl Eric Janouch <p@janouch.name>2022-06-10 02:08:56 +0200
commit60a8ee7a80063eaf620eaa727af0f484fdb91bff (patch)
tree5791554d3691a6a8cd903123d77725d3b3dd7756
parent84f8c9436ffb84ca5d443b906f1ffb7be42a50e2 (diff)
downloadfiv-60a8ee7a80063eaf620eaa727af0f484fdb91bff.tar.gz
fiv-60a8ee7a80063eaf620eaa727af0f484fdb91bff.tar.xz
fiv-60a8ee7a80063eaf620eaa727af0f484fdb91bff.zip
Build tools with Meson as well
-rw-r--r--meson.build13
-rw-r--r--meson_options.txt3
-rw-r--r--tools/.gitignore5
-rw-r--r--tools/Makefile15
-rwxr-xr-xtools/clean-up-thumbnail-cache.sh2
5 files changed, 17 insertions, 21 deletions
diff --git a/meson.build b/meson.build
index b885e2e..a33cbd7 100644
--- a/meson.build
+++ b/meson.build
@@ -115,6 +115,19 @@ jpegcrop = executable('fiv-jpegcrop', 'fiv-jpegcrop.c',
install_data('fiv-jpegcrop.desktop',
install_dir : get_option('datadir') / 'applications')
+if get_option('tools').enabled()
+ # libjq 1.6 lacks a pkg-config file, and there is no release in sight.
+ # libjq 1.6 is required.
+ tools_dependencies = [cc.find_library('libjq'), dependency('libpng')]
+ tools_c_args = cc.get_supported_arguments(
+ '-Wno-unused-function', '-Wno-unused-parameter')
+ foreach tool : ['pnginfo', 'jpeginfo', 'tiffinfo', 'webpinfo', 'bmffinfo']
+ executable(tool, 'tools/' + tool + '.c',
+ dependencies : tools_dependencies,
+ c_args: tools_c_args)
+ endforeach
+endif
+
# XXX: With gdk-pixbuf, this even depends on currently installed modules.
if meson.is_cross_build()
install_data('fiv.desktop',
diff --git a/meson_options.txt b/meson_options.txt
index fb44094..dad40f8 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,6 @@
+option('tools', type : 'feature', value : 'disabled',
+ description : 'Build a few extra file inspection tools')
+
option('lcms2', type : 'feature', value : 'auto',
description : 'Build with Little CMS colour management')
option('libjpegqs', type : 'feature', value : 'auto',
diff --git a/tools/.gitignore b/tools/.gitignore
deleted file mode 100644
index 1389941..0000000
--- a/tools/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/pnginfo
-/jpeginfo
-/tiffinfo
-/webpinfo
-/bmffinfo
diff --git a/tools/Makefile b/tools/Makefile
deleted file mode 100644
index a95b2d9..0000000
--- a/tools/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-SHELL = /bin/sh
-# libjq 1.6 lacks a pkg-config file, and there is no release in sight.
-# libjq 1.6 is required.
-CFLAGS = -g -O2 -Wall -Wextra `pkg-config --cflags $(deps)`
-LDLIBS = -ljq `pkg-config --libs $(deps)`
-
-deps = libpng
-targets = pnginfo jpeginfo tiffinfo webpinfo bmffinfo
-
-all: $(targets)
-$(targets): info.h
-clean:
- rm -f $(targets)
-
-.PHONY: all clean
diff --git a/tools/clean-up-thumbnail-cache.sh b/tools/clean-up-thumbnail-cache.sh
index 94b68e5..fb67a6e 100755
--- a/tools/clean-up-thumbnail-cache.sh
+++ b/tools/clean-up-thumbnail-cache.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
# Remove thumbnails with URIs pointing to at this moment non-existing files.
-make pnginfo
+ninja pnginfo
pnginfo=$(pwd)/pnginfo cache_home=${XDG_CACHE_HOME:-$HOME/.cache}
for size in normal large x-large xx-large; do