From: Jan Engelhardt Date: 2016-06-13 11:46:16.846841814 +0200 Unversioned libraries suck! --- source/CMakeLists.txt | 3 +++ source/fuzz/CMakeLists.txt | 1 + source/link/CMakeLists.txt | 1 + source/lint/CMakeLists.txt | 1 + source/opt/CMakeLists.txt | 1 + source/reduce/CMakeLists.txt | 1 + 6 files changed, 8 insertions(+) Index: SPIRV-Tools-2021.3/source/CMakeLists.txt =================================================================== --- SPIRV-Tools-2021.3.orig/source/CMakeLists.txt +++ SPIRV-Tools-2021.3/source/CMakeLists.txt @@ -377,6 +377,7 @@ endfunction() add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES}) spirv_tools_default_target_options(${SPIRV_TOOLS}-shared) set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden) +set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES SOVERSION suse23) target_compile_definitions(${SPIRV_TOOLS}-shared PRIVATE SPIRV_TOOLS_IMPLEMENTATION PUBLIC SPIRV_TOOLS_SHAREDLIB @@ -387,6 +388,7 @@ if(SPIRV_TOOLS_BUILD_STATIC) spirv_tools_default_target_options(${SPIRV_TOOLS}-static) # The static target does not have the '-static' suffix. set_target_properties(${SPIRV_TOOLS}-static PROPERTIES OUTPUT_NAME "${SPIRV_TOOLS}") + set_target_properties(${SPIRV_TOOLS}-static PROPERTIES SOVERSION suse23) # Create the "${SPIRV_TOOLS}" target as an alias to either "${SPIRV_TOOLS}-static" # or "${SPIRV_TOOLS}-shared" depending on the value of BUILD_SHARED_LIBS. @@ -399,6 +401,7 @@ if(SPIRV_TOOLS_BUILD_STATIC) set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS}-static ${SPIRV_TOOLS}-shared) else() add_library(${SPIRV_TOOLS} ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_SOURCES}) + set_target_properties(${SPIRV_TOOLS} PROPERTIES SOVERSION suse23) spirv_tools_default_target_options(${SPIRV_TOOLS}) set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared) endif() Index: SPIRV-Tools-2021.3/source/fuzz/CMakeLists.txt =================================================================== --- SPIRV-Tools-2021.3.orig/source/fuzz/CMakeLists.txt +++ SPIRV-Tools-2021.3/source/fuzz/CMakeLists.txt @@ -439,6 +439,7 @@ if(SPIRV_BUILD_FUZZER) spvtools_pch(SPIRV_TOOLS_FUZZ_SOURCES pch_source_fuzz) add_library(SPIRV-Tools-fuzz ${SPIRV_TOOLS_FUZZ_SOURCES}) + set_target_properties(SPIRV-Tools-fuzz PROPERTIES SOVERSION suse23) spvtools_default_compile_options(SPIRV-Tools-fuzz) Index: SPIRV-Tools-2021.3/source/link/CMakeLists.txt =================================================================== --- SPIRV-Tools-2021.3.orig/source/link/CMakeLists.txt +++ SPIRV-Tools-2021.3/source/link/CMakeLists.txt @@ -14,6 +14,7 @@ add_library(SPIRV-Tools-link ${SPIRV_TOOLS_LIBRARY_TYPE} linker.cpp ) +set_target_properties(SPIRV-Tools-link PROPERTIES SOVERSION suse23) spvtools_default_compile_options(SPIRV-Tools-link) target_include_directories(SPIRV-Tools-link Index: SPIRV-Tools-2021.3/source/lint/CMakeLists.txt =================================================================== --- SPIRV-Tools-2021.3.orig/source/lint/CMakeLists.txt +++ SPIRV-Tools-2021.3/source/lint/CMakeLists.txt @@ -25,6 +25,7 @@ endif() add_library(SPIRV-Tools-lint ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_TOOLS_LINT_SOURCES}) +set_target_properties(SPIRV-Tools-lint PROPERTIES SOVERSION suse23) spvtools_default_compile_options(SPIRV-Tools-lint) target_include_directories(SPIRV-Tools-lint PUBLIC Index: SPIRV-Tools-2021.3/source/opt/CMakeLists.txt =================================================================== --- SPIRV-Tools-2021.3.orig/source/opt/CMakeLists.txt +++ SPIRV-Tools-2021.3/source/opt/CMakeLists.txt @@ -235,6 +235,7 @@ spvtools_pch(SPIRV_TOOLS_OPT_SOURCES pch add_library(SPIRV-Tools-opt ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_TOOLS_OPT_SOURCES}) +set_target_properties(SPIRV-Tools-opt PROPERTIES SOVERSION suse23) spvtools_default_compile_options(SPIRV-Tools-opt) target_include_directories(SPIRV-Tools-opt PUBLIC Index: SPIRV-Tools-2021.3/source/reduce/CMakeLists.txt =================================================================== --- SPIRV-Tools-2021.3.orig/source/reduce/CMakeLists.txt +++ SPIRV-Tools-2021.3/source/reduce/CMakeLists.txt @@ -92,6 +92,7 @@ target_include_directories(SPIRV-Tools-r $ PRIVATE ${spirv-tools_BINARY_DIR} ) +set_target_properties(SPIRV-Tools-reduce PROPERTIES SOVERSION suse23) # The reducer reuses a lot of functionality from the SPIRV-Tools library. target_link_libraries(SPIRV-Tools-reduce PUBLIC ${SPIRV_TOOLS_FULL_VISIBILITY}