SDL_mixer: Handle absolute include and lib paths in cmake

From 5ee0e7fb499f515299680c8f33256d84b9139634 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Fri, 7 Mar 2025 19:12:45 +0100
Subject: [PATCH] Handle absolute include and lib paths in cmake

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

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f6e5d174..2605266a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1194,6 +1194,17 @@ if(SDLMIXER_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-mixer.pc.in sdl3-mixer.pc @ONLY)
diff --git a/cmake/sdl3-mixer.pc.in b/cmake/sdl3-mixer.pc.in
index b93ee693..16a503e1 100644
--- a/cmake/sdl3-mixer.pc.in
+++ b/cmake/sdl3-mixer.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: mixer library for Simple DirectMedia Layer