Thanks for the review Aruna. Please find the new patch attached. >From 2a9f30c0df659e5dd4ecd9619ba7cdd85da1221d Mon Sep 17 00:00:00 2001 From: Janani TE <janani...@multicorewareinc.com> Date: Tue, 24 Aug 2021 10:10:08 +0530 Subject: [PATCH] Update x265Version.txt for Release_3.4
--- source/CMakeLists.txt | 4 +- source/cmake/Version.cmake | 179 +++++++++++++++++++++++++++++++++++++++++++++ source/cmake/version.cmake | 97 ------------------------ x265Version.txt | 4 + 4 files changed, 185 insertions(+), 99 deletions(-) create mode 100644 source/cmake/Version.cmake delete mode 100644 source/cmake/version.cmake create mode 100644 x265Version.txt diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 1d1a613..f4a9cb7 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -29,7 +29,7 @@ option(NATIVE_BUILD "Target the build CPU" OFF) option(STATIC_LINK_CRT "Statically link C runtime for release builds" OFF) mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD) # X265_BUILD must be incremented each time the public API is changed -set(X265_BUILD 192) +set(X265_BUILD 201) configure_file("${PROJECT_SOURCE_DIR}/x265.def.in" "${PROJECT_BINARY_DIR}/x265.def") configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in" @@ -485,7 +485,7 @@ if(POWER) endif() endif() -include(version) # determine X265_VERSION and X265_LATEST_TAG +include(Version) # determine X265_VERSION and X265_LATEST_TAG include_directories(. common encoder "${PROJECT_BINARY_DIR}") option(ENABLE_PPA "Enable PPA profiling instrumentation" OFF) diff --git a/source/cmake/Version.cmake b/source/cmake/Version.cmake new file mode 100644 index 0000000..3bbf42f --- /dev/null +++ b/source/cmake/Version.cmake @@ -0,0 +1,179 @@ + ################################################################################################################# + # + # Copyright (C) 2013-2020 MulticoreWare, Inc + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. + # + # This program is also available under a commercial proprietary license. + # For more information, contact us at license @ x265.com + # + # Authors: Janani T.E <janani...@multicorewareinc.com>, Srikanth Kurapati <srikanthkurap...@multicorewareinc.com> + # + ################################################################################################################# + # PURPOSE: Identity version control software version display, also read version files to present x265 version. + ################################################################################################################# + #Default Settings, for user to be vigilant about x265 version being reported during product build. +set(X265_VERSION "unknown") +set(X265_LATEST_TAG "0.0") +set(X265_TAG_DISTANCE "0") + +#Find version control software to be used for live and extracted repositories from compressed tarballs +if(CMAKE_VERSION VERSION_LESS "2.8.10") + find_program(HG_EXECUTABLE hg) + if(EXISTS "${HG_EXECUTABLE}.bat") + set(HG_EXECUTABLE "${HG_EXECUTABLE}.bat") + endif() + message(STATUS "hg found at ${HG_EXECUTABLE}") +else() + find_package(Hg QUIET) +endif() +if(HG_EXECUTABLE) + #Set Version Control binary for source code kind + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.hg_archival.txt) + set(HG_ARCHETYPE "1") + elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.hg) + set(HG_ARCHETYPE "0") + endif() +endif(HG_EXECUTABLE) +find_package(Git QUIET) #No restrictions on Git versions used, any versions from 1.8.x to 2.2.x or later should do. +if(GIT_FOUND) + find_program(GIT_EXECUTABLE git) + message(STATUS "GIT_EXECUTABLE ${GIT_EXECUTABLE}") + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git) + set(GIT_ARCHETYPE "0") + elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../x265Version.txt) + set(GIT_ARCHETYPE "1") + endif() +endif(GIT_FOUND) +if(HG_ARCHETYPE) + #Read the lines of the archive summary file to extract the version + message(STATUS "SOURCE CODE IS FROM x265 HG ARCHIVED ZIP OR TAR BALL") + file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.hg_archival.txt archive) + STRING(REGEX REPLACE "\n" ";" archive "${archive}") + foreach(f ${archive}) + string(FIND "${f}" ": " pos) + string(SUBSTRING "${f}" 0 ${pos} key) + string(SUBSTRING "${f}" ${pos} -1 value) + string(SUBSTRING "${value}" 2 -1 value) + set(hg_${key} ${value}) + endforeach() + if(DEFINED hg_tag) + set(X265_LATEST_TAG ${hg_tag}) + elseif(DEFINED hg_node) + set(X265_LATEST_TAG ${hg_latesttag}) + set(X265_TAG_DISTANCE ${hg_latesttagdistance}) + string(SUBSTRING "${hg_node}" 0 12 X265_REVISION_ID) + endif() + message(STATUS "HG ARCHIVAL INFORMATION PROCESSED") +elseif(NOT DEFINED GIT_ARCHETYPE) +# means that's its neither hg archive nor git clone/archive hence it has to be hg live repo as these are only four cases that need to processed in mutual exclusion. + execute_process(COMMAND + ${HG_EXECUTABLE} log -r. --template "{latesttag}" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE X265_LATEST_TAG + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + execute_process(COMMAND + ${HG_EXECUTABLE} log -r. --template "{latesttagdistance}" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE X265_TAG_DISTANCE + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + execute_process( + COMMAND + ${HG_EXECUTABLE} log -r. --template "{node}" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE X265_REVISION_ID + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(SUBSTRING "${X265_REVISION_ID}" 0 12 X265_REVISION_ID) + if(X265_LATEST_TAG MATCHES "^r") + string(SUBSTRING ${X265_LATEST_TAG} 1 -1 X265_LATEST_TAG) + endif() + message(STATUS "HG LIVE REPO STATUS CHECK DONE") +elseif(GIT_ARCHETYPE) + message(STATUS "SOURCE CODE IS FROM x265 GIT ARCHIVED ZIP OR TAR BALL") + #Read the lines of the archive summary file to extract the version + file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../x265Version.txt filebuf) + STRING(REGEX REPLACE "\n" ";" filebuf "${filebuf}") + foreach(line ${filebuf}) + string(FIND "${line}" ": " pos) + string(SUBSTRING "${line}" 0 ${pos} key) + string(SUBSTRING "${line}" ${pos} -1 value) + string(SUBSTRING "${value}" 2 -1 value) + set(git_${key} ${value}) + endforeach() + if(DEFINED git_releasetag) + set(X265_LATEST_TAG ${git_releasetag}) + if(DEFINED git_releasetagdistance) + set(X265_TAG_DISTANCE ${git_releasetagdistance}) + if(X265_TAG_DISTANCE STRGREATER "0" OR X265_TAG_DISTANCE STREQUAL "0") + #for x265 the repository changeset has to be a tag id or commit id after the tag + #hence mandating it's presence in version file always for valid tag distances. + if(DEFINED git_repositorychangeset) + string(SUBSTRING "${git_repositorychangeset}" 0 9 X265_REVISION_ID) + else() + message(WARNING "X265 LATEST COMMIT TIP INFORMATION NOT AVAILABLE") + endif() + else() + message(WARNING "X265 TAG DISTANCE INVALID") + endif() + else() + message(WARNING "COMMIT INFORMATION AFTER LATEST REVISION UNAVAILABLE") + endif() + else() + message(WARNING "X265 RELEASE VERSION LABEL MISSING: ${X265_LATEST_TAG}") + endif() + message(STATUS "GIT ARCHIVAL INFORMATION PROCESSED") +else() + execute_process( + COMMAND + ${GIT_EXECUTABLE} describe --abbrev=0 --tags + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE X265_LATEST_TAG + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + execute_process( + COMMAND + ${GIT_EXECUTABLE} rev-list ${X265_LATEST_TAG}.. --count --first-parent + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE X265_TAG_DISTANCE + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + execute_process( + COMMAND + ${GIT_EXECUTABLE} log --pretty=format:%h -n 1 + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE X265_REVISION_ID + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + message(STATUS "GIT LIVE REPO VERSION RETRIEVED") +endif() + +# formatting based on distance from tag +if(X265_TAG_DISTANCE STREQUAL "0") + set(X265_VERSION "${X265_LATEST_TAG}") +elseif(X265_TAG_DISTANCE STRGREATER "0") + set(X265_VERSION "${X265_LATEST_TAG}+${X265_TAG_DISTANCE}-${X265_REVISION_ID}") +endif() + +#will always be printed in its entirety based on version file configuration to avail revision monitoring by repo owners +message(STATUS "X265 RELEASE VERSION ${X265_VERSION}") diff --git a/source/cmake/version.cmake b/source/cmake/version.cmake deleted file mode 100644 index 3530224..0000000 --- a/source/cmake/version.cmake +++ /dev/null @@ -1,97 +0,0 @@ -if(CMAKE_VERSION VERSION_LESS "2.8.10") - find_program(HG_EXECUTABLE hg) -else() - find_package(Hg QUIET) -endif() -find_package(Git QUIET) # present in 2.8.8 - -# defaults, in case everything below fails -set(X265_VERSION "unknown") -set(X265_LATEST_TAG "0.0") -set(X265_TAG_DISTANCE "0") - -if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.hg_archival.txt) - # read the lines of the archive summary file to extract the version - file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.hg_archival.txt archive) - STRING(REGEX REPLACE "\n" ";" archive "${archive}") - foreach(f ${archive}) - string(FIND "${f}" ": " pos) - string(SUBSTRING "${f}" 0 ${pos} key) - string(SUBSTRING "${f}" ${pos} -1 value) - string(SUBSTRING "${value}" 2 -1 value) - set(hg_${key} ${value}) - endforeach() - if(DEFINED hg_tag) - set(X265_LATEST_TAG ${hg_tag}) - elseif(DEFINED hg_node) - set(X265_LATEST_TAG ${hg_latesttag}) - set(X265_TAG_DISTANCE ${hg_latesttagdistance}) - string(SUBSTRING "${hg_node}" 0 12 X265_REVISION_ID) - endif() -elseif(HG_EXECUTABLE AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.hg) - if(EXISTS "${HG_EXECUTABLE}.bat") - # mercurial source installs on Windows require .bat extension - set(HG_EXECUTABLE "${HG_EXECUTABLE}.bat") - endif() - message(STATUS "hg found at ${HG_EXECUTABLE}") - - execute_process(COMMAND - ${HG_EXECUTABLE} log -r. --template "{latesttag}" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - OUTPUT_VARIABLE X265_LATEST_TAG - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - execute_process(COMMAND - ${HG_EXECUTABLE} log -r. --template "{latesttagdistance}" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - OUTPUT_VARIABLE X265_TAG_DISTANCE - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - execute_process( - COMMAND - ${HG_EXECUTABLE} log -r. --template "{node}" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - OUTPUT_VARIABLE X265_REVISION_ID - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(SUBSTRING "${X265_REVISION_ID}" 0 12 X265_REVISION_ID) - - if(X265_LATEST_TAG MATCHES "^r") - string(SUBSTRING ${X265_LATEST_TAG} 1 -1 X265_LATEST_TAG) - endif() -elseif(GIT_EXECUTABLE AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git) - execute_process( - COMMAND - ${GIT_EXECUTABLE} describe --abbrev=0 --tags - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - OUTPUT_VARIABLE X265_LATEST_TAG - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - execute_process( - COMMAND - ${GIT_EXECUTABLE} rev-list ${X265_LATEST_TAG}.. --count --first-parent - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - OUTPUT_VARIABLE X265_TAG_DISTANCE - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - execute_process( - COMMAND - ${GIT_EXECUTABLE} log -1 --format=g%h - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - OUTPUT_VARIABLE X265_REVISION_ID - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) -endif() -if(X265_TAG_DISTANCE STREQUAL "0") - set(X265_VERSION "${X265_LATEST_TAG}") -else() - set(X265_VERSION "${X265_LATEST_TAG}+${X265_TAG_DISTANCE}-${X265_REVISION_ID}") -endif() - -message(STATUS "x265 version ${X265_VERSION}") diff --git a/x265Version.txt b/x265Version.txt new file mode 100644 index 0000000..9f01be5 --- /dev/null +++ b/x265Version.txt @@ -0,0 +1,4 @@ +#Attribute: Values +repositorychangeset: 57022ba54 +releasetagdistance: 1 +releasetag: 3.4.1 -- 1.8.3.1 On Tue, Aug 3, 2021 at 6:57 PM Janani T E <janani...@multicorewareinc.com> wrote: > From a3dd554074f7f02d6589b4661ec0c403aa4cf0c5 Mon Sep 17 00:00:00 2001 > From: Janani TE <janani...@multicorewareinc.com> > Date: Tue, 3 Aug 2021 18:46:47 +0530 > Subject: [PATCH] Update x265Version.txt for Release_3.4 > > --- > source/CMakeLists.txt | 4 +- > source/cmake/Version.cmake | 179 > +++++++++++++++++++++++++++++++++++++++++++++ > x265Version.txt | 4 + > 3 files changed, 185 insertions(+), 2 deletions(-) > create mode 100644 source/cmake/Version.cmake > create mode 100644 x265Version.txt > > diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt > index 1d1a613..f4a9cb7 100644 > --- a/source/CMakeLists.txt > +++ b/source/CMakeLists.txt > @@ -29,7 +29,7 @@ option(NATIVE_BUILD "Target the build CPU" OFF) > option(STATIC_LINK_CRT "Statically link C runtime for release builds" OFF) > mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD) > # X265_BUILD must be incremented each time the public API is changed > -set(X265_BUILD 192) > +set(X265_BUILD 201) > configure_file("${PROJECT_SOURCE_DIR}/x265.def.in" > "${PROJECT_BINARY_DIR}/x265.def") > configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in" > @@ -485,7 +485,7 @@ if(POWER) > endif() > endif() > > -include(version) # determine X265_VERSION and X265_LATEST_TAG > +include(Version) # determine X265_VERSION and X265_LATEST_TAG > include_directories(. common encoder "${PROJECT_BINARY_DIR}") > > option(ENABLE_PPA "Enable PPA profiling instrumentation" OFF) > diff --git a/source/cmake/Version.cmake b/source/cmake/Version.cmake > new file mode 100644 > index 0000000..3bbf42f > --- /dev/null > +++ b/source/cmake/Version.cmake > @@ -0,0 +1,179 @@ > + > ################################################################################################################# > + # > + # Copyright (C) 2013-2020 MulticoreWare, Inc > + # > + # This program is free software; you can redistribute it and/or modify > + # it under the terms of the GNU General Public License as published by > + # the Free Software Foundation; either version 2 of the License, or > + # (at your option) any later version. > + # > + # This program is distributed in the hope that it will be useful, > + # but WITHOUT ANY WARRANTY; without even the implied warranty of > + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + # GNU General Public License for more details. > + # > + # You should have received a copy of the GNU General Public License > + # along with this program; if not, write to the Free Software > + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, > USA. > + # > + # This program is also available under a commercial proprietary license. > + # For more information, contact us at license @ x265.com > + # > + # Authors: Janani T.E <janani...@multicorewareinc.com>, Srikanth > Kurapati <srikanthkurap...@multicorewareinc.com> > + # > + > ################################################################################################################# > + # PURPOSE: Identity version control software version display, also read > version files to present x265 version. > + > ################################################################################################################# > + #Default Settings, for user to be vigilant about x265 version being > reported during product build. > +set(X265_VERSION "unknown") > +set(X265_LATEST_TAG "0.0") > +set(X265_TAG_DISTANCE "0") > + > +#Find version control software to be used for live and extracted > repositories from compressed tarballs > +if(CMAKE_VERSION VERSION_LESS "2.8.10") > + find_program(HG_EXECUTABLE hg) > + if(EXISTS "${HG_EXECUTABLE}.bat") > + set(HG_EXECUTABLE "${HG_EXECUTABLE}.bat") > + endif() > + message(STATUS "hg found at ${HG_EXECUTABLE}") > +else() > + find_package(Hg QUIET) > +endif() > +if(HG_EXECUTABLE) > + #Set Version Control binary for source code kind > + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.hg_archival.txt) > + set(HG_ARCHETYPE "1") > + elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.hg) > + set(HG_ARCHETYPE "0") > + endif() > +endif(HG_EXECUTABLE) > +find_package(Git QUIET) #No restrictions on Git versions used, any > versions from 1.8.x to 2.2.x or later should do. > +if(GIT_FOUND) > + find_program(GIT_EXECUTABLE git) > + message(STATUS "GIT_EXECUTABLE ${GIT_EXECUTABLE}") > + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git) > + set(GIT_ARCHETYPE "0") > + elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../x265Version.txt) > + set(GIT_ARCHETYPE "1") > + endif() > +endif(GIT_FOUND) > +if(HG_ARCHETYPE) > + #Read the lines of the archive summary file to extract the version > + message(STATUS "SOURCE CODE IS FROM x265 HG ARCHIVED ZIP OR TAR BALL") > + file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../.hg_archival.txt archive) > + STRING(REGEX REPLACE "\n" ";" archive "${archive}") > + foreach(f ${archive}) > + string(FIND "${f}" ": " pos) > + string(SUBSTRING "${f}" 0 ${pos} key) > + string(SUBSTRING "${f}" ${pos} -1 value) > + string(SUBSTRING "${value}" 2 -1 value) > + set(hg_${key} ${value}) > + endforeach() > + if(DEFINED hg_tag) > + set(X265_LATEST_TAG ${hg_tag}) > + elseif(DEFINED hg_node) > + set(X265_LATEST_TAG ${hg_latesttag}) > + set(X265_TAG_DISTANCE ${hg_latesttagdistance}) > + string(SUBSTRING "${hg_node}" 0 12 X265_REVISION_ID) > + endif() > + message(STATUS "HG ARCHIVAL INFORMATION PROCESSED") > +elseif(NOT DEFINED GIT_ARCHETYPE) > +# means that's its neither hg archive nor git clone/archive hence it has > to be hg live repo as these are only four cases that need to processed in > mutual exclusion. > + execute_process(COMMAND > + ${HG_EXECUTABLE} log -r. --template "{latesttag}" > + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} > + OUTPUT_VARIABLE X265_LATEST_TAG > + ERROR_QUIET > + OUTPUT_STRIP_TRAILING_WHITESPACE > + ) > + execute_process(COMMAND > + ${HG_EXECUTABLE} log -r. --template "{latesttagdistance}" > + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} > + OUTPUT_VARIABLE X265_TAG_DISTANCE > + ERROR_QUIET > + OUTPUT_STRIP_TRAILING_WHITESPACE > + ) > + execute_process( > + COMMAND > + ${HG_EXECUTABLE} log -r. --template "{node}" > + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} > + OUTPUT_VARIABLE X265_REVISION_ID > + ERROR_QUIET > + OUTPUT_STRIP_TRAILING_WHITESPACE > + ) > + string(SUBSTRING "${X265_REVISION_ID}" 0 12 X265_REVISION_ID) > + if(X265_LATEST_TAG MATCHES "^r") > + string(SUBSTRING ${X265_LATEST_TAG} 1 -1 X265_LATEST_TAG) > + endif() > + message(STATUS "HG LIVE REPO STATUS CHECK DONE") > +elseif(GIT_ARCHETYPE) > + message(STATUS "SOURCE CODE IS FROM x265 GIT ARCHIVED ZIP OR TAR > BALL") > + #Read the lines of the archive summary file to extract the version > + file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../x265Version.txt filebuf) > + STRING(REGEX REPLACE "\n" ";" filebuf "${filebuf}") > + foreach(line ${filebuf}) > + string(FIND "${line}" ": " pos) > + string(SUBSTRING "${line}" 0 ${pos} key) > + string(SUBSTRING "${line}" ${pos} -1 value) > + string(SUBSTRING "${value}" 2 -1 value) > + set(git_${key} ${value}) > + endforeach() > + if(DEFINED git_releasetag) > + set(X265_LATEST_TAG ${git_releasetag}) > + if(DEFINED git_releasetagdistance) > + set(X265_TAG_DISTANCE ${git_releasetagdistance}) > + if(X265_TAG_DISTANCE STRGREATER "0" OR X265_TAG_DISTANCE > STREQUAL "0") > + #for x265 the repository changeset has to be a tag id or > commit id after the tag > + #hence mandating it's presence in version file always for > valid tag distances. > + if(DEFINED git_repositorychangeset) > + string(SUBSTRING "${git_repositorychangeset}" 0 9 > X265_REVISION_ID) > + else() > + message(WARNING "X265 LATEST COMMIT TIP INFORMATION > NOT AVAILABLE") > + endif() > + else() > + message(WARNING "X265 TAG DISTANCE INVALID") > + endif() > + else() > + message(WARNING "COMMIT INFORMATION AFTER LATEST REVISION > UNAVAILABLE") > + endif() > + else() > + message(WARNING "X265 RELEASE VERSION LABEL MISSING: > ${X265_LATEST_TAG}") > + endif() > + message(STATUS "GIT ARCHIVAL INFORMATION PROCESSED") > +else() > + execute_process( > + COMMAND > + ${GIT_EXECUTABLE} describe --abbrev=0 --tags > + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} > + OUTPUT_VARIABLE X265_LATEST_TAG > + ERROR_QUIET > + OUTPUT_STRIP_TRAILING_WHITESPACE > + ) > + execute_process( > + COMMAND > + ${GIT_EXECUTABLE} rev-list ${X265_LATEST_TAG}.. --count > --first-parent > + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} > + OUTPUT_VARIABLE X265_TAG_DISTANCE > + ERROR_QUIET > + OUTPUT_STRIP_TRAILING_WHITESPACE > + ) > + execute_process( > + COMMAND > + ${GIT_EXECUTABLE} log --pretty=format:%h -n 1 > + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} > + OUTPUT_VARIABLE X265_REVISION_ID > + ERROR_QUIET > + OUTPUT_STRIP_TRAILING_WHITESPACE > + ) > + message(STATUS "GIT LIVE REPO VERSION RETRIEVED") > +endif() > + > +# formatting based on distance from tag > +if(X265_TAG_DISTANCE STREQUAL "0") > + set(X265_VERSION "${X265_LATEST_TAG}") > +elseif(X265_TAG_DISTANCE STRGREATER "0") > + set(X265_VERSION > "${X265_LATEST_TAG}+${X265_TAG_DISTANCE}-${X265_REVISION_ID}") > +endif() > + > +#will always be printed in its entirety based on version file > configuration to avail revision monitoring by repo owners > +message(STATUS "X265 RELEASE VERSION ${X265_VERSION}") > diff --git a/x265Version.txt b/x265Version.txt > new file mode 100644 > index 0000000..9f01be5 > --- /dev/null > +++ b/x265Version.txt > @@ -0,0 +1,4 @@ > +#Attribute: Values > +repositorychangeset: 57022ba54 > +releasetagdistance: 1 > +releasetag: 3.4.1 > -- > 1.8.3.1 > > -- > Thanks and Regards, > Janani. > -- Thanks and Regards, Janani.
0001-Update-x265Version.txt-for-Release_3.4.patch
Description: Binary data
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel