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

Remove Qt5 Support #27

Merged
merged 2 commits into from
Mar 23, 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
69 changes: 11 additions & 58 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,81 +19,34 @@ jobs:
matrix:
config:
- {
name: "Linux-Qt5-amd64"
, os: ubuntu-18.04
, QT_VERSION: 5.15.2, QT_INST_DIR: /opt, QTDIR: /opt/Qt/5.15.2/gcc_64
, ff7tkPrefix: /opt/ff7tk
, ff7tkPackage: ff7tk-continuous-Qt5-Linux_X86_64.tar.gz
, install_ff7tk: "sudo tar -xf ff7tk-continuous-Qt5-Linux_x86_64.tar.gz --one-top-level=/opt/ff7tk"
, extraCMakeConfig: "-DCMAKE_INSTALL_PREFIX=/usr -DQT_DEFAULT_MAJOR_VERSION=5"
, installBC: "make DESTDIR=appdir install"
, bcVersion: "continuous-Qt5"
}
- {
name: "Linux-Qt6-amd64"
name: "Linux-amd64"
, os: ubuntu-20.04
, 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"
, ff7tkPackage: ff7tk-continuous-Linux_X86_64.tar.gz
, install_ff7tk: "sudo tar -xf ff7tk-continuous-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.4/gcc_64/libexec"
, bcVersion: "continuous-Qt6"

}
- {
name: "MacOS-Qt5-amd64"
, os: macos-10.15
, QT_VERSION: 5.15.2, QT_INST_DIR: /Users/runner, QTDIR: /Users/runner/Qt/5.15.2/clang_64
, ff7tkPrefix: /Users/runner/ff7tk
, installBC: "make install"
, ff7tkPackage: ff7tk-continuous-Qt5-macos_X86_64.zip
, install_ff7tk: "sudo unzip ff7tk-continuous-Qt5-macos_x86_64.zip -d /Users/runner/ff7tk"
, extraCMakeConfig: "-DCMAKE_INSTALL_PREFIX=. -DQT_DEFAULT_MAJOR_VERSION=5"
, bcVersion: "continuous-Qt5"
}
- {
name: "MacOS-Qt6-amd64"
name: "MacOS-amd64"
, os: macos-10.15
, 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
, install_ff7tk: "sudo unzip ff7tk-continuous-Qt6-macos_x86_64.zip -d /Users/runner/ff7tk"
, ff7tkPackage: ff7tk-continuous-macos_X86_64.zip
, install_ff7tk: "sudo unzip ff7tk-continuous-macos_x86_64.zip -d /Users/runner/ff7tk"
, extraCMakeConfig: "-DCMAKE_INSTALL_PREFIX=. -DQT_DEFAULT_MAJOR_VERSION=6"
, bcVersion: "continuous-Qt6"
}
- {
name: "Windows-Qt5-x64", WIN_ARCH: "x64"
, os: windows-2019
, QT_VERSION: 5.15.2, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/5.15.2/msvc2019_64", QT_ARCH: win64_msvc2019_64
, ff7tkPrefix: "C:/ff7tk"
, ff7tkPackage: ff7tk-continuous-Qt5-win64.7z
, install_ff7tk: "7z x ff7tk-continuous-Qt5-win64.7z -oC:/ff7tk"
, extraCMakeConfig: "-G Ninja -DQT_DEFAULT_MAJOR_VERSION=5"
, bcVersion: "continuous-Qt5"
}
- {
name: "Windows-Qt6-x64", WIN_ARCH: "x64"
name: "Windows-x64", WIN_ARCH: "x64"
, os: windows-2019
, 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"
, ff7tkPackage: ff7tk-continuous-win64.7z
, install_ff7tk: "7z x ff7tk-continuous-win64.7z -oC:/ff7tk"
, extraCMakeConfig: "-G Ninja -DQT_DEFAULT_MAJOR_VERSION=6"
, bcVersion: "continuous-Qt6"
}
- {
name: "Windows-Qt5-x86"
, os: windows-2019, WIN_ARCH: "amd64_x86"
, QT_VERSION: 5.15.2, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/5.15.2/msvc2019", QT_ARCH: win32_msvc2019
, ff7tkPrefix: "C:/ff7tk"
, ff7tkPackage: ff7tk-continuous-Qt5-win32.7z
, install_ff7tk: "7z x ff7tk-continuous-Qt5-win32.7z -oC:/ff7tk"
, bcInstallPrefix: Black_Chocobo-continuous
, extraCMakeConfig: "-G Ninja -DQT_DEFAULT_MAJOR_VERSION=5"
, bcVersion: "continuous-Qt5"
}
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -141,7 +94,7 @@ jobs:
- name: Build Black_Chocobo
id: main_build
run: |
cmake -S. -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCPACK_PACKAGE_VERSION=${{ matrix.config.bcVersion }} -Dff7tk_DIR=${{matrix.config.ff7tkPrefix}}/lib/cmake/ff7tk ${{matrix.config.extraCMakeConfig}}
cmake -S. -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCPACK_PACKAGE_VERSION=continuous -Dff7tk_DIR=${{matrix.config.ff7tkPrefix}}/lib/cmake/ff7tk ${{matrix.config.extraCMakeConfig}}
cmake --build . --config ${{env.BUILD_TYPE}} --target package
${{matrix.config.installBC}}

