common: Parse Nightly/Canary build version

This commit is contained in:
zhupengfei 2018-05-27 10:05:21 +08:00
parent a50cd37aa6
commit ddc97b15f4
6 changed files with 34 additions and 14 deletions

View file

@ -100,8 +100,8 @@ EmuWindow_SDL2::EmuWindow_SDL2(bool fullscreen) {
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 0); SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 0);
std::string window_title = Common::StringFromFormat("Citra %s| %s-%s ", Common::g_build_name, std::string window_title = Common::StringFromFormat(
Common::g_scm_branch, Common::g_scm_desc); "Citra %s| %s-%s ", Common::g_build_fullname, Common::g_scm_branch, Common::g_scm_desc);
render_window = render_window =
SDL_CreateWindow(window_title.c_str(), SDL_CreateWindow(window_title.c_str(),
SDL_WINDOWPOS_UNDEFINED, // x position SDL_WINDOWPOS_UNDEFINED, // x position
@ -134,8 +134,8 @@ EmuWindow_SDL2::EmuWindow_SDL2(bool fullscreen) {
OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size); OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size);
SDL_PumpEvents(); SDL_PumpEvents();
SDL_GL_SetSwapInterval(Settings::values.use_vsync); SDL_GL_SetSwapInterval(Settings::values.use_vsync);
NGLOG_INFO(Frontend, "Citra Version: {} | {}-{}", Common::g_build_name, Common::g_scm_branch, NGLOG_INFO(Frontend, "Citra Version: {} | {}-{}", Common::g_build_fullname,
Common::g_scm_desc); Common::g_scm_branch, Common::g_scm_desc);
DoneCurrent(); DoneCurrent();
} }

View file

@ -13,7 +13,7 @@ AboutDialog::AboutDialog(QWidget* parent)
ui->setupUi(this); ui->setupUi(this);
ui->labelLogo->setPixmap(QIcon::fromTheme("citra").pixmap(200)); ui->labelLogo->setPixmap(QIcon::fromTheme("citra").pixmap(200));
ui->labelBuildInfo->setText( ui->labelBuildInfo->setText(
ui->labelBuildInfo->text().arg(Common::g_build_name, Common::g_scm_branch, ui->labelBuildInfo->text().arg(Common::g_build_fullname, Common::g_scm_branch,
Common::g_scm_desc, QString(Common::g_build_date).left(10))); Common::g_scm_desc, QString(Common::g_build_date).left(10)));
} }

View file

