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)