SDL_image: Handle absolute include and lib paths in cmake

From 4fc74106d68dcc04b7aaa1e7359732b9a6787068 Mon Sep 17 00:00:00 2001
From: Marcin Serwin <[EMAIL REDACTED]>
Date: Mon, 3 Mar 2025 16:25:15 +0100
Subject: [PATCH] Handle absolute include and lib paths in cmake

---
 CMakeLists.txt         | 11 +++++++++++
 cmake/sdl3-image.pc.in |  4 ++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7dc32ca95..0d75249d5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1123,6 +1123,17 @@ if(SDLIMAGE_INSTALL)
       set(SDL_PKGCONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")
     endif()
 
+    if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}")
+      set(INCLUDEDIR_FOR_PKG_CONFIG "${CMAKE_INSTALL_INCLUDEDIR}")
+    else()
+      set(INCLUDEDIR_FOR_PKG_CONFIG "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+    endif()
+    if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}")
+      set(LIBDIR_FOR_PKG_CONFIG "${CMAKE_INSTALL_LIBDIR}")
+    else()
+      set(LIBDIR_FOR_PKG_CONFIG "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
+    endif()
+
     string(JOIN " " PC_REQUIRES ${PC_REQUIRES})
     string(JOIN " " PC_LIBS ${PC_LIBS})
     configure_file(cmake/sdl3-image.pc.in sdl3-image.pc @ONLY)
diff --git a/cmake/sdl3-image.pc.in b/cmake/sdl3-image.pc.in
index dae41dfa3..ddd3768a0 100644
--- a/cmake/sdl3-image.pc.in
+++ b/cmake/sdl3-image.pc.in
@@ -1,7 +1,7 @@
 prefix=@SDL_PKGCONFIG_PREFIX@
 exec_prefix=${prefix}
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+libdir=@LIBDIR_FOR_PKG_CONFIG@
+includedir=@INCLUDEDIR_FOR_PKG_CONFIG@
 
 Name: @PROJECT_NAME@
 Description: image loading library for Simple DirectMedia Layer