From 6b512d78c994550ff653d519af7784023be5ebd2 Mon Sep 17 00:00:00 2001
From: SilverBeamx <molto.falso@gmail.com>
Date: Tue, 7 Apr 2020 22:41:45 +0200
Subject: [PATCH] Addressed feedback: removed CMake hack in favor of building
 the necessary strings via the supplied title format

---
 CMakeModules/GenerateSCMRev.cmake | 21 ++-------------------
 src/yuzu/about_dialog.cpp         |  8 +++++++-
 src/yuzu/main.cpp                 |  8 +++++++-
 3 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake
index 787e30df19..5d4eccb005 100644
--- a/CMakeModules/GenerateSCMRev.cmake
+++ b/CMakeModules/GenerateSCMRev.cmake
@@ -20,6 +20,8 @@ get_timestamp(BUILD_DATE)
 # Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well
 set(REPO_NAME "")
 set(BUILD_VERSION "0")
+set(TITLE_BAR_FORMAT_IDLE "yuzu {5} ")
+set(BUILD_ID "420")
 if (BUILD_REPOSITORY)
   # regex capture the string nightly or canary into CMAKE_MATCH_1
   string(REGEX MATCH "yuzu-emu/yuzu-?(.*)" OUTVAR ${BUILD_REPOSITORY})
@@ -48,25 +50,6 @@ if (BUILD_REPOSITORY)
   endif()
 endif()
 
-# "Hack": Generate BUILD_FULLNAME from the Git desc
-if (GIT_DESC)
-  # regex capture the characters before the first "-" into CMAKE_MATCH_1
-  string(REGEX MATCH "^([a-z]*)-.*" OUTVAR ${GIT_DESC})
-  if ("${CMAKE_MATCH_COUNT}" GREATER 0)
-    # capitalize the first letter of the repo name.
-    string(SUBSTRING ${CMAKE_MATCH_1} 0 1 FIRST_LETTER)
-    string(SUBSTRING ${CMAKE_MATCH_1} 1 -1 REMAINDER)
-    string(TOUPPER ${FIRST_LETTER} FIRST_LETTER)
-    set(REPO_NAME "${FIRST_LETTER}${REMAINDER}")
-
-    # If GIT_DESC has been parsed correctly, build the BUILD_FULLNAME from the repo name and the
-    # build version
-    if(REPO_NAME)
-        set(BUILD_FULLNAME "${REPO_NAME} ${BUILD_ID} ")
-    endif()
-  endif()
-endif()
-
 # The variable SRC_DIR must be passed into the script (since it uses the current build directory for all values of CMAKE_*_DIR)
 set(VIDEO_CORE "${SRC_DIR}/src/video_core")
 set(HASH_FILES
diff --git a/src/yuzu/about_dialog.cpp b/src/yuzu/about_dialog.cpp
index d39b3f07ae..e7985c8a77 100644
--- a/src/yuzu/about_dialog.cpp
+++ b/src/yuzu/about_dialog.cpp
@@ -3,15 +3,21 @@
 // Refer to the license.txt file included.
 
 #include <QIcon>
+#include <fmt/format.h>
 #include "common/scm_rev.h"
 #include "ui_aboutdialog.h"
 #include "yuzu/about_dialog.h"
 
 AboutDialog::AboutDialog(QWidget* parent) : QDialog(parent), ui(new Ui::AboutDialog) {
+    const auto build_id = std::string(Common::g_build_id);
+    const auto fmt = std::string(Common::g_title_bar_format_idle);
+    const auto yuzuBuildVersion = fmt::format(fmt.empty() ? "yuzu Development Build" : fmt, std::string{}, std::string{},
+                                              std::string{}, std::string{}, std::string{}, build_id);
+
     ui->setupUi(this);
     ui->labelLogo->setPixmap(QIcon::fromTheme(QStringLiteral("yuzu")).pixmap(200));
     ui->labelBuildInfo->setText(ui->labelBuildInfo->text().arg(
-        QString::fromUtf8(Common::g_build_fullname), QString::fromUtf8(Common::g_scm_branch),
+        QString::fromStdString(yuzuBuildVersion), QString::fromUtf8(Common::g_scm_branch),
         QString::fromUtf8(Common::g_scm_desc), QString::fromUtf8(Common::g_build_date).left(10)));
 }
 
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 940f24dc80..5cefb5d721 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -205,7 +205,13 @@ GMainWindow::GMainWindow()
     ConnectMenuEvents();
     ConnectWidgetEvents();
 
-    LOG_INFO(Frontend, "yuzu Version: {} | {}-{}", Common::g_build_fullname, Common::g_scm_branch,
+    const auto build_id = std::string(Common::g_build_id);
+    const auto fmt = std::string(Common::g_title_bar_format_idle);
+    const auto yuzuBuildVersion =
+        fmt::format(fmt.empty() ? "yuzu Development Build" : fmt, std::string{}, std::string{},
+                    std::string{}, std::string{}, std::string{}, build_id);
+
+    LOG_INFO(Frontend, "yuzu Version: {} | {}-{}", yuzuBuildVersion, Common::g_scm_branch,
              Common::g_scm_desc);
 #ifdef ARCHITECTURE_x86_64
     LOG_INFO(Frontend, "Host CPU: {}", Common::GetCPUCaps().cpu_string);