From 83b98738b678056d420e69c2ae894f5d08219a0e Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Mon, 21 Feb 2022 17:41:00 +0800 Subject: [PATCH 1/3] meson.build: Consolidate items with MSVC-like compilers Add a variable in meson.build that covers Visual Studio-like compilers, so that we can use it to help us find depedencies using CMake rather than via pkg-config, where applicable. Change the existing use case for finding libpng accordingly. --- meson.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 5add133d46..b76d1d65c5 100644 --- a/meson.build +++ b/meson.build @@ -409,12 +409,14 @@ if win32_enabled pangowin32_dep = dependency('pangowin32') endif +is_msvc_like = cc.get_argument_syntax() == 'msvc' + pangocairo_dep = dependency('pangocairo', version: pango_req, fallback : ['pango', 'libpangocairo_dep']) pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req, fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'], default_options: ['png=enabled', 'jpeg=enabled', 'builtin_loaders=png,jpeg', 'man=false']) -png_dep = dependency(cc.get_argument_syntax() == 'msvc' ? 'png' : 'libpng', +png_dep = dependency(is_msvc_like ? 'png' : 'libpng', fallback: ['libpng', 'libpng_dep'], required: true) tiff_dep = dependency('libtiff-4', From 6eda5deefffaa284ee01824544befa9536e1507d Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Mon, 21 Feb 2022 17:46:11 +0800 Subject: [PATCH 2/3] meson.build: Use CMake to find libtiff on MSVC-like The CMake build files for libtiff may or may not generate pkg-config files for us, so we can use Meson's CMake support to help us find libtiff, as CMake has built-in support for finding libtiff. --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index b76d1d65c5..4a1e41d4a5 100644 --- a/meson.build +++ b/meson.build @@ -419,7 +419,7 @@ pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req, png_dep = dependency(is_msvc_like ? 'png' : 'libpng', fallback: ['libpng', 'libpng_dep'], required: true) -tiff_dep = dependency('libtiff-4', +tiff_dep = dependency(is_msvc_like ? 'tiff' : 'libtiff-4', fallback: ['libtiff', 'libtiff4_dep'], required: true) jpeg_dep = dependency('libjpeg', From 2e34d6211171c1ceabec33c01e0fc1982ee00cf1 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Mon, 21 Feb 2022 17:50:15 +0800 Subject: [PATCH 3/3] meson.build: Use CMake to find libjpeg on MSVC-like builds One may be using IJG libjpeg or libjpeg-turbo to build GTK, and their build files may or may not generate pkg-config files for us. To make things easier, we can make use of CMake's built-in support for finding IJG libjpeg or libjpeg-turbo. --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 4a1e41d4a5..1be01835e4 100644 --- a/meson.build +++ b/meson.build @@ -422,7 +422,7 @@ png_dep = dependency(is_msvc_like ? 'png' : 'libpng', tiff_dep = dependency(is_msvc_like ? 'tiff' : 'libtiff-4', fallback: ['libtiff', 'libtiff4_dep'], required: true) -jpeg_dep = dependency('libjpeg', +jpeg_dep = dependency(is_msvc_like ? 'jpeg' : 'libjpeg', fallback: ['libjpeg-turbo', 'jpeg_dep'], required: true)