diff --git a/cmake/VersionFeather.cmake b/cmake/VersionFeather.cmake index fc12faf..f94567f 100644 --- a/cmake/VersionFeather.cmake +++ b/cmake/VersionFeather.cmake @@ -1,39 +1,27 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2020, The Monero Project. +# SPDX-FileCopyrightText: 2020-2022 The Monero Project find_package(Git QUIET) -# Check what commit we're on -execute_process(COMMAND "${GIT_EXECUTABLE}" rev-parse --short=9 HEAD RESULT_VARIABLE RET OUTPUT_VARIABLE COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE) +# Sets FEATHER_COMMIT to the first 9 chars of the current commit hash. -if(RET) - # Something went wrong, set the version tag to -unknown - - message(WARNING "Cannot determine current commit. Make sure that you are building either from a Git working tree or from a source archive.") - set(FEATHER_BRANCH "unknown") - configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h") -else() +if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/githash.txt") + # This file added in source archives where the .git folder has been removed to optimize for space. + file(READ "githash.txt" COMMIT) string(SUBSTRING ${COMMIT} 0 9 COMMIT) message(STATUS "You are currently on commit ${COMMIT}") + set(FEATHER_COMMIT "${COMMIT}") +else() + execute_process(COMMAND "${GIT_EXECUTABLE}" rev-parse --short=9 HEAD RESULT_VARIABLE RET OUTPUT_VARIABLE COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE) - # Get all the tags - execute_process(COMMAND "${GIT}" rev-list --tags --max-count=1 --abbrev-commit RESULT_VARIABLE RET OUTPUT_VARIABLE TAGGEDCOMMIT OUTPUT_STRIP_TRAILING_WHITESPACE) - - if(NOT TAGGEDCOMMIT) - message(STATUS "Cannot determine most recent tag. Make sure that you are building either from a Git working tree or from a source archive.") - set(FEATHER_BRANCH "${COMMIT}") + if(RET) + message(WARNING "Cannot determine current commit. Make sure that you are building either from a Git working tree or from a source archive.") + set(FEATHER_COMMIT "unknown") else() - message(STATUS "The most recent tag was at ${TAGGEDCOMMIT}") - - # Check if we're building that tagged commit or a different one - if(COMMIT STREQUAL TAGGEDCOMMIT) - message(STATUS "You are building a tagged release") - set(FEATHER_BRANCH "release") - else() - message(STATUS "You are ahead of or behind a tagged release") - set(FEATHER_BRANCH "${COMMIT}") - endif() + string(SUBSTRING ${COMMIT} 0 9 COMMIT) + message(STATUS "You are currently on commit ${COMMIT}") + set(FEATHER_COMMIT "${COMMIT}") endif() - - configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h") endif() + +configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h") \ No newline at end of file diff --git a/cmake/config-feather.h.cmake b/cmake/config-feather.h.cmake index 98fcd4f..1e9f3f4 100644 --- a/cmake/config-feather.h.cmake +++ b/cmake/config-feather.h.cmake @@ -2,7 +2,7 @@ #define FEATHER_VERSION_H #define FEATHER_VERSION "@VERSION@" -#define FEATHER_BRANCH "@FEATHER_BRANCH@" +#define FEATHER_COMMIT "@FEATHER_COMMIT@" #define TOR_VERSION "@TOR_VERSION@" diff --git a/src/dialog/AboutDialog.cpp b/src/dialog/AboutDialog.cpp index abcf943..14bca8b 100644 --- a/src/dialog/AboutDialog.cpp +++ b/src/dialog/AboutDialog.cpp @@ -19,7 +19,7 @@ AboutDialog::AboutDialog(QWidget *parent) auto about = Utils::fileOpenQRC(":assets/about.txt"); auto about_text = Utils::barrayToString(about); about_text = about_text.replace("", FEATHER_VERSION); - about_text = about_text.replace("", FEATHER_BRANCH); + about_text = about_text.replace("", FEATHER_COMMIT); about_text = about_text.replace("", QString::number(QDate::currentDate().year())); ui->copyrightText->setPlainText(about_text); diff --git a/src/dialog/DebugInfoDialog.cpp b/src/dialog/DebugInfoDialog.cpp index 03a0659..2843ccb 100644 --- a/src/dialog/DebugInfoDialog.cpp +++ b/src/dialog/DebugInfoDialog.cpp @@ -45,7 +45,7 @@ void DebugInfoDialog::updateInfo() { else torStatus = "Unknown"; - ui->label_featherVersion->setText(QString("%1-%2").arg(FEATHER_VERSION, FEATHER_BRANCH)); + ui->label_featherVersion->setText(QString("%1-%2").arg(FEATHER_VERSION, FEATHER_COMMIT)); ui->label_walletHeight->setText(QString::number(m_ctx->wallet->blockChainHeight())); ui->label_daemonHeight->setText(QString::number(m_ctx->wallet->daemonBlockChainHeight()));