sdl12-compat: sdl-config.in,sdl12_compat.pc.in: sync and use CMake variables

From 01e0b59b4662b9b840db143c735e4320904baa9e Mon Sep 17 00:00:00 2001
From: "Haelwenn (lanodan) Monnier" <[EMAIL REDACTED]>
Date: Fri, 4 Jun 2021 00:07:04 +0200
Subject: [PATCH] sdl-config.in,sdl12_compat.pc.in: sync and use CMake
 variables

---
 CMakeLists.txt     | 18 ++++++------------
 sdl-config.in      | 13 +++++++------
 sdl12_compat.pc.in |  8 ++++----
 3 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 76f3b3e..ceebd3a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -167,6 +167,12 @@ install(TARGETS SDL
 )
 
 if(SDL12DEVEL)
+  set(SDL_VERSION "${SDL12_COMPAT_VERSION_STR}")
+  set(SDL_CFLAGS "-D_GNU_SOURCE=1 -D_REENTRANT")
+  set(SDL_RLD_FLAGS "")  # !!! FIXME: this forces rpath, which we might want?
+  set(SDL_LIBS "-lSDL")
+  set(SDL_STATIC_LIBS "-lm -ldl -lpthread")
+
   install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
   )
   configure_file(sdl12_compat.pc.in sdl12_compat.pc @ONLY)
@@ -174,24 +180,12 @@ if(SDL12DEVEL)
     DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
   )
 
-  # !!! FIXME: lots of these sdl-config vars probably need more customization.
-
   # !!! FIXME: do we _want_ static builds?
   set(ENABLE_STATIC_TRUE "")
   set(ENABLE_STATIC_FALSE "#")
   set(ENABLE_SHARED_TRUE "")
   set(ENABLE_SHARED_FALSE "#")
 
-  set(SDL_VERSION "${SDL12_COMPAT_VERSION_STR}")
-  set(SDL_CFLAGS "-D_GNU_SOURCE=1 -D_REENTRANT")
-  set(SDL_RLD_FLAGS "")  # !!! FIXME: this forces rpath, which we might want?
-  set(SDL_LIBS "-lSDL")
-  set(SDL_STATIC_LIBS "-lm -ldl -lpthread")
-  set(prefix ${CMAKE_INSTALL_PREFIX})
-  set(exec_prefix "\${prefix}")
-  set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
-  set(bindir "\${exec_prefix}/bin")
-  set(includedir "\${prefix}/include")
   configure_file("${CMAKE_SOURCE_DIR}/sdl-config.in" "${CMAKE_BINARY_DIR}/sdl-config" @ONLY)
   install(PROGRAMS "${CMAKE_BINARY_DIR}/sdl-config" DESTINATION bin)
 endif()
diff --git a/sdl-config.in b/sdl-config.in
index f7895c2..528a355 100755
--- a/sdl-config.in
+++ b/sdl-config.in
@@ -7,10 +7,11 @@
 
 # Copied and modified from SDL2's sdl2-compat.
 
-prefix=@prefix@
-exec_prefix=@exec_prefix@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
 exec_prefix_set=no
-libdir=@libdir@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
 
 @ENABLE_STATIC_FALSE@usage="\
 @ENABLE_STATIC_FALSE@Usage: $0 [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs]"
@@ -49,14 +50,14 @@ while test $# -gt 0; do
       echo @SDL_VERSION@
       ;;
     --cflags)
-      echo -I@includedir@/SDL2 @SDL_CFLAGS@
+      echo -I${includedir}/SDL @SDL_CFLAGS@
       ;;
 @ENABLE_SHARED_TRUE@    --libs)
-@ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
+@ENABLE_SHARED_TRUE@      echo -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@
 @ENABLE_SHARED_TRUE@      ;;
 @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@    --static-libs)
 @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@    --libs|--static-libs)
-@ENABLE_STATIC_TRUE@      echo -L@libdir@ @SDL_LIBS@ @SDL_STATIC_LIBS@
+@ENABLE_STATIC_TRUE@      echo -L${libdir} @SDL_LIBS@ @SDL_STATIC_LIBS@
 @ENABLE_STATIC_TRUE@      ;;
     *)
       echo "${usage}" 1>&2
diff --git a/sdl12_compat.pc.in b/sdl12_compat.pc.in
index ae32bc0..39e5c31 100644
--- a/sdl12_compat.pc.in
+++ b/sdl12_compat.pc.in
@@ -8,7 +8,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
 Name: sdl12_compat
 Description: An SDL-1.2 compatibility layer that uses SDL 2.0 behind the scenes.
 Version: @PROJECT_VERSION@
-Provides: sdl = 1.2.50
-Libs: -L${libdir}  -lSDL  -lpthread
-Libs.private: -lSDL  -lpthread  -lm -ldl -lpthread
-Cflags: -I${includedir}/SDL -D_GNU_SOURCE=1 -D_REENTRANT
+Provides: sdl = @SDL_VERSION@
+Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@
+Libs.private: -L${libdir} @SDL_LIBS@ @SDL_STATIC_LIBS@
+Cflags: -I${includedir}/SDL @SDL_CFLAGS@