Pushed to the Release_3.4 branch On Tue, Aug 24, 2021 at 10:14 AM Janani T E <janani...@multicorewareinc.com> wrote:
> 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. > _______________________________________________ > x265-devel mailing list > x265-devel@videolan.org > https://mailman.videolan.org/listinfo/x265-devel >
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel