diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2022-06-10 01:16:14 +0200 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2022-06-10 02:08:56 +0200 |
commit | 60a8ee7a80063eaf620eaa727af0f484fdb91bff (patch) | |
tree | 5791554d3691a6a8cd903123d77725d3b3dd7756 | |
parent | 84f8c9436ffb84ca5d443b906f1ffb7be42a50e2 (diff) | |
download | fiv-60a8ee7a80063eaf620eaa727af0f484fdb91bff.tar.gz fiv-60a8ee7a80063eaf620eaa727af0f484fdb91bff.tar.xz fiv-60a8ee7a80063eaf620eaa727af0f484fdb91bff.zip |
Build tools with Meson as well
-rw-r--r-- | meson.build | 13 | ||||
-rw-r--r-- | meson_options.txt | 3 | ||||
-rw-r--r-- | tools/.gitignore | 5 | ||||
-rw-r--r-- | tools/Makefile | 15 | ||||
-rwxr-xr-x | tools/clean-up-thumbnail-cache.sh | 2 |
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 |