Expand All @@ -151,7 +104,7 @@ jobs:
wget -qc "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
wget -qc "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage"
chmod a+x linuxdeploy*.AppImage
export VERSION=${{ matrix.config.bcVersion }}
export VERSION=continuous
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ matrix.config.ff7tkPrefix }}/lib
mkdir -p ./appdir/usr/share/ff7tk/lang
mkdir -p ./appdir/usr/plugins/iconengines
Expand Down
69 changes: 12 additions & 57 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,85 +18,40 @@ jobs:
matrix:
config:
- {
name: "Linux-Qt5-amd64"
, os: ubuntu-18.04
, QT_VERSION: 5.15.2, QT_INST_DIR: /opt, QTDIR: /opt/Qt/5.15.2/gcc_64
, ff7tkPrefix: /opt/ff7tk
, ff7tkPackage: ff7tk-continuous-Qt5-Linux_X86_64.tar.gz
, install_ff7tk: "sudo tar -xf ff7tk-continuous-Qt5-Linux_x86_64.tar.gz --one-top-level=/opt/ff7tk"
, extraCMakeConfig: "-DCMAKE_INSTALL_PREFIX=/usr -DQT_DEFAULT_MAJOR_VERSION=5"
, installBC: "make DESTDIR=appdir install"
, bcVersion: "$GITHUB_REF_NAME-Qt5"
}
- {
name: "Linux-Qt6-amd64"
name: "Linux-amd64"
, os: ubuntu-20.04
, 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"
, ff7tkPackage: ff7tk-continuous-Linux_X86_64.tar.gz
, install_ff7tk: "sudo tar -xf ff7tk-continuous-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.4/gcc_64/libexec"
, bcVersion: "$GITHUB_REF_NAME-Qt6"
}
- {
name: "MacOS-Qt5-amd64"
, os: macos-10.15
, QT_VERSION: 5.15.2, QT_INST_DIR: /Users/runner, QTDIR: /Users/runner/Qt/5.15.2/clang_64
, ff7tkPrefix: /Users/runner/ff7tk
, installBC: "make install"
, ff7tkPackage: ff7tk-continuous-Qt5-macos_X86_64.zip
, install_ff7tk: "sudo unzip ff7tk-continuous-Qt5-macos_x86_64.zip -d /Users/runner/ff7tk"
, extraCMakeConfig: "-DCMAKE_INSTALL_PREFIX=. -DQT_DEFAULT_MAJOR_VERSION=5"
, bcVersion: "$GITHUB_REF_NAME-Qt5"
}
- {
name: "MacOS-Qt6-amd64"
name: "MacOS-amd64"
, os: macos-10.15
, 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
, install_ff7tk: "sudo unzip ff7tk-continuous-Qt6-macos_x86_64.zip -d /Users/runner/ff7tk"
, ff7tkPackage: ff7tk-continuous-macos_X86_64.zip
, install_ff7tk: "sudo unzip ff7tk-continuous-macos_x86_64.zip -d /Users/runner/ff7tk"
, extraCMakeConfig: "-DCMAKE_INSTALL_PREFIX=. -DQT_DEFAULT_MAJOR_VERSION=6"
, bcVersion: "$GITHUB_REF_NAME-Qt6"
}
- {
name: "Windows-Qt5-x64", WIN_ARCH: "x64"
, os: windows-2019
, QT_VERSION: 5.15.2, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/5.15.2/msvc2019_64", QT_ARCH: win64_msvc2019_64
, ff7tkPrefix: "C:/ff7tk"
, ff7tkPackage: ff7tk-continuous-Qt5-win64.7z
, install_ff7tk: "7z x ff7tk-continuous-Qt5-win64.7z -oC:/ff7tk"
, extraCMakeConfig: "-G Ninja -DQT_DEFAULT_MAJOR_VERSION=5"
, bcVersion: "$GITHUB_REF_NAME-Qt5"
}
- {
name: "Windows-Qt6-x64", WIN_ARCH: "x64"
name: "Windows-x64", WIN_ARCH: "x64"
, os: windows-2019
, 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"
, ff7tkPackage: ff7tk-continuous-win64.7z
, install_ff7tk: "7z x ff7tk-continuous-win64.7z -oC:/ff7tk"
, extraCMakeConfig: "-G Ninja -DQT_DEFAULT_MAJOR_VERSION=6"
, bcVersion: "$GITHUB_REF_NAME-Qt6"
}
- {
name: "Windows-Qt5-x86"
, os: windows-2019, WIN_ARCH: "amd64_x86"
, QT_VERSION: 5.15.2, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/5.15.2/msvc2019", QT_ARCH: win32_msvc2019
, ff7tkPrefix: "C:/ff7tk"
, ff7tkPackage: ff7tk-continuous-Qt5-win32.7z
, install_ff7tk: "7z x ff7tk-continuous-Qt5-win32.7z -oC:/ff7tk"
, bcInstallPrefix: Black_Chocobo-continuous
, extraCMakeConfig: "-G Ninja -DQT_DEFAULT_MAJOR_VERSION=5"
, bcVersion: "$GITHUB_REF_NAME-Qt5"
}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- run: git fetch --tags --force

