cmake,UI: Fix SOVERSION on Linux

This commit is contained in:
tytan652 2024-05-27 20:32:37 +02:00 committed by Ryan Foster
parent 93d51918b0
commit 1d8c377240
2 changed files with 9 additions and 6 deletions

View file

@ -115,8 +115,11 @@ endif()
foreach(graphics_library IN ITEMS opengl metal d3d11)
string(TOUPPER ${graphics_library} graphics_library_U)
if(TARGET OBS::libobs-${graphics_library})
target_compile_definitions(obs-studio
PRIVATE DL_${graphics_library_U}="$<TARGET_FILE_NAME:OBS::libobs-${graphics_library}>")
target_compile_definitions(
obs-studio
PRIVATE
DL_${graphics_library_U}="$<$<IF:$<PLATFORM_ID:Windows>,TARGET_FILE_NAME,TARGET_SONAME_FILE_NAME>:OBS::libobs-${graphics_library}>"
)
else()
target_compile_definitions(obs-studio PRIVATE DL_${graphics_library_U}="")
endif()

View file

@ -55,8 +55,8 @@ function(set_target_properties_obs target)
elseif(target_type STREQUAL SHARED_LIBRARY)
set_target_properties(
${target}
PROPERTIES VERSION ${OBS_VERSION_MAJOR}
SOVERSION ${OBS_VERSION_CANONICAL}
PROPERTIES VERSION ${OBS_VERSION_CANONICAL}
SOVERSION ${OBS_VERSION_MAJOR}
BUILD_RPATH "${OBS_OUTPUT_DIR}/$<CONFIG>/${OBS_LIBRARY_DESTINATION}"
INSTALL_RPATH "${OBS_LIBRARY_RPATH}")
@ -98,12 +98,12 @@ function(set_target_properties_obs target)
elseif(target_type STREQUAL MODULE_LIBRARY)
if(target STREQUAL obs-browser)
set_target_properties(${target} PROPERTIES VERSION 0 SOVERSION ${OBS_VERSION_CANONICAL})
set_target_properties(${target} PROPERTIES VERSION 0 SOVERSION ${OBS_VERSION_MAJOR})
else()
set_target_properties(
${target}
PROPERTIES VERSION 0
SOVERSION ${OBS_VERSION_CANONICAL}
SOVERSION ${OBS_VERSION_MAJOR}
BUILD_RPATH "${OBS_OUTPUT_DIR}/$<CONFIG>/${OBS_LIBRARY_DESTINATION}"
INSTALL_RPATH "${OBS_MODULE_RPATH}")
endif()