The (soname/runtime filename) symbolic link (or copy of the library) may not be in the same directory than the development library. Current macro code will mis-configure the (soname/runtime filename) to the library name.
Be sure we use all the time the (soname/runtime filename) reconstructed from the library filename (Should it be more robust to use the ELF DT_SONAME from the library using binutils objdump?)
--- a/cmake/sdlchecks.cmake
+++ b/cmake/sdlchecks.cmake
@@ -26,9 +26,6 @@ macro(FindLibraryAndSONAME _LIB)
string(REGEX REPLACE "(\\.[0-9]*)\\.[0-9\\.]*$" "\\1" _LIB_REGEXD "${_LIB_JUSTNAME}")
endif()
- if(NOT EXISTS "${_LIB_LIBDIR}/${_LIB_REGEXD}")
- set(_LIB_REGEXD "${_LIB_JUSTNAME}")
- endif()
set(${_LNAME}_LIBDIR "${_LIB_LIBDIR}")
message(STATUS "dynamic lib${_LIB} -> ${_LIB_REGEXD}")
The (soname/runtime filename) symbolic link (or copy of the library) may not be in the same directory than the development library. Current macro code will mis-configure the (soname/runtime filename) to the library name.
Be sure we use all the time the (soname/runtime filename) reconstructed from the library filename (Should it be more robust to use the ELF DT_SONAME from the library using binutils objdump?)