From 587e1adf94cc7a6f76fc117b22abb80677a98385 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Thu, 25 Jul 2024 21:24:54 -0400 Subject: [PATCH 1/4] Switch to libcotp upstream again The MSVC support was merged, so there's no longer a need to use my personal fork. --- .gitmodules | 2 +- external/libcotp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index d9ed198..05dc619 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "external/libcotp"] path = external/libcotp - url = https://github.com/redstrate/libcotp.git + url = https://github.com/paolostivanin/libcotp.git [submodule "external/libphysis"] path = external/libphysis url = ../libphysis diff --git a/external/libcotp b/external/libcotp index 9136e0a..33022dc 160000 --- a/external/libcotp +++ b/external/libcotp @@ -1 +1 @@ -Subproject commit 9136e0a94f1b4d9afe2d8aa79bfdaf1d1699f265 +Subproject commit 33022dc958a83067e4e7f3425d6439c3eb62bea5 From 0a204f5b7a189940ea1a6ae983b7ebb64c977d73 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 28 Jul 2024 10:59:55 -0400 Subject: [PATCH 2/4] Require KF 6.4 and only pull KF 6.4 on CI --- .github/workflows/main.yml | 21 ++++++++++++--------- CMakeLists.txt | 2 +- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0bb6837..44ebd59 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,6 +9,9 @@ on: env: CMAKE_BUILD_PARALLEL_LEVEL: 2 MAKEFLAGS: '-j 2' + QT_VERSION: 6.6 # Keep in sync with CMakeLists.txt + KF_VERSION: v6.4.0 # Ditto + KIRIGAMI_ADDONS_VERSION: v1.2.1 # Ditto x2 jobs: reuse: @@ -49,7 +52,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v3 with: - version: "6.6.*" + version: "${{ env.QT_VERSION }}.*" cache: true modules: 'qtshadertools' @@ -113,7 +116,7 @@ jobs: - name: Build Extra CMake Modules if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - git clone https://invent.kde.org/frameworks/extra-cmake-modules.git + git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/extra-cmake-modules.git cmake -B ${{ steps.strings.outputs.build-output-dir }}-ECM -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -S extra-cmake-modules -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-ECM --config ${{ matrix.build_type }} --target install cmake --install ${{ steps.strings.outputs.build-output-dir }}-ECM --config ${{ matrix.build_type }} @@ -121,7 +124,7 @@ jobs: - name: Configure KI18n if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - git clone https://invent.kde.org/frameworks/ki18n.git + git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/ki18n.git cmake -B ${{ steps.strings.outputs.build-output-dir }}-ki18n -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -S ki18n -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DBUILD_TESTING=OFF - name: Windows KI18n workaround @@ -137,35 +140,35 @@ jobs: - name: Build KCoreAddons if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - git clone https://invent.kde.org/frameworks/kcoreaddons.git + git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kcoreaddons.git cmake -B ${{ steps.strings.outputs.build-output-dir }}-kca -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -S kcoreaddons -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kca --config ${{ matrix.build_type }} --target install - name: Build KConfig if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - git clone https://invent.kde.org/frameworks/kconfig.git + git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kconfig.git cmake -B ${{ steps.strings.outputs.build-output-dir }}-kconfig -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -S kconfig -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kconfig --config ${{ matrix.build_type }} --target install - name: Build KArchive if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - git clone https://invent.kde.org/frameworks/karchive.git + git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/karchive.git cmake -B ${{ steps.strings.outputs.build-output-dir }}-karchive -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -S karchive -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DBUILD_TESTING=OFF -DWITH_BZIP2=OFF -DWITH_LIBLZMA=OFF -DWITH_LIBZSTD=OFF # TODO: enable bzip which we need later cmake --build ${{ steps.strings.outputs.build-output-dir }}-karchive --config ${{ matrix.build_type }} --target install - name: Build Kirigami if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - git clone https://invent.kde.org/frameworks/kirigami.git + git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kirigami.git cmake -B ${{ steps.strings.outputs.build-output-dir }}-kirigami -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -S kirigami -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kirigami --config ${{ matrix.build_type }} --target install - name: Build Kirigami Add-ons if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - git clone https://invent.kde.org/libraries/kirigami-addons.git + git clone --depth 1 --branch ${{ env.KIRIGAMI_ADDONS_VERSION }} https://invent.kde.org/libraries/kirigami-addons.git cmake -B ${{ steps.strings.outputs.build-output-dir }}-kirigami-addons -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -S kirigami-addons -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kirigami-addons --config ${{ matrix.build_type }} --target install @@ -173,7 +176,7 @@ jobs: if: (runner.os == 'Windows') && (steps.cache-prefix-restore.outputs.cache-hit != 'true') continue-on-error: true run: | - git clone https://invent.kde.org/frameworks/breeze-icons.git + git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/breeze-icons.git cmake -B ${{ steps.strings.outputs.build-output-dir }}-breeze-icons -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -S breeze-icons -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DICONS_LIBRARY=ON -DSKIP_INSTALL_ICONS=ON cmake --build ${{ steps.strings.outputs.build-output-dir }}-breeze-icons --config ${{ matrix.build_type }} --target install cmake --build ${{ steps.strings.outputs.build-output-dir }}-breeze-icons --config ${{ matrix.build_type }} --target install diff --git a/CMakeLists.txt b/CMakeLists.txt index fb6ab5e..72ad1b3 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(QT_MIN_VERSION 6.6) -set(KF_MIN_VERSION 6.3) +set(KF_MIN_VERSION 6.4) find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) From c029759e8d9257678109ef31ea2a19f44d507c6c Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 28 Jul 2024 21:59:01 -0400 Subject: [PATCH 3/4] Add explicit QGuiApplication include --- launcher/src/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp index cb56495..05937d7 100755 --- a/launcher/src/main.cpp +++ b/launcher/src/main.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include From 067dc6113212781ca3dfd4b842ff49d536c555ca Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 28 Jul 2024 22:07:19 -0400 Subject: [PATCH 4/4] Add explicit QIcon include --- launcher/src/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp index 05937d7..47edcaf 100755 --- a/launcher/src/main.cpp +++ b/launcher/src/main.cpp @@ -20,6 +20,7 @@ #ifdef Q_OS_WIN #include +#include #endif using namespace Qt::StringLiterals;