[geos-commits] [SCM] GEOS branch vernums created. 4770296031f0296f728164044d66da32f677b270
git at osgeo.org
git at osgeo.org
Thu Dec 20 12:23:47 PST 2018
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".
The branch, vernums has been created
at 4770296031f0296f728164044d66da32f677b270 (commit)
- Log -----------------------------------------------------------------
commit 4770296031f0296f728164044d66da32f677b270
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date: Thu Dec 20 12:23:36 2018 -0800
Move version numbers to a single file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 772d688..fb70640 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,9 +23,7 @@ endif()
#################################################################################
# Set GEOS project
#################################################################################
-project(GEOS VERSION 3.8.0 LANGUAGES C CXX)
-# OPTIONS: "", "dev", "rc1" etc.
-SET(GEOS_PATCH_WORD "dev")
+project(GEOS LANGUAGES C CXX)
# Add custom GEOS modules for CMake
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules")
@@ -43,6 +41,31 @@ message(STATUS "Setting C++ requirement to C++${CMAKE_CXX_STANDARD}")
# Setup GEOS version
#################################################################################
+# READ GEOS VERSIONS FROM FILE
+file(READ "Version.txt" VERSION_TXT)
+
+string(REGEX MATCH "GEOS_VERSION_MAJOR=([0-9]+)" _ ${VERSION_TXT})
+set(GEOS_VERSION_MAJOR ${CMAKE_MATCH_1})
+
+string(REGEX MATCH "GEOS_VERSION_MINOR=([0-9]+)" _ ${VERSION_TXT})
+set(GEOS_VERSION_MINOR ${CMAKE_MATCH_1})
+
+string(REGEX MATCH "GEOS_VERSION_PATCH=([0-9]+)" _ ${VERSION_TXT})
+set(GEOS_VERSION_PATCH ${CMAKE_MATCH_1})
+
+# OPTIONS: "", "dev", "rc1" etc.
+string(REGEX MATCH "GEOS_PATCH_WORD=([a-zA-Z0-9]+)" _ ${VERSION_TXT})
+set(GEOS_PATCH_WORD ${CMAKE_MATCH_1})
+
+string(REGEX MATCH "CAPI_INTERFACE_CURRENT=([0-9]+)" _ ${VERSION_TXT})
+set(CAPI_INTERFACE_CURRENT ${CMAKE_MATCH_1})
+
+string(REGEX MATCH "CAPI_INTERFACE_REVISION=([0-9]+)" _ ${VERSION_TXT})
+set(CAPI_INTERFACE_REVISION ${CMAKE_MATCH_1})
+
+string(REGEX MATCH "CAPI_INTERFACE_AGE=([0-9]+)" _ ${VERSION_TXT})
+set(CAPI_INTERFACE_AGE ${CMAKE_MATCH_1})
+
# GEOS release version
# GEOS C++ library SONAME will use these encoding ABI break at every release
set(GEOS_VERSION "${GEOS_VERSION_MAJOR}.${GEOS_VERSION_MINOR}.${GEOS_VERSION_PATCH}${GEOS_PATCH_WORD}")
@@ -55,13 +78,10 @@ set(VERSION_MINOR "${GEOS_VERSION_MINOR}")
set(VERSION_PATCH "${GEOS_VERSION_PATCH}${GEOS_PATCH_WORD}")
# JTS_PORT is the version of JTS this release is bound to
-set(JTS_PORT 1.13.0)
+string(REGEX MATCH "JTS_PORT=([0-9a-zA-Z\.]+)" _ ${VERSION_TXT})
+set(JTS_PORT ${CMAKE_MATCH_1})
message(STATUS "Setting GEOS version ${VERSION} as port of JTS ${JTS_PORT}")
-# GEOS C API version
-set(CAPI_INTERFACE_CURRENT 12)
-set(CAPI_INTERFACE_REVISION 0)
-set(CAPI_INTERFACE_AGE 11)
math(EXPR CAPI_VERSION_MAJOR "${CAPI_INTERFACE_CURRENT} - ${CAPI_INTERFACE_AGE}")
set(CAPI_VERSION_MINOR ${CAPI_INTERFACE_AGE})
diff --git a/Version.txt b/Version.txt
new file mode 100644
index 0000000..5523b5e
--- /dev/null
+++ b/Version.txt
@@ -0,0 +1,16 @@
+
+# GEOS Versions
+GEOS_VERSION_MAJOR=3
+GEOS_VERSION_MINOR=8
+GEOS_VERSION_PATCH=0
+
+# OPTIONS: "", "dev", "rc1" etc.
+GEOS_PATCH_WORD=dev
+
+# GEOS CAPI Versions
+CAPI_INTERFACE_CURRENT=12
+CAPI_INTERFACE_REVISION=0
+CAPI_INTERFACE_AGE=11
+
+# JTS Port
+JTS_PORT=1.13.0
diff --git a/capi/geos_c.h.in b/capi/geos_c.h.in
index 7715829..23b1a6d 100644
--- a/capi/geos_c.h.in
+++ b/capi/geos_c.h.in
@@ -51,18 +51,6 @@ extern "C" {
*
***********************************************************************/
-/*
- * Following 'ifdef' hack fixes problem with generating geos_c.h on Windows,
- * when building with Visual C++ compiler.
- *
- */
-#if defined(_MSC_VER)
-#include <geos/version.h>
-#define GEOS_CAPI_VERSION_MAJOR 1
-#define GEOS_CAPI_VERSION_MINOR 12
-#define GEOS_CAPI_VERSION_PATCH 0
-#define GEOS_CAPI_VERSION "3.8.0-CAPI-1.12.0"
-#else
#ifndef GEOS_VERSION_MAJOR
#define GEOS_VERSION_MAJOR @VERSION_MAJOR@
#endif
@@ -83,7 +71,6 @@ extern "C" {
#define GEOS_CAPI_VERSION_MINOR @CAPI_VERSION_MINOR@
#define GEOS_CAPI_VERSION_PATCH @CAPI_VERSION_PATCH@
#define GEOS_CAPI_VERSION "@VERSION at -CAPI-@CAPI_VERSION@"
-#endif
#define GEOS_CAPI_FIRST_INTERFACE GEOS_CAPI_VERSION_MAJOR
#define GEOS_CAPI_LAST_INTERFACE (GEOS_CAPI_VERSION_MAJOR+GEOS_CAPI_VERSION_MINOR)
diff --git a/configure.ac b/configure.ac
index 3e2442d..d5fd337 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,23 +11,31 @@ AC_CANONICAL_SYSTEM
AC_CONFIG_MACRO_DIR([macros])
dnl -- JTS_PORT: the version of JTS this release is bound to
-JTS_PORT=1.13.0
+dnl JTS_PORT=1.13.0
+JTS_PORT=`cat Version.txt | grep ^JTS_PORT | sed 's/[[^=]]*=\([[0-9a-zA-Z\.]]\)/\1/g'`
dnl -- Version info for the CAPI
-CAPI_INTERFACE_CURRENT=13
-CAPI_INTERFACE_REVISION=0
-CAPI_INTERFACE_AGE=12
+dnl CAPI_INTERFACE_CURRENT=13
+dnl CAPI_INTERFACE_REVISION=0
+dnl CAPI_INTERFACE_AGE=12
dnl
dnl -- Release versions / C++ library SONAME will use these
dnl -- encoding ABI break at every release
dnl
-VERSION_MAJOR=3
-VERSION_MINOR=8
-VERSION_PATCH=0dev
+VERSION_MAJOR=`cat Version.txt | awk -F= '/^GEOS_VERSION_MAJOR/ {print $2}'`
+VERSION_MINOR=`cat Version.txt | awk -F= '/^GEOS_VERSION_MINOR/ {print $2}'`
+VERSION_PATCH=`cat Version.txt | awk -F= '/^GEOS_VERSION_PATCH/ {print $2}'`
+PATCH_WORD=`cat Version.txt | awk -F= '/^GEOS_PATCH_WORD/ {print $2}'`
+
+VERSION_PATCH=${VERSION_PATCH}${PATCH_WORD}
VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"
VERSION_RELEASE=`echo "$VERSION" | sed -E 's/^([[0-9]+\.[0-9]+\.[0-9]+]).*$/\1/'`
+CAPI_INTERFACE_CURRENT=`cat Version.txt | awk -F= '/^CAPI_INTERFACE_CURRENT/ {print $2}'`
+CAPI_INTERFACE_REVISION=`cat Version.txt | awk -F= '/^CAPI_INTERFACE_REVISION/ {print $2}'`
+CAPI_INTERFACE_AGE=`cat Version.txt | awk -F= '/^CAPI_INTERFACE_AGE/ {print $2}'`
+
dnl CAPI_VERSION_MAJOR=$(($CAPI_INTERFACE_CURRENT-$CAPI_INTERFACE_AGE))
dnl the following should be more portable
CAPI_VERSION_MAJOR=`expr $CAPI_INTERFACE_CURRENT - $CAPI_INTERFACE_AGE`
-----------------------------------------------------------------------
hooks/post-receive
--
GEOS
More information about the geos-commits
mailing list