diff --git a/cmake/modules/LibraryTarget.cmake b/cmake/modules/LibraryTarget.cmake index 1acbd06..e28d1da 100644 --- a/cmake/modules/LibraryTarget.cmake +++ b/cmake/modules/LibraryTarget.cmake @@ -63,6 +63,15 @@ configure_file( ) list(APPEND HEADER_FILES global.h) +# determine SOVERSION +if(NOT META_SOVERSION) + if(META_VERSION_EXACT_SONAME) + set(META_SOVERSION "${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}") + else() + set(META_SOVERSION "${META_VERSION_MAJOR}") + endif() +endif() + # add target for building the library if(BUILD_SHARED_LIBS) # use correct linker flags and compile definitions (depend on linkage) @@ -77,8 +86,8 @@ if(BUILD_SHARED_LIBS) add_library(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX} SHARED ${HEADER_FILES} ${SRC_FILES} ${WIDGETS_FILES} ${QML_FILES} ${RES_FILES} ${QM_FILES} ${WINDOWS_ICON_PATH}) target_link_libraries(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX} ${ACTUAL_ADDITIONAL_LINK_FLAGS} ${LIBRARIES}) set_target_properties(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX} PROPERTIES - VERSION ${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH} - SOVERSION ${META_VERSION_MAJOR} + VERSION "${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}" + SOVERSION "${META_SOVERSION}" CXX_STANDARD 11 COMPILE_DEFINITIONS "${ACTUAL_ADDITIONAL_COMPILE_DEFINITIONS}" LINK_SEARCH_START_STATIC ${STATIC_LINKAGE} @@ -94,9 +103,9 @@ if(BUILD_STATIC_LIBS) # add target link libraries for the static lib also because otherwise Qt header files can not be located target_link_libraries(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}_static ${STATIC_LIBRARIES}) set_target_properties(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}_static PROPERTIES - VERSION ${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH} - SOVERSION ${META_VERSION_MAJOR} - OUTPUT_NAME ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX} + VERSION "${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}" + SOVERSION "${META_SOVERSION}" + OUTPUT_NAME "${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}" CXX_STANDARD 11 COMPILE_DEFINITIONS "${ACTUAL_ADDITIONAL_COMPILE_DEFINITIONS}" )