Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate Version Based on Git Tag #26

Merged
merged 4 commits into from
Mar 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ jobs:
- {
name: "Linux-Qt6-amd64"
, os: ubuntu-20.04
, QT_VERSION: 6.2.3, QT_INST_DIR: /opt, QTDIR: /opt/Qt/6.2.3/gcc_64, QT_MODULES: qt5compat
, QT_VERSION: 6.2.4, QT_INST_DIR: /opt, QTDIR: /opt/Qt/6.2.4/gcc_64, QT_MODULES: qt5compat
, ff7tkPrefix: /opt/ff7tk
, ff7tkPackage: ff7tk-continuous-Qt6-Linux_X86_64.tar.gz
, install_ff7tk: "sudo tar -xf ff7tk-continuous-Qt6-Linux_x86_64.tar.gz --one-top-level=/opt/ff7tk"
, extraCMakeConfig: "-DCMAKE_INSTALL_PREFIX=/usr -DQT_DEFAULT_MAJOR_VERSION=6"
, installBC: "make DESTDIR=appdir install"
, linuxDeployQtPath: "export PATH=$PATH:/opt/Qt/6.2.3/gcc_64/libexec"
, linuxDeployQtPath: "export PATH=$PATH:/opt/Qt/6.2.4/gcc_64/libexec"
, bcVersion: "continuous-Qt6"

}
Expand All @@ -56,7 +56,7 @@ jobs:
- {
name: "MacOS-Qt6-amd64"
, os: macos-10.15
, QT_VERSION: 6.2.3, QT_INST_DIR: /Users/runner, QTDIR: /Users/runner/Qt/6.2.3/clang_64, QT_MODULES: qt5compat
, QT_VERSION: 6.2.4, QT_INST_DIR: /Users/runner, QTDIR: /Users/runner/Qt/6.2.4/clang_64, QT_MODULES: qt5compat
, ff7tkPrefix: /Users/runner/ff7tk
, installBC: "make install"
, ff7tkPackage: ff7tk-continuous-Qt6-macos_X86_64.zip
Expand All @@ -77,7 +77,7 @@ jobs:
- {
name: "Windows-Qt6-x64", WIN_ARCH: "x64"
, os: windows-2019
, QT_VERSION: 6.2.3, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/6.2.3/msvc2019_64", QT_ARCH: win64_msvc2019_64, QT_MODULES: qt5compat
, QT_VERSION: 6.2.4, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/6.2.4/msvc2019_64", QT_ARCH: win64_msvc2019_64, QT_MODULES: qt5compat
, ff7tkPrefix: "C:/ff7tk"
, ff7tkPackage: ff7tk-continuous-Qt6-win64.7z
, install_ff7tk: "7z x ff7tk-continuous-Qt6-win64.7z -oC:/ff7tk"
Expand All @@ -96,7 +96,9 @@ jobs:
, bcVersion: "continuous-Qt5"
}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Cache Qt
id: cache-qt
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Release Builder
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v*'


env:
Expand Down Expand Up @@ -31,13 +31,13 @@ jobs:
- {
name: "Linux-Qt6-amd64"
, os: ubuntu-20.04
, QT_VERSION: 6.2.3, QT_INST_DIR: /opt, QTDIR: /opt/Qt/6.2.3/gcc_64, QT_MODULES: qt5compat
, QT_VERSION: 6.2.4, QT_INST_DIR: /opt, QTDIR: /opt/Qt/6.2.4/gcc_64, QT_MODULES: qt5compat
, ff7tkPrefix: /opt/ff7tk
, ff7tkPackage: ff7tk-continuous-Qt6-Linux_X86_64.tar.gz
, install_ff7tk: "sudo tar -xf ff7tk-continuous-Qt6-Linux_x86_64.tar.gz --one-top-level=/opt/ff7tk"
, extraCMakeConfig: "-DCMAKE_INSTALL_PREFIX=/usr -DQT_DEFAULT_MAJOR_VERSION=6"
, installBC: "make DESTDIR=appdir install"
, linuxDeployQtPath: "export PATH=$PATH:/opt/Qt/6.2.3/gcc_64/libexec"
, linuxDeployQtPath: "export PATH=$PATH:/opt/Qt/6.2.4/gcc_64/libexec"
, bcVersion: "$GITHUB_REF_NAME-Qt6"
}
- {
Expand All @@ -54,7 +54,7 @@ jobs:
- {
name: "MacOS-Qt6-amd64"
, os: macos-10.15
, QT_VERSION: 6.2.3, QT_INST_DIR: /Users/runner, QTDIR: /Users/runner/Qt/6.2.3/clang_64, QT_MODULES: qt5compat
, QT_VERSION: 6.2.4, QT_INST_DIR: /Users/runner, QTDIR: /Users/runner/Qt/6.2.4/clang_64, QT_MODULES: qt5compat
, ff7tkPrefix: /Users/runner/ff7tk
, installBC: "make install"
, ff7tkPackage: ff7tk-continuous-Qt6-macos_X86_64.zip
Expand All @@ -75,7 +75,7 @@ jobs:
- {
name: "Windows-Qt6-x64", WIN_ARCH: "x64"
, os: windows-2019
, QT_VERSION: 6.2.3, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/6.2.3/msvc2019_64", QT_ARCH: win64_msvc2019_64, QT_MODULES: qt5compat
, QT_VERSION: 6.2.4, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/6.2.4/msvc2019_64", QT_ARCH: win64_msvc2019_64, QT_MODULES: qt5compat
, ff7tkPrefix: "C:/ff7tk"
, ff7tkPackage: ff7tk-continuous-Qt6-win64.7z
, install_ff7tk: "7z x ff7tk-continuous-Qt6-win64.7z -oC:/ff7tk"
Expand All @@ -94,7 +94,9 @@ jobs:
, bcVersion: "$GITHUB_REF_NAME-Qt5"
}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Cache Qt
id: cache-qt
Expand Down
39 changes: 28 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,36 +1,50 @@
cmake_minimum_required( VERSION 3.21 )

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING "" FORCE)
endif()

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(REQUIRED_QT_VERSION "5.15.0")

cmake_policy(SET CMP0010 NEW)

project( blackchocobo VERSION 1.11.0 DESCRIPTION "Final Fantasy 7 Save Editor")
# Get the version from git if it's a git repository
set(BC_VERSION ${CMAKE_PROJECT_VERSION})
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
FIND_PACKAGE(Git)
IF(GIT_FOUND)
EXECUTE_PROCESS(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
COMMAND ${GIT_EXECUTABLE} describe --long --match v*
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE "GIT_VERSION"
OUTPUT_VARIABLE GITREV
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
MESSAGE( STATUS "Git Commit: ${GIT_VERSION}" )
string(APPEND BC_VERSION "-${GIT_VERSION}")
string(REGEX MATCH [0-9]+ MAJOR ${GITREV})
string(REGEX MATCH \\.[0-9]+ MINOR ${GITREV})
string(REPLACE "." "" MINOR ${MINOR})
string(REGEX MATCH [0-9]+\- PATCH ${GITREV})
string(REPLACE "-" "" PATCH ${PATCH})
string(REGEX MATCH \-[0-9]+\- TWEAK ${GITREV})
string(REPLACE "-" "" TWEAK ${TWEAK})
set(CMAKE_PROJECT_VERSION_MAJOR ${MAJOR})
set(CMAKE_PROJECT_VERSION_MINOR ${MINOR})
set(CMAKE_PROJECT_VERSION_PATCH ${PATCH})
set(CMAKE_PROJECT_VERSION_TWEAK ${TWEAK})
set(CMAKE_PROJECT_VERSION "${MAJOR}.${MINOR}.${PATCH}.${TWEAK}")
ENDIF(GIT_FOUND)
ELSE()
ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)

#Clean up version Number
set(BC_VERSION "${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}")
if(NOT CMAKE_PROJECT_VERSION_PATCH EQUAL 0)
string(APPEND BC_VERSION ".${CMAKE_PROJECT_VERSION_PATCH}")
endif()
if(NOT CMAKE_PROJECT_VERSION_TWEAK EQUAL 0)
string(APPEND BC_VERSION "-${CMAKE_PROJECT_VERSION_TWEAK}")
endif()
MESSAGE(STATUS "PROJECT VERSION ${BC_VERSION}")
add_definitions(-DBC_VERSION="${BC_VERSION}")

if(NOT QT_DEFAULT_MAJOR_VERSION)
Expand Down Expand Up @@ -95,8 +109,11 @@ endif()
add_executable(${BIN_NAME} WIN32 MACOSX_BUNDLE
src/main.cpp
src/mainwindow.cpp
src/mainwindow.ui
src/about.cpp
src/about.ui
src/options.cpp
src/options.ui
src/errbox.cpp
src/achievementdialog.cpp
src/bcdialog.cpp
Expand Down Expand Up @@ -129,7 +146,7 @@ if(APPLE)
MACOSX_BUNDLE_GUI_IDENTIFIER "org.sithlord48.blackchocobo"
MACOSX_BUNDLE_ICON_FILE blackchocobo.icns
MACOSX_BUNDLE_INFO_STRING "${CMAKE_PROJECT_DESCRIPTION}"
MACOSX_BUNDLE_COPYRIGHT "2010-2020 Chris Rizzitello"
MACOSX_BUNDLE_COPYRIGHT "2010-2022 Chris Rizzitello"
MACOSX_BUNDLE_BUNDLE_VERSION ${BC_VERSION}
MACOSX_BUNDLE_LONG_VERSION_STRING ${BC_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${BC_VERSION}
Expand Down
2 changes: 1 addition & 1 deletion deploy/blackchocobo.rc.in
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ BEGIN
VALUE "FileDescription", "@PROJECT_DESCRIPTION@"
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "InternalName", "blackchocobo"
VALUE "LegalCopyright", "(C) 2010-2021 Chris Rizzitello"
VALUE "LegalCopyright", "(C) 2010-2022 Chris Rizzitello"
VALUE "OriginalFilename", "blackchocobo.exe"
VALUE "ProductName", "Black Chocobo"
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
Expand Down
2 changes: 1 addition & 1 deletion src/about.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ About::About(QWidget *parent) :
ui->lbl_icon->setPixmap(QPixmap(":/icons/common/blackchocobo"));
ui->lbl_name->setText(QCoreApplication::applicationName());
ui->lbl_bc_version->setText(QString(tr("Version: %1")).arg(QCoreApplication::applicationVersion()));
ui->lbl_ff7tk_version->setText(QString(tr("ff7tk: %1")).arg(ff7tk_version().append(ff7tk_revision())));
ui->lbl_ff7tk_version->setText(QString(tr("ff7tk: %1")).arg(ff7tk_version()));
ui->lbl_qt_version->setText(QString(tr("Qt: %1")).arg(qVersion()));
move(parent->x() + ((parent->width() - width()) / 2), parent->y() + ((parent->sizeHint().height() - height()) / 2));
}
Expand Down