[CMake] Group SOVERSION logic (#190224)
There are two blocks whose conditions are coupled; combine them to make the conditional logic less error prone.
This commit is contained in:
parent
6331bfa41a
commit
533d0ac216
@ -796,14 +796,28 @@ function(llvm_add_library name)
|
||||
)
|
||||
endif()
|
||||
|
||||
# Set SOVERSION on shared libraries that lack explicit SONAME
|
||||
# specifier, on *nix systems that are not Darwin.
|
||||
if(UNIX AND NOT APPLE AND NOT ARG_SONAME)
|
||||
set_target_properties(${name}
|
||||
PROPERTIES
|
||||
# Since 18.1.0, the ABI version is indicated by the major and minor version.
|
||||
SOVERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}
|
||||
VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX})
|
||||
if(NOT APPLE)
|
||||
if(ARG_SONAME)
|
||||
get_target_property(output_name ${name} OUTPUT_NAME)
|
||||
if(${output_name} STREQUAL "output_name-NOTFOUND")
|
||||
set(output_name ${name})
|
||||
endif()
|
||||
set(library_name ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX})
|
||||
set(api_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX})
|
||||
set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name})
|
||||
if(UNIX AND NOT CYGWIN)
|
||||
llvm_install_library_symlink(${api_name} ${library_name} SHARED
|
||||
COMPONENT ${name})
|
||||
llvm_install_library_symlink(${output_name} ${library_name} SHARED
|
||||
COMPONENT ${name})
|
||||
endif()
|
||||
elseif(UNIX)
|
||||
set_target_properties(${name}
|
||||
PROPERTIES
|
||||
# Since 18.1.0, the ABI version is indicated by the major and minor version.
|
||||
SOVERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}
|
||||
VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -819,24 +833,6 @@ function(llvm_add_library name)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ARG_SHARED)
|
||||
if(NOT APPLE AND ARG_SONAME)
|
||||
get_target_property(output_name ${name} OUTPUT_NAME)
|
||||
if(${output_name} STREQUAL "output_name-NOTFOUND")
|
||||
set(output_name ${name})
|
||||
endif()
|
||||
set(library_name ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX})
|
||||
set(api_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX})
|
||||
set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name})
|
||||
if(UNIX AND NOT CYGWIN)
|
||||
llvm_install_library_symlink(${api_name} ${library_name} SHARED
|
||||
COMPONENT ${name})
|
||||
llvm_install_library_symlink(${output_name} ${library_name} SHARED
|
||||
COMPONENT ${name})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ARG_STATIC)
|
||||
set(libtype PUBLIC)
|
||||
else()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user