gdk-pixbuf: Explicitly pass link directories
FreeBSD by default only looks for headers/libraries in base system, so
depending on packages requires passing -isystem + -L or relying on pkg-config.
FAILED: contrib/gdk-pixbuf/libpixbufloader-avif.so
: && /usr/bin/cc -fPIC -shared -o contrib/gdk-pixbuf/libpixbufloader-avif.so contrib/gdk-pixbuf/CMakeFiles/pixbufloader-avif.dir/loader.c.o -Wl,-rpath,/tmp/libavif_build: -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lintl libavif.so.16.0.0 && :
ld: error: unable to find library -lgdk_pixbuf-2.0
ld: error: unable to find library -lgobject-2.0
ld: error: unable to find library -lglib-2.0
ld: error: unable to find library -lintl
cc: error: linker command failed with exit code 1 (use -v to see invocation)
diff --git a/contrib/gdk-pixbuf/CMakeLists.txt b/contrib/gdk-pixbuf/CMakeLists.txt
index 27f8e5d..67461c2 100644
--- a/contrib/gdk-pixbuf/CMakeLists.txt
+++ b/contrib/gdk-pixbuf/CMakeLists.txt
@@ -11,6 +11,7 @@
add_library(pixbufloader-avif MODULE ${GDK_PIXBUF_SRCS})
target_link_libraries(pixbufloader-avif PUBLIC ${GDK_PIXBUF_LIBRARIES} avif)
+ target_link_directories(pixbufloader-avif PUBLIC ${GDK_PIXBUF_LIBRARY_DIRS})
target_include_directories(pixbufloader-avif PUBLIC ${GDK_PIXBUF_INCLUDE_DIRS})
pkg_get_variable(GDK_PIXBUF_MODULEDIR gdk-pixbuf-2.0 gdk_pixbuf_moduledir)