diff options
| author | Mike Taves <mwtoews@gmail.com> | 2022-02-24 07:40:59 +1300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-23 19:40:59 +0100 |
| commit | 65c84b6e2a40ec8e6b8d1de86bcd556d01ef2aeb (patch) | |
| tree | 8d854563976b04e37204a7530c25d919a704369a | |
| parent | e79984f5f17a8d0abd36e7e4884dd56b644df22f (diff) | |
| download | PROJ-65c84b6e2a40ec8e6b8d1de86bcd556d01ef2aeb.tar.gz PROJ-65c84b6e2a40ec8e6b8d1de86bcd556d01ef2aeb.zip | |
Simple SOVERSION (#3066)9.0.0
Co-authored-by: Bas Couwenberg <sebastic@xs4all.nl>
| -rw-r--r-- | CMakeLists.txt | 9 | ||||
| -rw-r--r-- | HOWTO-RELEASE | 18 | ||||
| -rw-r--r-- | src/lib_proj.cmake | 8 |
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() |
