summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2014-06-08 19:42:54 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2014-06-08 19:42:54 +0200
commit99807672055b6bb86e44311a199592ceb35c72bd (patch)
treeec717118fc28b95475aba3cf189fcbf3f7e93f7b
parentce5e6617b08829d3a473595322a0e67bef9ea645 (diff)
downloadlibgit2-cmn/soversion.tar.gz
Change SOVERSION at API breakscmn/soversion
Since the SOVERSION doesn't need to follow the library's version and simply needs to be monotonically increasing whenever we release something that breaks the ABI, we can set some number and allow multiple versions of the library to be installed side-by-side. We start here with the minor version as that's what we release for now, and it allows to backport this change to earlier versions.
-rw-r--r--CMakeLists.txt5
-rw-r--r--include/git2/version.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6f731d491..6f1a97edb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -127,6 +127,9 @@ STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" LIBGIT2_V
STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" LIBGIT2_VERSION_REV "${GIT2_HEADER}")
SET(LIBGIT2_VERSION_STRING "${LIBGIT2_VERSION_MAJOR}.${LIBGIT2_VERSION_MINOR}.${LIBGIT2_VERSION_REV}")
+FILE(STRINGS "include/git2/version.h" GIT2_HEADER_SOVERSION REGEX "^#define LIBGIT2_SOVERSION [0-9]+$")
+STRING(REGEX REPLACE "^.*LIBGIT2_SOVERSION ([0-9]+)$" "\\1" LIBGIT2_SOVERSION "${GIT2_HEADER_SOVERSION}")
+
# Find required dependencies
INCLUDE_DIRECTORIES(src include)
@@ -397,7 +400,7 @@ MSVC_SPLIT_SOURCES(git2)
IF (SONAME)
SET_TARGET_PROPERTIES(git2 PROPERTIES VERSION ${LIBGIT2_VERSION_STRING})
- SET_TARGET_PROPERTIES(git2 PROPERTIES SOVERSION ${LIBGIT2_VERSION_MAJOR})
+ SET_TARGET_PROPERTIES(git2 PROPERTIES SOVERSION ${LIBGIT2_SOVERSION})
IF (LIBGIT2_FILENAME)
ADD_DEFINITIONS(-DLIBGIT2_FILENAME=\"${LIBGIT2_FILENAME}\")
SET_TARGET_PROPERTIES(git2 PROPERTIES OUTPUT_NAME ${LIBGIT2_FILENAME})
diff --git a/include/git2/version.h b/include/git2/version.h
index c4c5e8eb1..9d8a74edd 100644
--- a/include/git2/version.h
+++ b/include/git2/version.h
@@ -12,4 +12,6 @@
#define LIBGIT2_VER_MINOR 20
#define LIBGIT2_VER_REVISION 0
+#define LIBGIT2_SOVERSION 20
+
#endif