summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-aux/post-install.bat23
-rw-r--r--meson.build16
2 files changed, 35 insertions, 4 deletions
diff --git a/build-aux/post-install.bat b/build-aux/post-install.bat
new file mode 100644
index 000000000..60981ffb2
--- /dev/null
+++ b/build-aux/post-install.bat
@@ -0,0 +1,23 @@
+@echo off
+
+set libdir=%1
+set binary_version=%2
+
+set libdir_windows=%libdir:/=\%
+
+if not "%DESTDIR%" == "" goto warn_msg
+if not exist %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\ mkdir %libdir_windows%\gdk-pixbuf-2.0\%binary_version%
+gdk-pixbuf-query-loaders > %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\loaders.cache
+
+goto end
+
+:warn_msg
+echo ***
+echo *** Warning: loaders.cache not built
+echo ***
+echo *** You should generate this file manually on the host system
+echo *** using:
+echo *** gdk-pixbuf-query-loaders ^> %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\loaders.cache
+echo ***
+
+:end \ No newline at end of file
diff --git a/meson.build b/meson.build
index 3c656d430..fafaf2da3 100644
--- a/meson.build
+++ b/meson.build
@@ -407,10 +407,18 @@ subdir('thumbnailer')
subdir('docs')
if not meson.is_cross_build()
- meson.add_install_script('build-aux/post-install.sh',
- gdk_pixbuf_libdir,
- gdk_pixbuf_binary_version,
- )
+ # On Visual Studio, we don't normally have a shell interpreter, so use a .bat
+ if cc.get_id() == 'msvc'
+ meson.add_install_script('build-aux/post-install.bat',
+ gdk_pixbuf_libdir,
+ gdk_pixbuf_binary_version,
+ )
+ else
+ meson.add_install_script('build-aux/post-install.sh',
+ gdk_pixbuf_libdir,
+ gdk_pixbuf_binary_version,
+ )
+ endif
endif
summary = [