$NetBSD$

* adapt to make gdk-pixbuf plugin a separate package

--- plugins/gdk-pixbuf/CMakeLists.txt.orig	2021-10-04 18:02:44.000000000 +0000
+++ plugins/gdk-pixbuf/CMakeLists.txt
@@ -2,9 +2,12 @@
 #
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
+cmake_minimum_required(VERSION 3.10)
+project(gdl-pixbuf-jxl LANGUAGES C CXX)
 
 find_package(PkgConfig)
 pkg_check_modules(Gdk-Pixbuf IMPORTED_TARGET gdk-pixbuf-2.0>=2.36)
+pkg_check_modules(JXL IMPORTED_TARGET libjxl libjxl_threads)
 
 if (NOT Gdk-Pixbuf_FOUND)
   message(WARNING "GDK Pixbuf development libraries not found, \
@@ -12,7 +15,7 @@ if (NOT Gdk-Pixbuf_FOUND)
   return ()
 endif ()
 
-add_library(pixbufloader-jxl SHARED pixbufloader-jxl.c)
+add_library(pixbufloader-jxl SHARED pixbufloader-jxl.c ../../third_party/skcms/skcms.cc)
 
 # Mark all symbols as hidden by default. The PkgConfig::Gdk-Pixbuf dependency
 # will cause fill_info and fill_vtable entry points to be made public.
@@ -23,7 +26,8 @@ set_target_properties(pixbufloader-jxl P
 
 # Note: This only needs the decoder library, but we don't install the decoder
 # shared library.
-target_link_libraries(pixbufloader-jxl jxl jxl_threads skcms-interface PkgConfig::Gdk-Pixbuf)
+target_link_libraries(pixbufloader-jxl PkgConfig::JXL PkgConfig::Gdk-Pixbuf)
+target_include_directories(pixbufloader-jxl PRIVATE "../../third_party/skcms")
 
 pkg_get_variable(GDK_PIXBUF_MODULEDIR gdk-pixbuf-2.0 gdk_pixbuf_moduledir)
 install(TARGETS pixbufloader-jxl LIBRARY DESTINATION "${GDK_PIXBUF_MODULEDIR}")
@@ -32,6 +36,7 @@ install(TARGETS pixbufloader-jxl LIBRARY
 # mime type image/jxl to
 # /usr/share/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer
 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/jxl.thumbnailer DESTINATION share/thumbnailers/)
+install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../mime/image-jxl.xml DESTINATION share/mime/packages/)
 
 if(BUILD_TESTING AND NOT MINGW)
   pkg_check_modules(Gdk IMPORTED_TARGET gdk-2.0)
