From c970588c555206b85c360569793285ee5527d591 Mon Sep 17 00:00:00 2001 From: selsta Date: Tue, 19 Oct 2021 17:58:39 +0200 Subject: [PATCH] cmake: simplify version, fix tag if git isn't found --- cmake/GitGetVersionTag.cmake | 67 ------------------------------------ cmake/VersionGui.cmake | 10 +++--- src/version.js.in | 4 ++- 3 files changed, 7 insertions(+), 74 deletions(-) delete mode 100644 cmake/GitGetVersionTag.cmake diff --git a/cmake/GitGetVersionTag.cmake b/cmake/GitGetVersionTag.cmake deleted file mode 100644 index b66b1886..00000000 --- a/cmake/GitGetVersionTag.cmake +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (c) 2014-2019, The Monero Project -# -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are -# permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of -# conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list -# of conditions and the following disclaimer in the documentation and/or other -# materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be -# used to endorse or promote products derived from this software without specific -# prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers - -function (git_get_version_tag git directory result_var) - execute_process(COMMAND "${git}" rev-parse --short HEAD - WORKING_DIRECTORY ${directory} - OUTPUT_VARIABLE COMMIT - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(NOT COMMIT) - message(WARNING "${directory}: cannot determine current commit. Make sure that you are building from a Git working tree") - set(${result_var} "unknown" PARENT_SCOPE) - return() - endif() - - execute_process(COMMAND "${git}" describe --tags --exact-match - WORKING_DIRECTORY ${directory} - OUTPUT_VARIABLE TAG - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(TAG) - message(STATUS "${directory}: building tagged release ${TAG}-${COMMIT}") - set(${result_var} "${TAG}-${COMMIT}" PARENT_SCOPE) - return() - endif() - - execute_process(COMMAND "${git}" describe --tags --long - WORKING_DIRECTORY ${directory} - OUTPUT_VARIABLE MOST_RECENT_TAG - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(MOST_RECENT_TAG) - message(STATUS "${directory}: ahead of or behind a tagged release, building ${MOST_RECENT_TAG}") - set(${result_var} "${MOST_RECENT_TAG}" PARENT_SCOPE) - return() - endif() - - message(STATUS "${directory}: building ${COMMIT} commit") - set(${result_var} "${COMMIT}" PARENT_SCOPE) -endfunction() diff --git a/cmake/VersionGui.cmake b/cmake/VersionGui.cmake index 960c3f4e..e225bf2b 100644 --- a/cmake/VersionGui.cmake +++ b/cmake/VersionGui.cmake @@ -26,7 +26,8 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -function (write_static_version_header VERSION_TAG_GUI) +function (write_static_version_header tag) + set(VERSION_TAG_GUI "${tag}" CACHE STRING "The tag portion of the Monero GUI software version" FORCE) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/version.js.in" "${CMAKE_CURRENT_SOURCE_DIR}/version.js") endfunction () @@ -36,11 +37,8 @@ if ("$Format:$" STREQUAL "") write_static_version_header("release") elseif (GIT_FOUND OR Git_FOUND) message(STATUS "Found Git: ${GIT_EXECUTABLE}") - - include(GitGetVersionTag) - git_get_version_tag(${GIT_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR} VERSION_TAG_GUI) - STRING(REGEX REPLACE "^v([0-9])" "\\1" VERSION_TAG_GUI ${VERSION_TAG_GUI}) - write_static_version_header(${VERSION_TAG_GUI}) + get_version_tag_from_git("${GIT_EXECUTABLE}") + write_static_version_header(${VERSIONTAG}) else() message(STATUS "WARNING: Git was not found!") write_static_version_header("unknown") diff --git a/src/version.js.in b/src/version.js.in index dab4a07e..a9698679 100644 --- a/src/version.js.in +++ b/src/version.js.in @@ -1 +1,3 @@ -var GUI_VERSION = "@VERSION_TAG_GUI@"; +var GUI_VERSION_NUMBER = "@VERSION@" +var GUI_VERSION_TAG = "@VERSION_TAG_GUI@"; +var GUI_VERSION = GUI_VERSION_NUMBER + "-" + GUI_VERSION_TAG