[cmake] fix library naming

* fix a backward compatibility issue (versionless proxy modules)
This commit is contained in:
akallabeth
2025-09-01 13:14:15 +02:00
parent 7c5d5304cd
commit 28eae2ba58

View File

@@ -27,7 +27,7 @@ macro(AddTargetWithResourceFile nameAndTarget is_exe version sources)
if(IS_EXE AND WITH_BINARY_VERSIONING)
set(VERSIONING ON)
elseif(NOT IS_EXE AND WITH_LIBRARY_VERSIONING)
elseif(NOT IS_EXE AND (WITH_LIBRARY_VERSIONING OR WITH_LIBRARY_SOVERSIONING))
set(VERSIONING ON)
endif()
if(${ARGC} GREATER 4)
@@ -47,7 +47,7 @@ macro(AddTargetWithResourceFile nameAndTarget is_exe version sources)
set(RC_VERSION_FILE "${name}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
else()
if(VERSIONING)
if(VERSIONING AND WITH_LIBRARY_VERSIONING)
set(RC_VERSION_FILE "${CMAKE_SHARED_LIBRARY_PREFIX}${name}${RC_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}")
else()
set(RC_VERSION_FILE "${CMAKE_SHARED_LIBRARY_PREFIX}${name}${CMAKE_SHARED_LIBRARY_SUFFIX}")
@@ -76,15 +76,15 @@ macro(AddTargetWithResourceFile nameAndTarget is_exe version sources)
message("add_library(${target}) [${lib_options}]")
add_library(${target} ${lib_options} ${${sources}})
if(WITH_LIBRARY_SOVERSIONING)
if(VERSIONING AND WITH_LIBRARY_SOVERSIONING)
set_target_properties(${target} PROPERTIES VERSION ${version} SOVERSION ${RC_VERSION_MAJOR})
else()
set_target_properties(${target} PROPERTIES PREFIX "")
endif()
if(VERSIONING AND WITH_LIBRARY_VERSIONING)
set_target_properties(${target} PROPERTIES OUTPUT_NAME ${OUTPUT_FILENAME})
set(OUTPUT_FILENAME "${CMAKE_SHARED_LIBRARY_PREFIX}${OUTPUT_FILENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}")
endif()
endif()
if(WITH_DEBUG_SYMBOLS AND MSVC AND (is_exe OR BUILD_SHARED_LIBS))
message("add PDB for ${OUTPUT_FILENAME}")