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/opt/CMakeLists.txt | 1 + source/reduce/CMakeLists.txt | 1 + 5 files changed, 7 insertions(+) Index: SPIRV-Tools-2020.6/source/CMakeLists.txt =================================================================== --- SPIRV-Tools-2020.6.orig/source/CMakeLists.txt +++ SPIRV-Tools-2020.6/source/CMakeLists.txt @@ -367,6 +367,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 suse20) target_compile_definitions(${SPIRV_TOOLS}-shared PRIVATE SPIRV_TOOLS_IMPLEMENTATION PUBLIC SPIRV_TOOLS_SHAREDLIB @@ -377,6 +378,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 suse20) # 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. @@ -389,6 +391,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 suse20) spirv_tools_default_target_options(${SPIRV_TOOLS}) set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared) endif() Index: SPIRV-Tools-2020.6/source/fuzz/CMakeLists.txt =================================================================== --- SPIRV-Tools-2020.6.orig/source/fuzz/CMakeLists.txt +++ SPIRV-Tools-2020.6/source/fuzz/CMakeLists.txt @@ -425,6 +425,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 suse20) spvtools_default_compile_options(SPIRV-Tools-fuzz) Index: SPIRV-Tools-2020.6/source/link/CMakeLists.txt =================================================================== --- SPIRV-Tools-2020.6.orig/source/link/CMakeLists.txt +++ SPIRV-Tools-2020.6/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 suse20) spvtools_default_compile_options(SPIRV-Tools-link) target_include_directories(SPIRV-Tools-link Index: SPIRV-Tools-2020.6/source/opt/CMakeLists.txt =================================================================== --- SPIRV-Tools-2020.6.orig/source/opt/CMakeLists.txt +++ SPIRV-Tools-2020.6/source/opt/CMakeLists.txt @@ -234,6 +234,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 suse20) spvtools_default_compile_options(SPIRV-Tools-opt) target_include_directories(SPIRV-Tools-opt PUBLIC Index: SPIRV-Tools-2020.6/source/reduce/CMakeLists.txt =================================================================== --- SPIRV-Tools-2020.6.orig/source/reduce/CMakeLists.txt +++ SPIRV-Tools-2020.6/source/reduce/CMakeLists.txt @@ -88,6 +88,7 @@ target_include_directories(SPIRV-Tools-r $ PRIVATE ${spirv-tools_BINARY_DIR} ) +set_target_properties(SPIRV-Tools-reduce PROPERTIES SOVERSION suse20) # The reducer reuses a lot of functionality from the SPIRV-Tools library. target_link_libraries(SPIRV-Tools-reduce PUBLIC ${SPIRV_TOOLS_FULL_VISIBILITY}