@ -137,8 +137,8 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) {
ConnectWidgetEvents(); ConnectWidgetEvents();
SetupUIStrings(); SetupUIStrings();
NGLOG_INFO(Frontend, "Citra Version: {} | {}-{}", Common::g_build_name, Common::g_scm_branch, NGLOG_INFO(Frontend, "Citra Version: {} | {}-{}", Common::g_build_fullname,
Common::g_scm_desc); Common::g_scm_branch, Common::g_scm_desc);
show(); show();
@ -1407,8 +1407,8 @@ void GMainWindow::OnLanguageChanged(const QString& locale) {
} }
void GMainWindow::SetupUIStrings() { void GMainWindow::SetupUIStrings() {
setWindowTitle( setWindowTitle(tr("Citra %1| %2-%3")
tr("Citra %1| %2-%3").arg(Common::g_build_name, Common::g_scm_branch, Common::g_scm_desc)); .arg(Common::g_build_fullname, Common::g_scm_branch, Common::g_scm_desc));
} }
void GMainWindow::SyncMenuUISettings() { void GMainWindow::SyncMenuUISettings() {

View file

@ -1,13 +1,16 @@
# Generate cpp with Git revision from template # Generate cpp with Git revision from template
# Also if this is a CI build, add the build name (ie: Nightly, Bleeding Edge) to the scm_rev file as well # 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(REPO_NAME "")
set(BUILD_VERSION "0")
if ($ENV{CI}) if ($ENV{CI})
if ($ENV{TRAVIS}) if ($ENV{TRAVIS})
set(BUILD_REPOSITORY $ENV{TRAVIS_REPO_SLUG}) set(BUILD_REPOSITORY $ENV{TRAVIS_REPO_SLUG})
set(BUILD_TAG $ENV{TRAVIS_TAG})
elseif($ENV{APPVEYOR}) elseif($ENV{APPVEYOR})
set(BUILD_REPOSITORY $ENV{APPVEYOR_REPO_NAME}) set(BUILD_REPOSITORY $ENV{APPVEYOR_REPO_NAME})
set(BUILD_TAG $ENV{APPVEYOR_REPO_TAG_NAME})
endif() endif()
# regex capture the string nightly or bleeding-edge into CMAKE_MATCH_1 # regex capture the string nightly or canary into CMAKE_MATCH_1
string(REGEX MATCH "citra-emu/citra-?(.*)" OUTVAR ${BUILD_REPOSITORY}) string(REGEX MATCH "citra-emu/citra-?(.*)" OUTVAR ${BUILD_REPOSITORY})
if (${CMAKE_MATCH_COUNT} GREATER 0) if (${CMAKE_MATCH_COUNT} GREATER 0)
# capitalize the first letter of each word in the repo name. # capitalize the first letter of each word in the repo name.
@ -16,10 +19,21 @@ if ($ENV{CI})
string(SUBSTRING ${WORD} 0 1 FIRST_LETTER) string(SUBSTRING ${WORD} 0 1 FIRST_LETTER)
string(SUBSTRING ${WORD} 1 -1 REMAINDER) string(SUBSTRING ${WORD} 1 -1 REMAINDER)
string(TOUPPER ${FIRST_LETTER} FIRST_LETTER) string(TOUPPER ${FIRST_LETTER} FIRST_LETTER)
# this leaves a trailing space on the last word, but we actually want that
# because of how it's styled in the title bar.
set(REPO_NAME "${REPO_NAME}${FIRST_LETTER}${REMAINDER}") set(REPO_NAME "${REPO_NAME}${FIRST_LETTER}${REMAINDER}")
endforeach() endforeach()
if (BUILD_TAG)
string(REGEX MATCH "${CMAKE_MATCH_1}-([0-9]+)" OUTVAR ${BUILD_TAG})
if (${CMAKE_MATCH_COUNT} GREATER 0)
set(BUILD_VERSION ${CMAKE_MATCH_1})
endif()
if (BUILD_VERSION)
# This leaves a trailing space on the last word, but we actually want that
# because of how it's styled in the title bar.
set(BUILD_FULLNAME "${REPO_NAME} #${BUILD_VERSION} ")
else()
set(BUILD_FULLNAME "")
endif()
endif()
endif() endif()
endif() endif()
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp" @ONLY) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp" @ONLY)

View file

@ -9,6 +9,8 @@
#define GIT_DESC "@GIT_DESC@" #define GIT_DESC "@GIT_DESC@"
#define BUILD_NAME "@REPO_NAME@" #define BUILD_NAME "@REPO_NAME@"
#define BUILD_DATE "@BUILD_DATE@" #define BUILD_DATE "@BUILD_DATE@"
#define BUILD_VERSION "@BUILD_VERSION@"
#define BUILD_FULLNAME "@BUILD_FULLNAME@"
namespace Common { namespace Common {
@ -17,6 +19,8 @@ const char g_scm_branch[] = GIT_BRANCH;
const char g_scm_desc[] = GIT_DESC; const char g_scm_desc[] = GIT_DESC;
const char g_build_name[] = BUILD_NAME; const char g_build_name[] = BUILD_NAME;
const char g_build_date[] = BUILD_DATE; const char g_build_date[] = BUILD_DATE;
const char g_build_fullname[] = BUILD_FULLNAME;
const char g_build_version[] = BUILD_VERSION;
} // namespace } // namespace

View file

@ -11,5 +11,7 @@ extern const char g_scm_branch[];
extern const char g_scm_desc[]; extern const char g_scm_desc[];
extern const char g_build_name[]; extern const char g_build_name[];
extern const char g_build_date[]; extern const char g_build_date[];
extern const char g_build_fullname[];
extern const char g_build_version[];
} // namespace Common } // namespace Common