- name: Cache Qt
id: cache-qt
Expand Down Expand Up @@ -140,7 +95,7 @@ jobs:
id: main_build
shell: bash
run: |
cmake -S. -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCPACK_PACKAGE_VERSION=${{matrix.config.bcVersion}} -Dff7tk_DIR=${{matrix.config.ff7tkPrefix}}/lib/cmake/ff7tk ${{matrix.config.extraCMakeConfig}}
cmake -S. -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCPACK_PACKAGE_VERSION=${{github.ref}} -Dff7tk_DIR=${{matrix.config.ff7tkPrefix}}/lib/cmake/ff7tk ${{matrix.config.extraCMakeConfig}}
cmake --build . --config ${{env.BUILD_TYPE}} --target package
${{matrix.config.installBC}}

Expand All @@ -150,7 +105,7 @@ jobs:
wget -qc "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
wget -qc "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage"
chmod a+x linuxdeploy*.AppImage
export VERSION=${{matrix.config.bcVersion}}
export VERSION=${{github.ref}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ matrix.config.ff7tkPrefix }}/lib
mkdir -p ./appdir/usr/share/ff7tk/lang
mkdir -p ./appdir/usr/plugins/iconengines
Expand Down
43 changes: 10 additions & 33 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,34 +47,24 @@ endif()
MESSAGE(STATUS "PROJECT VERSION ${BC_VERSION}")
add_definitions(-DBC_VERSION="${BC_VERSION}")

if(NOT QT_DEFAULT_MAJOR_VERSION)
set(QT_DEFAULT_MAJOR_VERSION 5 CACHE STRING "" FORCE)
endif()

if (${QT_DEFAULT_MAJOR_VERSION} MATCHES "5")
set(REQUIRED_QT_VERSION 5.15.2)
elseif (${QT_DEFAULT_MAJOR_VERSION} MATCHES "6")
set(REQUIRED_QT_VERSION 6.2.0)
endif()
set(QT_DEFAULT_MAJOR_VERSION 6 CACHE STRING "" FORCE)
set(REQUIRED_QT_VERSION 6.2.0)

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


