From 22b5d5211e125f8f59c29caf21f16e6fc5d912ab Mon Sep 17 00:00:00 2001 From: SilverBeamx Date: Tue, 7 Apr 2020 15:54:19 +0200 Subject: [PATCH 1/4] Hack BUILD_FULLNAME into GenerateSCMRev.cmake --- CMakeModules/GenerateSCMRev.cmake | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake index 83e4e9df2..787e30df1 100644 --- a/CMakeModules/GenerateSCMRev.cmake +++ b/CMakeModules/GenerateSCMRev.cmake @@ -48,6 +48,25 @@ 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 From 6b512d78c994550ff653d519af7784023be5ebd2 Mon Sep 17 00:00:00 2001 From: SilverBeamx Date: Tue, 7 Apr 2020 22:41:45 +0200 Subject: [PATCH 2/4] 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 787e30df1..5d4eccb00 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 d39b3f07a..e7985c8a7 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 +#include #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 940f24dc8..5cefb5d72 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); From 5a66ca4697d5337d591a6a57ce1bb76db5f6fc1f Mon Sep 17 00:00:00 2001 From: SilverBeamx Date: Tue, 7 Apr 2020 22:45:30 +0200 Subject: [PATCH 3/4] Removed leftover test code --- CMakeModules/GenerateSCMRev.cmake | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake index 5d4eccb00..83e4e9df2 100644 --- a/CMakeModules/GenerateSCMRev.cmake +++ b/CMakeModules/GenerateSCMRev.cmake @@ -20,8 +20,6 @@ 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}) From 863f7385dc6f7c232877bbabb5ff1068d06a7f96 Mon Sep 17 00:00:00 2001 From: SilverBeamx Date: Tue, 7 Apr 2020 22:59:09 +0200 Subject: [PATCH 4/4] Addressed feedback: switched to snake case and fixed clang-format errors --- src/yuzu/about_dialog.cpp | 7 ++++--- src/yuzu/main.cpp | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/yuzu/about_dialog.cpp b/src/yuzu/about_dialog.cpp index e7985c8a7..695b2ef5f 100644 --- a/src/yuzu/about_dialog.cpp +++ b/src/yuzu/about_dialog.cpp @@ -11,13 +11,14 @@ 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); + const auto yuzu_build_version = + 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::fromStdString(yuzuBuildVersion), QString::fromUtf8(Common::g_scm_branch), + QString::fromStdString(yuzu_build_version), 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 5cefb5d72..1717e06f9 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -207,11 +207,11 @@ GMainWindow::GMainWindow() const auto build_id = std::string(Common::g_build_id); const auto fmt = std::string(Common::g_title_bar_format_idle); - const auto yuzuBuildVersion = + const auto yuzu_build_version = 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, + LOG_INFO(Frontend, "yuzu Version: {} | {}-{}", yuzu_build_version, Common::g_scm_branch, Common::g_scm_desc); #ifdef ARCHITECTURE_x86_64 LOG_INFO(Frontend, "Host CPU: {}", Common::GetCPUCaps().cpu_string);