11# Get the latest git tag.
22set (PADDLE_VERSION $ENV{PADDLE_VERSION} )
3- if (WITH_NIGHTLY_BUILD)
3+
4+ if (NOT PADDLE_VERSION)
5+ file (READ "${CMAKE_SOURCE_DIR} /version.txt" PADDLE_VERSION)
6+ string (STRIP "${PADDLE_VERSION} " PADDLE_VERSION)
7+ message (STATUS "Paddle version from version.txt: ${PADDLE_VERSION} " )
48 execute_process (
59 COMMAND ${GIT_EXECUTABLE} show -s --format=%ci HEAD
610 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
@@ -12,65 +16,6 @@ if(WITH_NIGHTLY_BUILD)
1216 message (STATUS "Last commit date: ${DATE_ONLY} " )
1317 set (PADDLE_VERSION "${PADDLE_VERSION} .dev${DATE_ONLY} " )
1418endif ()
15- set (tmp_version "HEAD" )
16- set (TAG_VERSION_REGEX "[0-9]+\\ .[0-9]+\\ .[0-9]+(\\ .(a|b|rc)\\ .[0-9]+)?" )
17- set (COMMIT_VERSION_REGEX "[0-9a-f]+[0-9a-f]+[0-9a-f]+[0-9a-f]+[0-9a-f]+" )
18- while ("${PADDLE_VERSION} " STREQUAL "" )
19- # Check current branch name
20- execute_process (
21- COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref ${tmp_version}
22- WORKING_DIRECTORY ${PADDLE_SOURCE_DIR}
23- OUTPUT_VARIABLE GIT_BRANCH_NAME
24- RESULT_VARIABLE GIT_BRANCH_RESULT
25- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
26- if (NOT ${GIT_BRANCH_RESULT} )
27- execute_process (
28- COMMAND ${GIT_EXECUTABLE} describe --tags --abbrev=0 --always
29- ${tmp_version}
30- WORKING_DIRECTORY ${PADDLE_SOURCE_DIR}
31- OUTPUT_VARIABLE GIT_TAG_NAME
32- RESULT_VARIABLE GIT_RESULT
33- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
34- if (NOT ${GIT_RESULT} )
35- # Check if current branch is release branch
36- if (${GIT_BRANCH_NAME} MATCHES "release/${TAG_VERSION_REGEX} " )
37- # Check the tag is a correct version
38- if (${GIT_TAG_NAME} MATCHES "${COMMIT_VERSION_REGEX} " )
39- # if no tag was found, set PADDLE_VERSION to 0.0.0 to represent latest
40- set (PADDLE_VERSION "0.0.0" )
41- elseif (${GIT_TAG_NAME} MATCHES "v${TAG_VERSION_REGEX} " )
42- string (REPLACE "v" "" PADDLE_VERSION ${GIT_TAG_NAME} )
43- else () # otherwise, get the previous git tag name.
44- set (tmp_version "${GIT_TAG_NAME} ~1" )
45- endif ()
46- else ()
47- execute_process (
48- COMMAND ${GIT_EXECUTABLE} describe --exact-match --tags ${tmp_version}
49- WORKING_DIRECTORY ${PADDLE_SOURCE_DIR}
50- OUTPUT_VARIABLE GIT_EXACT_TAG_NAME
51- RESULT_VARIABLE GIT_EXACT_TAG_RESULT
52- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
53- if (NOT ${GIT_EXACT_TAG_NAME} )
54- # Check if current branch is tag branch
55- if (${GIT_EXACT_TAG_NAME} MATCHES "v${TAG_VERSION_REGEX} " )
56- string (REPLACE "v" "" PADDLE_VERSION ${GIT_EXACT_TAG_NAME} )
57- else ()
58- set (PADDLE_VERSION "0.0.0" )
59- endif ()
60- else ()
61- # otherwise, we always set PADDLE_VERSION to 0.0.0 to represent latest
62- set (PADDLE_VERSION "0.0.0" )
63- endif ()
64- endif ()
65- else ()
66- set (PADDLE_VERSION "0.0.0" )
67- message (WARNING "Cannot add paddle version from git tag" )
68- endif ()
69- else ()
70- set (PADDLE_VERSION "0.0.0" )
71- message (WARNING "Cannot add paddle version for wrong git branch result" )
72- endif ()
73- endwhile ()
7419
7520string (REPLACE "-" "." PADDLE_VER_LIST ${PADDLE_VERSION} )
7621string (REPLACE "." ";" PADDLE_VER_LIST ${PADDLE_VER_LIST} )
0 commit comments