build: set soversion to major.minor (#1357)

Release 0.11 broke backwards compatibility, meaning that different
cpp-httplib versions are compatible with each other only if the major
and minor version numbers are the same.

This patch reflects this in the build systems.

See #1209 for some more context.
This commit is contained in:
Andrea Pappacoda 2022-08-12 19:48:40 +02:00 committed by GitHub
parent 5c3624e1af
commit a9cf097951
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 3 deletions

View file

@ -176,7 +176,7 @@ if(HTTPLIB_COMPILE)
set_target_properties(${PROJECT_NAME} set_target_properties(${PROJECT_NAME}
PROPERTIES PROPERTIES
VERSION ${${PROJECT_NAME}_VERSION} VERSION ${${PROJECT_NAME}_VERSION}
SOVERSION ${${PROJECT_NAME}_VERSION_MAJOR} SOVERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}"
) )
else() else()
# This is for header-only. # This is for header-only.
@ -247,13 +247,13 @@ if(HTTPLIB_COMPILE)
write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake" write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake"
# Example: if you find_package(httplib 0.5.4) # Example: if you find_package(httplib 0.5.4)
# then anything >= 0.5 and <= 1.0 is accepted # then anything >= 0.5 and <= 1.0 is accepted
COMPATIBILITY SameMajorVersion COMPATIBILITY SameMinorVersion
) )
else() else()
write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake" write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake"
# Example: if you find_package(httplib 0.5.4) # Example: if you find_package(httplib 0.5.4)
# then anything >= 0.5 and <= 1.0 is accepted # then anything >= 0.5 and <= 1.0 is accepted
COMPATIBILITY SameMajorVersion COMPATIBILITY SameMinorVersion
# Tells Cmake that it's a header-only lib # Tells Cmake that it's a header-only lib
# Mildly useful for end-users :) # Mildly useful for end-users :)
ARCH_INDEPENDENT ARCH_INDEPENDENT

View file

@ -77,6 +77,7 @@ if get_option('cpp-httplib_compile')
dependencies: deps, dependencies: deps,
cpp_args: args, cpp_args: args,
version: version, version: version,
soversion: version.split('.')[0] + '.' + version.split('.')[1],
install: true install: true
) )
cpp_httplib_dep = declare_dependency(compile_args: args, dependencies: deps, link_with: lib, sources: httplib_ch[1]) cpp_httplib_dep = declare_dependency(compile_args: args, dependencies: deps, link_with: lib, sources: httplib_ch[1])