SDL: cmake: check whether SONAME actualy exists

From 1c6a6493627d6c58f652635f87e6698dcb1516aa Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Tue, 4 Jul 2023 23:40:11 +0200
Subject: [PATCH] cmake: check whether SONAME actualy exists //Have include
 libunwind.h

---
 cmake/sdlchecks.cmake | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake
index 7b5c882b32f5..0b2a8866145e 100644
--- a/cmake/sdlchecks.cmake
+++ b/cmake/sdlchecks.cmake
@@ -18,6 +18,7 @@ macro(FindLibraryAndSONAME _LIB)
     # reduce the library name for shared linking
 
     get_filename_component(_LIB_REALPATH ${${_LNAME}_LIB} REALPATH)  # resolves symlinks
+    get_filename_component(_LIB_DIRECTORY ${_LIB_REALPATH} DIRECTORY)
     get_filename_component(_LIB_JUSTNAME ${_LIB_REALPATH} NAME)
 
     if(APPLE)
@@ -26,6 +27,11 @@ macro(FindLibraryAndSONAME _LIB)
       string(REGEX REPLACE "(\\.[0-9]*)\\.[0-9\\.]*$" "\\1" _LIB_REGEXD "${_LIB_JUSTNAME}")
     endif()
 
+    if(NOT EXISTS "${_LIB_DIRECTORY}/${_LIB_REGEXD}")
+      set(_LIB_REGEXD "${_LIB_JUSTNAME}")
+    endif()
+    set(${_LNAME}_LIBDIR "${_LIB_LIBDIR}")
+
     SET(_DEBUG_FindSONAME FALSE)
     if(_DEBUG_FindSONAME)
       message_warn("DYNLIB OUTPUTVAR: ${_LIB} ... ${_LNAME}_LIB")