|
3 | 3 | # qgsversion.inc for doxygen
|
4 | 4 |
|
5 | 5 | MACRO(CREATE_QGSVERSION)
|
6 |
| - IF (EXISTS ${CMAKE_SOURCE_DIR}/.git/index) |
7 |
| - FIND_PROGRAM(GITCOMMAND git PATHS c:/cygwin/bin) |
8 |
| - IF(GITCOMMAND) |
9 |
| - IF(WIN32 AND NOT CMAKE_CROSS_COMPILING) |
10 |
| - IF(USING_NINJA) |
11 |
| - SET(ARG %a) |
12 |
| - ELSE(USING_NINJA) |
13 |
| - SET(ARG %%a) |
14 |
| - ENDIF(USING_NINJA) |
15 |
| - ADD_CUSTOM_COMMAND( |
16 |
| - OUTPUT ${CMAKE_BINARY_DIR}/qgsversion.h.out ${CMAKE_BINARY_DIR}/qgsversion.inc |
17 |
| - COMMAND for /f \"usebackq tokens=1\" ${ARG} in "(`\"${GITCOMMAND}\" log -n1 --oneline`)" do echo \#define QGSVERSION \"${ARG}\" >${CMAKE_BINARY_DIR}/qgsversion.h.temp |
18 |
| - COMMAND for /f \"usebackq tokens=1\" ${ARG} in "(`\"${GITCOMMAND}\" log -n1 --oneline`)" do echo PROJECT_NUMBER = \"${COMPLETE_VERSION}-${RELEASE_NAME} \(${ARG}\)\" >${CMAKE_BINARY_DIR}/qgsversion.inc |
19 |
| - COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_BINARY_DIR}/qgsversion.h.temp -DDST=${CMAKE_BINARY_DIR}/qgsversion.h.out -P ${CMAKE_SOURCE_DIR}/cmake/CopyIfChanged.cmake |
20 |
| - MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/.git/index |
21 |
| - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
22 |
| - ) |
23 |
| - ELSE(WIN32 AND NOT CMAKE_CROSS_COMPILING) |
24 |
| - ADD_CUSTOM_COMMAND( |
25 |
| - OUTPUT ${CMAKE_BINARY_DIR}/qgsversion.h.out ${CMAKE_BINARY_DIR}/qgsversion.inc |
26 |
| - COMMAND ${GITCOMMAND} log -n1 --pretty=\#define\\ QGSVERSION\\ \\"%h\\" >${CMAKE_BINARY_DIR}/qgsversion.h.temp |
27 |
| - COMMAND ${GITCOMMAND} log -n1 --pretty='PROJECT_NUMBER = \"${COMPLETE_VERSION}-${RELEASE_NAME} \(%h\)\"' >${CMAKE_BINARY_DIR}/qgsversion.inc |
28 |
| - 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_BINARY_DIR}/qgsversion.h.temp |
29 |
| - COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_BINARY_DIR}/qgsversion.h.temp -DDST=${CMAKE_BINARY_DIR}/qgsversion.h.out -P ${CMAKE_SOURCE_DIR}/cmake/CopyIfChanged.cmake |
30 |
| - MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/.git/index |
31 |
| - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
32 |
| - ) |
33 |
| - ENDIF(WIN32 AND NOT CMAKE_CROSS_COMPILING) |
34 |
| - ELSE(GITCOMMAND) |
35 |
| - MESSAGE(STATUS "git marker, but no git found - version will be unknown") |
| 6 | + IF (${ENABLE_LOCAL_BUILD_SHORTCUTS}) |
| 7 | + FILE(WRITE ${CMAKE_BINARY_DIR}/qgsversion.h.out "#define QGSVERSION \"dev\"\n") |
| 8 | + FILE(WRITE ${CMAKE_BINARY_DIR}/qgsversion.inc "PROJECT_NUMBER = \"${COMPLETE_VERSION}-${RELEASE_NAME} (dev)\"\n") |
| 9 | + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/qgsversion.h.out ${CMAKE_BINARY_DIR}/qgsversion.h) |
| 10 | + ELSE (${ENABLE_LOCAL_BUILD_SHORTCUTS}) |
| 11 | + IF (EXISTS ${CMAKE_SOURCE_DIR}/.git/index) |
| 12 | + FIND_PROGRAM(GITCOMMAND git PATHS c:/cygwin/bin) |
| 13 | + IF(GITCOMMAND) |
| 14 | + IF(WIN32 AND NOT CMAKE_CROSS_COMPILING) |
| 15 | + IF(USING_NINJA) |
| 16 | + SET(ARG %a) |
| 17 | + ELSE(USING_NINJA) |
| 18 | + SET(ARG %%a) |
| 19 | + ENDIF(USING_NINJA) |
| 20 | + ADD_CUSTOM_COMMAND( |
| 21 | + OUTPUT ${CMAKE_BINARY_DIR}/qgsversion.h ${CMAKE_BINARY_DIR}/qgsversion.inc |
| 22 | + COMMAND for /f \"usebackq tokens=1\" ${ARG} in "(`\"${GITCOMMAND}\" log -n1 --oneline`)" do echo \#define QGSVERSION \"${ARG}\" >${CMAKE_BINARY_DIR}/qgsversion.h.temp |
| 23 | + COMMAND for /f \"usebackq tokens=1\" ${ARG} in "(`\"${GITCOMMAND}\" log -n1 --oneline`)" do echo PROJECT_NUMBER = \"${COMPLETE_VERSION}-${RELEASE_NAME} \(${ARG}\)\" >${CMAKE_BINARY_DIR}/qgsversion.inc |
| 24 | + COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_BINARY_DIR}/qgsversion.h.temp -DDST=${CMAKE_BINARY_DIR}/qgsversion.h -P ${CMAKE_SOURCE_DIR}/cmake/CopyIfChanged.cmake |
| 25 | + MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/.git/index |
| 26 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
| 27 | + ) |
| 28 | + ELSE(WIN32 AND NOT CMAKE_CROSS_COMPILING) |
| 29 | + ADD_CUSTOM_COMMAND( |
| 30 | + OUTPUT ${CMAKE_BINARY_DIR}/qgsversion.h ${CMAKE_BINARY_DIR}/qgsversion.inc |
| 31 | + COMMAND ${GITCOMMAND} log -n1 --pretty=\#define\\ QGSVERSION\\ \\"%h\\" >${CMAKE_BINARY_DIR}/qgsversion.h.temp |
| 32 | + COMMAND ${GITCOMMAND} log -n1 --pretty='PROJECT_NUMBER = \"${COMPLETE_VERSION}-${RELEASE_NAME} \(%h\)\"' >${CMAKE_BINARY_DIR}/qgsversion.inc |
| 33 | + 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_BINARY_DIR}/qgsversion.h.temp |
| 34 | + COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_BINARY_DIR}/qgsversion.h.temp -DDST=${CMAKE_BINARY_DIR}/qgsversion.h -P ${CMAKE_SOURCE_DIR}/cmake/CopyIfChanged.cmake |
| 35 | + MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/.git/index |
| 36 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} |
| 37 | + ) |
| 38 | + ENDIF(WIN32 AND NOT CMAKE_CROSS_COMPILING) |
| 39 | + ELSE(GITCOMMAND) |
| 40 | + MESSAGE(STATUS "git marker, but no git found - version will be unknown") |
| 41 | + IF(NOT SHA) |
| 42 | + SET(SHA "unknown") |
| 43 | + ENDIF(NOT SHA) |
| 44 | + FILE(WRITE ${CMAKE_BINARY_DIR}/qgsversion.h.out "#define QGSVERSION \"${SHA}\"\n") |
| 45 | + FILE(WRITE ${CMAKE_BINARY_DIR}/qgsversion.inc "PROJECT_NUMBER = \"${COMPLETE_VERSION}-${RELEASE_NAME} (${SHA})\"\n") |
| 46 | + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/qgsversion.h.out ${CMAKE_BINARY_DIR}/qgsversion.h) |
| 47 | + ENDIF(GITCOMMAND) |
| 48 | + ELSE (EXISTS ${CMAKE_SOURCE_DIR}/.git/index) |
36 | 49 | IF(NOT SHA)
|
37 |
| - SET(SHA "unknown") |
| 50 | + SET(SHA "exported") |
38 | 51 | ENDIF(NOT SHA)
|
39 | 52 | FILE(WRITE ${CMAKE_BINARY_DIR}/qgsversion.h.out "#define QGSVERSION \"${SHA}\"\n")
|
40 | 53 | FILE(WRITE ${CMAKE_BINARY_DIR}/qgsversion.inc "PROJECT_NUMBER = \"${COMPLETE_VERSION}-${RELEASE_NAME} (${SHA})\"\n")
|
41 |
| - ENDIF(GITCOMMAND) |
42 |
| - ELSE (EXISTS ${CMAKE_SOURCE_DIR}/.git/index) |
43 |
| - IF(NOT SHA) |
44 |
| - SET(SHA "exported") |
45 |
| - ENDIF(NOT SHA) |
46 |
| - FILE(WRITE ${CMAKE_BINARY_DIR}/qgsversion.h.out "#define QGSVERSION \"${SHA}\"\n") |
47 |
| - FILE(WRITE ${CMAKE_BINARY_DIR}/qgsversion.inc "PROJECT_NUMBER = \"${COMPLETE_VERSION}-${RELEASE_NAME} (${SHA})\"\n") |
48 |
| - ENDIF (EXISTS ${CMAKE_SOURCE_DIR}/.git/index) |
49 |
| - |
50 |
| - execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/qgsversion.h.out ${CMAKE_BINARY_DIR}/qgsversion.h) |
| 54 | + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/qgsversion.h.out ${CMAKE_BINARY_DIR}/qgsversion.h) |
| 55 | + ENDIF (EXISTS ${CMAKE_SOURCE_DIR}/.git/index) |
| 56 | + ENDIF (${ENABLE_LOCAL_BUILD_SHORTCUTS}) |
51 | 57 |
|
52 | 58 | ADD_CUSTOM_TARGET(version ALL DEPENDS ${CMAKE_BINARY_DIR}/qgsversion.h)
|
53 | 59 | ENDMACRO(CREATE_QGSVERSION)
|
0 commit comments