@@ -16,7 +16,44 @@ ENDIF (APPLE)
16
16
17
17
# Note the version no is Mmmpp for Major/minor/patch, 0-padded, thus '10100' for 1.1.0
18
18
MATH (EXPR QGIS_VERSION_INT "${CPACK_PACKAGE_VERSION_MAJOR} *10000+${CPACK_PACKAGE_VERSION_MINOR} *100+${CPACK_PACKAGE_VERSION_PATCH} " )
19
- MESSAGE (STATUS "QGIS version: ${COMPLETE_VERSION} ${RELEASE_NAME} (${QGIS_VERSION_INT} )" )
19
+
20
+ #############################################################
21
+ # create qgsversion.h
22
+ IF (EXISTS ${CMAKE_SOURCE_DIR} /.git/index )
23
+ FIND_PROGRAM (GITCOMMAND git PATHS c:/cygwin/bin )
24
+ IF (GITCOMMAND )
25
+ IF (WIN32 )
26
+ ADD_CUSTOM_COMMAND (
27
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h
28
+ COMMAND for /f \"usebackq tokens=1\" %%a in " (`\" ${GITCOMMAND} \" log -n1 --oneline` )" do echo \# define QGSVERSION \" %%a\" >${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp
29
+ COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp -DDST=${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h -P ${CMAKE_SOURCE_DIR} /cmake/CopyIfChanged.cmake
30
+ MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR} /.git/index
31
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
32
+ )
33
+ ELSE(WIN32)
34
+ ADD_CUSTOM_COMMAND(
35
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h
36
+ COMMAND ${GITCOMMAND} log -n1 --pretty=\# define\\ QGSVERSION\\ \\ " %h\\ " >${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp
37
+ COMMAND ${GITCOMMAND} config remote.$$\( ${GITCOMMAND} config branch.$$\( ${GITCOMMAND} name-rev --name-only HEAD\) .remote\) .url | sed -e 's/^/\# define QGS_GIT_REMOTE_URL \" /' -e 's/$$/\" /' >>${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp
38
+ COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp -DDST=${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h -P ${CMAKE_SOURCE_DIR} /cmake/CopyIfChanged.cmake
39
+ MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR} /.git/index
40
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
41
+ )
42
+ ENDIF(WIN32)
43
+ ELSE(GITCOMMAND)
44
+ MESSAGE(STATUS " git marker, but no git found - version will be unknown ")
45
+ SET(REVISION " unknown ")
46
+ FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h " #define QGSVERSION \"unknown\"")
47
+ ENDIF (GITCOMMAND )
48
+ ELSE (EXISTS ${CMAKE_SOURCE_DIR} /.git/index )
49
+ SET (REVISION "exported" )
50
+ FILE (WRITE ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h "#define QGSVERSION \" exported\" " )
51
+ ENDIF (EXISTS ${CMAKE_SOURCE_DIR} /.git/index )
52
+
53
+ FILE (READ ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h VERSIONFILE )
54
+ STRING (REGEX REPLACE "^.*#define QGSVERSION \" ([^\" ]+)\" .*$" "\\ 1" QGSVERSION "${VERSIONFILE} " )
55
+
56
+ MESSAGE (STATUS "QGIS version: ${COMPLETE_VERSION} ${RELEASE_NAME} (${QGIS_VERSION_INT} / ${QGSVERSION} )" )
20
57
21
58
#############################################################
22
59
# CMake settings
@@ -735,39 +772,6 @@ INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
735
772
# that may be in the same install prefix
736
773
LINK_DIRECTORIES (${CMAKE_BINARY_DIR} /src/core ${CMAKE_BINARY_DIR} /src/gui )
737
774
738
- #############################################################
739
- # create qgsversion.h
740
- IF (EXISTS ${CMAKE_SOURCE_DIR} /.git/index )
741
- FIND_PROGRAM (GITCOMMAND git PATHS c:/cygwin/bin )
742
- IF (GITCOMMAND )
743
- IF (WIN32 )
744
- ADD_CUSTOM_COMMAND (
745
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h
746
- COMMAND for /f \"usebackq tokens=1\" %%a in " (`\" ${GITCOMMAND} \" log -n1 --oneline` )" do echo \# define QGSVERSION \" %%a\" >${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp
747
- COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp -DDST=${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h -P ${CMAKE_SOURCE_DIR} /cmake/CopyIfChanged.cmake
748
- MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR} /.git/index
749
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
750
- )
751
- ELSE(WIN32)
752
- ADD_CUSTOM_COMMAND(
753
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h
754
- COMMAND ${GITCOMMAND} log -n1 --pretty=\# define\\ QGSVERSION\\ \\ " %h\\ " >${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp
755
- COMMAND ${GITCOMMAND} config remote.$$\( ${GITCOMMAND} config branch.$$\( ${GITCOMMAND} name-rev --name-only HEAD\) .remote\) .url | sed -e 's/^/\# define QGS_GIT_REMOTE_URL \" /' -e 's/$$/\" /' >>${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp
756
- COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h.temp -DDST=${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h -P ${CMAKE_SOURCE_DIR} /cmake/CopyIfChanged.cmake
757
- MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR} /.git/index
758
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
759
- )
760
- ENDIF(WIN32)
761
- ELSE(GITCOMMAND)
762
- MESSAGE(STATUS " git marker, but no git found - version will be unknown ")
763
- SET(REVISION " unknown ")
764
- FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h " #define QGSVERSION \"unknown\"")
765
- ENDIF (GITCOMMAND )
766
- ELSE (EXISTS ${CMAKE_SOURCE_DIR} /.git/index )
767
- SET (REVISION "exported" )
768
- FILE (WRITE ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h "#define QGSVERSION \" exported\" " )
769
- ENDIF (EXISTS ${CMAKE_SOURCE_DIR} /.git/index )
770
-
771
775
ADD_CUSTOM_TARGET (version ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /qgsversion.h )
772
776
773
777
#############################################################
0 commit comments