aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Taves <mwtoews@gmail.com>2022-02-24 07:40:59 +1300
committerGitHub <noreply@github.com>2022-02-23 19:40:59 +0100
commit65c84b6e2a40ec8e6b8d1de86bcd556d01ef2aeb (patch)
tree8d854563976b04e37204a7530c25d919a704369a
parente79984f5f17a8d0abd36e7e4884dd56b644df22f (diff)
downloadPROJ-65c84b6e2a40ec8e6b8d1de86bcd556d01ef2aeb.tar.gz
PROJ-65c84b6e2a40ec8e6b8d1de86bcd556d01ef2aeb.zip
Simple SOVERSION (#3066)9.0.0
Co-authored-by: Bas Couwenberg <sebastic@xs4all.nl>
-rw-r--r--CMakeLists.txt9
-rw-r--r--HOWTO-RELEASE18
-rw-r--r--src/lib_proj.cmake8
3 files changed, 10 insertions, 25 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9bd4c1f0..9076f955 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -111,13 +111,8 @@ message(STATUS "Configuring PROJ:")
################################################################################
include(ProjVersion)
proj_version(MAJOR 9 MINOR 0 PATCH 0)
-# Use libtool convention to build the CMake's VERSION and SOVERSION
-# See https://github.com/pvanhoof/dir-examples#cmake-in-the-cmake-example
-set(PROJ_LIBTOOL_CURRENT 25)
-set(PROJ_LIBTOOL_REVISION 0)
-set(PROJ_LIBTOOL_AGE 0)
-math(EXPR PROJ_API_VERSION "${PROJ_LIBTOOL_CURRENT} - ${PROJ_LIBTOOL_AGE}")
-set(PROJ_BUILD_VERSION "${PROJ_API_VERSION}.${PROJ_LIBTOOL_AGE}.${PROJ_LIBTOOL_REVISION}")
+set(PROJ_SOVERSION 25)
+set(PROJ_BUILD_VERSION "${PROJ_SOVERSION}.${PROJ_VERSION}")
################################################################################
# Build features and variants
diff --git a/HOWTO-RELEASE b/HOWTO-RELEASE
index dfa7aa13..20bb91aa 100644
--- a/HOWTO-RELEASE
+++ b/HOWTO-RELEASE
@@ -33,20 +33,10 @@ list. The PROJ PSC guidelines describes the rules for passing a motion.
In case of a un-planned maintenance release, make sure that version numbers are
properly updated: see 3.1
-Determine the ABI version number. It consists of "current:revision:age". Follow
-the steps below to determine the values in CMakeLists.txt:
-
- - If the library source code has changed at all since the last update,
- then increment PROJ_LIBTOOL_REVISION (c:r:a becomes c:r+1:a).
-
- - If any interfaces have been added, removed, or changed since the last
- update, increment PROJ_LIBTOOL_CURRENT and set PROJ_LIBTOOL_REVISION to 0.
-
- - If any interfaces have been added since the last public release, then
- increment PROJ_LIBTOOL_AGE.
-
- - If any interfaces have been removed since the last public release, then
- set PROJ_LIBTOOL_AGE to 0.
+For each release version, increment PROJ_SOVERSION in CMakeLists.txt if the
+ABI is not backwards compatible, i.e. any interfaces have been removed, or
+changed since the last release. See also:
+https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B
*Commit the changes to master.*
diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake
index 93b3f9ec..19cae0c7 100644
--- a/src/lib_proj.cmake
+++ b/src/lib_proj.cmake
@@ -402,21 +402,21 @@ target_include_directories(proj INTERFACE
if(WIN32)
set_target_properties(proj
PROPERTIES
- VERSION "${${PROJECT_NAME}_BUILD_VERSION}"
+ VERSION "${PROJ_VERSION}"
OUTPUT_NAME "${PROJ_CORE_TARGET_OUTPUT_NAME}"
ARCHIVE_OUTPUT_NAME proj
CLEAN_DIRECT_OUTPUT 1)
elseif(BUILD_FRAMEWORKS_AND_BUNDLE)
set_target_properties(proj
PROPERTIES
- VERSION "${${PROJECT_NAME}_BUILD_VERSION}"
+ VERSION "${PROJ_VERSION}"
INSTALL_NAME_DIR ${PROJ_INSTALL_NAME_DIR}
CLEAN_DIRECT_OUTPUT 1)
else()
set_target_properties(proj
PROPERTIES
- VERSION "${${PROJECT_NAME}_BUILD_VERSION}"
- SOVERSION "${${PROJECT_NAME}_API_VERSION}"
+ VERSION "${PROJ_BUILD_VERSION}"
+ SOVERSION "${PROJ_SOVERSION}"
CLEAN_DIRECT_OUTPUT 1)
endif()