Fix:Build/cmake:Fixed fetching of svn revision for out-of-source builds
[profile/ivi/navit.git] / navit / cmake / version.cmake
1 FIND_PROGRAM(GIT_EXECUTABLE git DOC "git command line client")
2
3 get_filename_component(SOURCE_DIR ${SRC} PATH)
4
5 EXECUTE_PROCESS(
6      COMMAND ${GIT_EXECUTABLE} svn info
7      COMMAND grep "Revision"
8      WORKING_DIRECTORY "${SOURCE_DIR}"
9      OUTPUT_VARIABLE VERSION
10      OUTPUT_STRIP_TRAILING_WHITESPACE
11 )
12
13 set( ${NAME} "unknown" )
14
15 if (NOT VERSION)
16    FIND_PACKAGE(Subversion)
17
18    if (Subversion_FOUND)
19
20    EXECUTE_PROCESS(
21       COMMAND svnversion
22       WORKING_DIRECTORY "${SOURCE_DIR}"
23       OUTPUT_VARIABLE VERSION
24       OUTPUT_STRIP_TRAILING_WHITESPACE
25    )
26    endif(Subversion_FOUND)
27
28    if (VERSION)
29       set( ${NAME} ${VERSION} )
30    endif(VERSION)
31 else()
32    string(REGEX REPLACE "Revision: " "" ${NAME} ${VERSION})
33 endif(NOT VERSION)
34
35 set(NAVIT_VARIANT "-")
36
37 message (STATUS "SVN-version ${${NAME}}")
38 CONFIGURE_FILE(${SRC} ${DST} @ONLY)