summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xCMakeLists.txt2
-rw-r--r--cmake/version.cmake39
-rw-r--r--navit/CMakeLists.txt7
-rw-r--r--navit/start_real.c2
-rw-r--r--navit/version.h.in2
5 files changed, 16 insertions, 36 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ab2b6ebdc..2870b963c 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,7 +18,7 @@ set(NAVIT_VERSION_MINOR "5")
set(NAVIT_VERSION_PATCH "0")
set(PACKAGE_VERSION "${NAVIT_VERSION_MAJOR}.${NAVIT_VERSION_MINOR}.${NAVIT_VERSION_PATCH}")
-set(PACKAGE_NAME "navit-svn")
+set(PACKAGE_NAME "navit-git")
set(PACKAGE "navit")
set(PACKAGE_STRING "${PACKAGE} ${PACKAGE_VERSION}")
diff --git a/cmake/version.cmake b/cmake/version.cmake
index 413bf0e83..77c79d12a 100644
--- a/cmake/version.cmake
+++ b/cmake/version.cmake
@@ -2,42 +2,23 @@ FIND_PROGRAM(GIT_EXECUTABLE NAMES git git.exe DOC "git command line client")
get_filename_component(SOURCE_DIR ${SRC} PATH)
-EXECUTE_PROCESS(
- COMMAND ${GIT_EXECUTABLE} svn info
- COMMAND grep "Revision"
- WORKING_DIRECTORY "${SOURCE_DIR}"
- OUTPUT_VARIABLE VERSION
- OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-
-if (NOT DEFINED ${NAME})
- set( ${NAME} "unknown" )
-endif()
-
-if (NOT VERSION)
- FIND_PACKAGE(Subversion)
-
- if (Subversion_FOUND)
-
+if (GIT_EXECUTABLE)
EXECUTE_PROCESS(
- COMMAND svnversion
+ COMMAND ${GIT_EXECUTABLE} log -n 1 --format=%h
WORKING_DIRECTORY "${SOURCE_DIR}"
OUTPUT_VARIABLE VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
- endif(Subversion_FOUND)
-
- if (VERSION AND (NOT ${VERSION} MATCHES "^exported"))
- if (STRIP_M)
- string(REGEX REPLACE "M$" "" VERSION ${VERSION})
- endif()
- set( ${NAME} ${VERSION} )
- endif()
else()
- string(REGEX REPLACE "Revision: " "" ${NAME} ${VERSION})
-endif(NOT VERSION)
+ message(STATUS "git not found, cannot record git commit")
+endif(GIT_EXECUTABLE)
set(NAVIT_VARIANT "-")
+if (DEFINED VERSION)
+ set(${NAME} ${VERSION})
+else()
+ set(${NAME} "---")
+endif()
-message (STATUS "SVN-version ${${NAME}}")
+message (STATUS "Git commit: ${${NAME}}")
CONFIGURE_FILE(${SRC} ${DST} @ONLY)
diff --git a/navit/CMakeLists.txt b/navit/CMakeLists.txt
index d0d57e230..daf8abe8d 100644
--- a/navit/CMakeLists.txt
+++ b/navit/CMakeLists.txt
@@ -107,12 +107,11 @@ if (DEFINED NAVIT_COMPILE_FLAGS)
set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS}")
endif()
-# Subversion revision
ADD_CUSTOM_TARGET(
- version
+ git_version
${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
-D DST=${CMAKE_CURRENT_BINARY_DIR}/version.h
- -D NAME=SVN_VERSION
+ -D NAME="GIT_VERSION"
-P ${PROJECT_SOURCE_DIR}/cmake/version.cmake
)
@@ -153,7 +152,7 @@ else()
add_custom_target( navit_config_xml ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/navit.xml)
endif()
-ADD_DEPENDENCIES(${NAVIT_LIBNAME} version)
+ADD_DEPENDENCIES(${NAVIT_LIBNAME} git_version)
if (USE_LIBGNUINTL AND NOT HAVE_GLIB)
ADD_DEPENDENCIES(support_glib support_gettext_intl)
endif()
diff --git a/navit/start_real.c b/navit/start_real.c
index e002cf93d..16e0d5edb 100644
--- a/navit/start_real.c
+++ b/navit/start_real.c
@@ -51,7 +51,7 @@
#include <winbase.h>
#endif
-char *version=PACKAGE_VERSION" "SVN_VERSION""NAVIT_VARIANT;
+char *version=PACKAGE_VERSION"+git:"GIT_VERSION""NAVIT_VARIANT;
int main_argc;
char * const* main_argv;
diff --git a/navit/version.h.in b/navit/version.h.in
index cc58ebe24..3c39d0e1f 100644
--- a/navit/version.h.in
+++ b/navit/version.h.in
@@ -1,2 +1,2 @@
-#cmakedefine SVN_VERSION "@SVN_VERSION@"
+#cmakedefine GIT_VERSION "@GIT_VERSION@"
#cmakedefine NAVIT_VARIANT "@NAVIT_VARIANT@"