find_package(Qt${QT_DEFAULT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS
find_package(Qt6 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS
Core5Compat
Gui
Svg
Quick
Widgets
Xml
)

if(${QT_DEFAULT_MAJOR_VERSION} MATCHES "6")
find_package(Qt6 COMPONENTS Core5Compat REQUIRED)
endif()

find_package(ff7tk 0.81.00 REQUIRED NO_MODULE COMPONENTS
find_package(ff7tk 0.82 REQUIRED NO_MODULE COMPONENTS
ff7tk
ff7tkWidgets
)
Expand Down Expand Up @@ -122,6 +112,7 @@ add_executable(${BIN_NAME} WIN32 MACOSX_BUNDLE
)

target_link_libraries (${BIN_NAME} PUBLIC
Qt::Core5Compat
Qt::Core
Qt::Gui
Qt::Widgets
Expand All @@ -133,10 +124,6 @@ target_link_libraries (${BIN_NAME} PUBLIC
ff7tk::ff7tkWidgets
)

if(${QT_DEFAULT_MAJOR_VERSION} EQUAL "6")
target_link_libraries(${BIN_NAME} PUBLIC Qt6::Core5Compat)
endif()

if(APPLE)
set_target_properties(${BIN_NAME} PROPERTIES
INSTALL_NAME_DIR "@executable_path/../Frameworks @loader_path/../Frameworks"
Expand All @@ -155,11 +142,11 @@ if(APPLE)
install(TARGETS ${BIN_NAME} BUNDLE DESTINATION .)
elseif(UNIX AND NOT APPLE)
install(TARGETS ${BIN_NAME} RUNTIME DESTINATION bin)
install(FILES ${PROJECT_SOURCE_DIR}/COPYING.txt DESTINATION share/licenses/blackchocobo/ RENAME LICENSE)
install(FILES ${CMAKE_SOURCE_DIR}/COPYING.txt DESTINATION share/licenses/blackchocobo/ RENAME LICENSE)
elseif(WIN32)
install(TARGETS ${BIN_NAME} RUNTIME DESTINATION .)
install(FILES ${FF7TK_DEPENDS} DESTINATION .)
install(FILES ${PROJECT_SOURCE_DIR}/COPYING.txt DESTINATION .)
install(FILES ${CMAKE_SOURCE_DIR}/COPYING.txt DESTINATION .)
endif()

##CPACK
Expand Down Expand Up @@ -197,21 +184,11 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
include(InstallRequiredSystemLibraries)
find_program(WINDEPLOYQT windeployqt HINTS "${_qt_bin_dir}")

if(${QT_DEFAULT_MAJOR_VERSION} EQUAL "6")
add_custom_command(
add_custom_command(
TARGET ${BIN_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/qtDeploy
COMMAND ${WINDEPLOYQT} --no-compiler-runtime --no-system-d3d-compiler --no-quick-import -xml -qml -network --dir ${CMAKE_BINARY_DIR}/qtDeploy $<TARGET_FILE:${BIN_NAME}>
)
else()
add_custom_command(
TARGET ${BIN_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/qtDeploy
COMMAND ${WINDEPLOYQT} --no-compiler-runtime --no-system-d3d-compiler --no-angle --no-webkit2 --no-quick-import -xml -qml -network --dir ${CMAKE_BINARY_DIR}/qtDeploy $<TARGET_FILE:${BIN_NAME}>
)
endif()

)
install(
DIRECTORY ${CMAKE_BINARY_DIR}/qtDeploy/
DESTINATION .
Expand Down
1 change: 0 additions & 1 deletion src/bcsettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@ void BCSettings::restoreDefaultSettings()
settings->setValue(SETTINGS::WORLDMAPADVANCED, false);
settings->setValue(SETTINGS::REGION, QStringLiteral("NTSC-U"));
settings->setValue(SETTINGS::CUSTOMDEFAULTSAVE, false);
settings->setValue(SETTINGS::SCALE, 1.00);
settings->setValue(SETTINGS::AUTOGROWTH, true);
settings->setValue(SETTINGS::USENATIVEDIALOGS, false);
settings->setValue(SETTINGS::COLORSCHEME, 0);
Expand Down
2 changes: 0 additions & 2 deletions src/bcsettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ namespace SETTINGS {
inline const static QString REGION = QStringLiteral("region");
inline const static QString EMUSAVEPATH = QStringLiteral("save_emu_path");
inline const static QString PCSAVEPATH = QStringLiteral("save_pc_path");
inline const static QString SCALE = QStringLiteral("scale");
inline const static QString ENABLETEST = QStringLiteral("show_test");
inline const static QString WORLDMAPADVANCED = QStringLiteral("worldMapAdvanced");
inline const static QString USENATIVEDIALOGS = QStringLiteral("useNativeDialogs");
Expand Down Expand Up @@ -82,7 +81,6 @@ class BCSettings : public QObject
SETTINGS::REGION,
SETTINGS::EMUSAVEPATH,
SETTINGS::PCSAVEPATH,
SETTINGS::SCALE,
SETTINGS::ENABLETEST,
SETTINGS::WORLDMAPADVANCED,
SETTINGS::USENATIVEDIALOGS,
Expand Down
5 changes: 3 additions & 2 deletions src/errbox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ errbox::errbox(QWidget *parent, FF7Save *ff7data, int slot)
lblRegionString->setAlignment(Qt::AlignTop);
lblIcon->setMinimumSize(64, 64);
lblIcon->setMaximumSize(128, 128);
lblIcon->setPixmap(save_icon->icon().scaled(lblIcon->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation));
lblIcon->setScaledContents(true);
lblIcon->setPixmap(save_icon->icon());

btnPrev->setShortcut(QKeySequence::Back);
btnPrev->setIconSize(iconSize);
Expand Down Expand Up @@ -163,5 +164,5 @@ bool errbox::isSingleSlot()

void errbox::setIcon(QPixmap pix)
{
lblIcon->setPixmap(pix.scaled(lblIcon->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation));
lblIcon->setPixmap(pix);
}
Loading