diff --git a/CMakeLists.txt b/CMakeLists.txt index ce8c9fb..e334e98 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,6 +57,7 @@ get_directory_property(DEVICE_TREZOR_READY DIRECTORY "monero" DEFINITION DEVICE_ get_directory_property(TREZOR_DEP_LIBS DIRECTORY "monero" DEFINITION TREZOR_DEP_LIBS) include(CMakePackageConfigHelpers) +include(VersionFeather) include_directories(${EASYLOGGING_INCLUDE}) link_directories(${EASYLOGGING_LIBRARY_DIRS}) diff --git a/cmake/VersionFeather.cmake b/cmake/VersionFeather.cmake new file mode 100644 index 0000000..f94567f --- /dev/null +++ b/cmake/VersionFeather.cmake @@ -0,0 +1,27 @@ +# SPDX-License-Identifier: BSD-3-Clause +# SPDX-FileCopyrightText: 2020-2022 The Monero Project + +find_package(Git QUIET) + +# Sets FEATHER_COMMIT to the first 9 chars of the current commit hash. + +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) + + 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() + string(SUBSTRING ${COMMIT} 0 9 COMMIT) + message(STATUS "You are currently on commit ${COMMIT}") + set(FEATHER_COMMIT "${COMMIT}") + endif() +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 3800b0a..1e9f3f4 100644 --- a/cmake/config-feather.h.cmake +++ b/cmake/config-feather.h.cmake @@ -2,6 +2,7 @@ #define FEATHER_VERSION_H #define FEATHER_VERSION "@VERSION@" +#define FEATHER_COMMIT "@FEATHER_COMMIT@" #define TOR_VERSION "@TOR_VERSION@" diff --git a/src/assets/about.txt b/src/assets/about.txt index f560ba0..db366e9 100644 --- a/src/assets/about.txt +++ b/src/assets/about.txt @@ -1,4 +1,4 @@ -Feather +Feather () Copyright (c) 2020-, The Monero Project diff --git a/src/dialog/AboutDialog.cpp b/src/dialog/AboutDialog.cpp index deecf6f..14bca8b 100644 --- a/src/dialog/AboutDialog.cpp +++ b/src/dialog/AboutDialog.cpp @@ -19,6 +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_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 5abeed4..58b7468 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").arg(FEATHER_VERSION)); + 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()));