diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 48f01b4b..1ee490cb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,9 +5,8 @@ on: pull_request: env: - QT_VERSION: 6.10.1 # Keep in sync with CMakeLists.txt - KF_VERSION: v6.21.0 # Ditto - PLASMA_WAYLAND_VERSION: v1.19.0 + QT_VERSION: 6.10.3 # Keep in sync with CMakeLists.txt + KF_VERSION: v6.26.0 # Ditto COMMON_CMAKE_OPTIONS: "-DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF" jobs: @@ -25,30 +24,11 @@ jobs: build: name: "Build" - runs-on: ${{ matrix.os }} - + runs-on: windows-latest + # Skip running on PR events that come from the same repository, it will just duplicate the branch action if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - strategy: - fail-fast: false - matrix: - os: [windows-latest, ubuntu-latest] - build_type: [Release] - c_compiler: [gcc, cl] - include: - - os: windows-latest - c_compiler: cl - cpp_compiler: cl - - os: ubuntu-latest - c_compiler: gcc - cpp_compiler: g++ - exclude: - - os: windows-latest - c_compiler: gcc - - os: ubuntu-latest - c_compiler: cl - steps: - uses: actions/checkout@v6 with: @@ -74,30 +54,15 @@ jobs: echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" echo "prefix-dir=${{ github.workspace }}/prefix" >> "$GITHUB_OUTPUT" - - name: Setup Linux dependencies - if: runner.os == 'Linux' - run: | - sudo apt-get update - sudo apt-get install \ - gettext \ - gperf \ - libwayland-dev \ - libhunspell-dev \ - libc6-dev-i386 \ - gcc-multilib \ - g++-multilib - - pip install lxml - - name: Cache Prefix id: cache-prefix-restore uses: actions/cache/restore@v5 with: path: ${{ steps.strings.outputs.prefix-dir }} - key: ${{ runner.os }}-prefix + key: ${{ runner.os }}-${{ env.QT_VERSION }}-${{ env.KF_VERSION }}-prefix - name: Setup Windows dependencies - if: (runner.os == 'Windows') && (steps.cache-prefix-restore.outputs.cache-hit != 'true') + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' shell: powershell run: | $ProgressPreference = 'SilentlyContinue' @@ -117,186 +82,154 @@ jobs: pip install lxml - name: Build zlib - if: (runner.os == 'Windows') && (steps.cache-prefix-restore.outputs.cache-hit != 'true') + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone https://github.com/madler/zlib.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-zlib -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 zlib -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-zlib --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-zlib -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S zlib -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-zlib --config Release --target install - name: Build Extra CMake Modules if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | 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 }} ${{ env.COMMON_CMAKE_OPTIONS }} - 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 }} + cmake -B ${{ steps.strings.outputs.build-output-dir }}-ECM -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S extra-cmake-modules -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --install ${{ steps.strings.outputs.build-output-dir }}-ECM --config Release - name: Configure KI18n if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | 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 }} ${{ env.COMMON_CMAKE_OPTIONS }} - - - name: Windows KI18n workaround - if: (runner.os == 'Windows') && (steps.cache-prefix-restore.outputs.cache-hit != 'true') - run: | - (Get-Content -ReadCount 0 ${{ steps.strings.outputs.build-output-dir }}-ki18n/cmake/build-pofiles.cmake) -replace 'FATAL_ERROR', 'WARNING' | Set-Content ${{ steps.strings.outputs.build-output-dir }}-ki18n/cmake/build-pofiles.cmake + cmake -B ${{ steps.strings.outputs.build-output-dir }}-ki18n -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S ki18n -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - name: Build KI18n if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - cmake --build ${{ steps.strings.outputs.build-output-dir }}-ki18n --config ${{ matrix.build_type }} --target install + cmake --build ${{ steps.strings.outputs.build-output-dir }}-ki18n --config Release --target install - name: Build KCoreAddons if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | 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 }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kca --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kca -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kcoreaddons -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kca --config Release --target install - name: Build KConfig if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | 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 }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kconfig --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kconfig -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kconfig -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kconfig --config Release --target install - name: Build KArchive if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | 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 }} ${{ env.COMMON_CMAKE_OPTIONS }} -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 + cmake -B ${{ steps.strings.outputs.build-output-dir }}-karchive -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S karchive -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} -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 Release --target install - name: Build KItemViews if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kitemviews.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kitemviews -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 kitemviews -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kitemviews --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kitemviews -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kitemviews -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kitemviews --config Release --target install - name: Build KCodecs if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kcodecs.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kcodecs -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 kcodecs -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcodecs --config ${{ matrix.build_type }} --target install - - - name: Build Plasma Wayland Protocols - if: (runner.os == 'Linux') && (steps.cache-prefix-restore.outputs.cache-hit != 'true') - run: | - git clone --depth 1 --branch ${{ env.PLASMA_WAYLAND_VERSION }} https://invent.kde.org/libraries/plasma-wayland-protocols.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-plasma-wayland-protocols -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 plasma-wayland-protocols -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-plasma-wayland-protocols --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kcodecs -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kcodecs -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcodecs --config Release --target install - name: Build KGuiAddons if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kguiaddons.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kguiaddons -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 kguiaddons -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} -DWITH_WAYLAND=OFF -DWITH_X11=OFF - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kguiaddons --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kguiaddons -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kguiaddons -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} -DWITH_WAYLAND=OFF -DWITH_X11=OFF + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kguiaddons --config Release --target install - name: Build KWidgetsAddons if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kwidgetsaddons.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kwidgetsaddons -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 kwidgetsaddons -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kwidgetsaddons --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kwidgetsaddons -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kwidgetsaddons -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kwidgetsaddons --config Release --target install - name: Configure KColorScheme if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kcolorscheme.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kcolorscheme -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 kcolorscheme -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - - - name: Windows KI18n workaround - if: (runner.os == 'Windows') && (steps.cache-prefix-restore.outputs.cache-hit != 'true') - run: | - (Get-Content -ReadCount 0 ${{ steps.strings.outputs.prefix-dir }}/lib/cmake/KF6I18n/build-pofiles.cmake) -replace 'FATAL_ERROR', 'WARNING' | Set-Content ${{ steps.strings.outputs.prefix-dir }}/lib/cmake/KF6I18n/build-pofiles.cmake + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kcolorscheme -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kcolorscheme -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - name: Build KColorScheme if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcolorscheme --config ${{ matrix.build_type }} --target install + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcolorscheme --config Release --target install - name: Build KConfigWidgets if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kconfigwidgets.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kconfigwidgets -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 kconfigwidgets -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kconfigwidgets --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kconfigwidgets -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kconfigwidgets -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kconfigwidgets --config Release --target install - name: Build Breeze Icons if: steps.cache-prefix-restore.outputs.cache-hit != 'true' continue-on-error: true run: | 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 # To workaround some bug + cmake -B ${{ steps.strings.outputs.build-output-dir }}-breeze-icons -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -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 Release --target install + cmake --build ${{ steps.strings.outputs.build-output-dir }}-breeze-icons --config Release --target install # To workaround some bug - name: Build KIconThemes if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kiconthemes.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kiconthemes -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 kiconthemes -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kiconthemes --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kiconthemes -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kiconthemes -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kiconthemes --config Release --target install - name: Build Sonnet if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/sonnet.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-sonnet -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 sonnet -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-sonnet --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-sonnet -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S sonnet -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-sonnet --config Release --target install - name: Build KCompletion if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kcompletion.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kcompletion -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 kcompletion -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcompletion --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kcompletion -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kcompletion -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcompletion --config Release --target install - name: Build KTextWidgets if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/ktextwidgets.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-ktextwidgets -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 ktextwidgets -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} -DWITH_TEXT_TO_SPEECH=OFF - cmake --build ${{ steps.strings.outputs.build-output-dir }}-ktextwidgets --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-ktextwidgets -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S ktextwidgets -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} -DWITH_TEXT_TO_SPEECH=OFF + cmake --build ${{ steps.strings.outputs.build-output-dir }}-ktextwidgets --config Release --target install - name: Build KXmlGui if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/kxmlgui.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-kxmlgui -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 kxmlgui -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} -DFORCE_DISABLE_KGLOBALACCEL=ON - cmake --build ${{ steps.strings.outputs.build-output-dir }}-kxmlgui --config ${{ matrix.build_type }} --target install - - - name: Build KSyntaxHighlighting - if: steps.cache-prefix-restore.outputs.cache-hit != 'true' && runner.os != 'Windows' # Re-enable when KSyntaxHighlighting builds on Windows again... - run: | - git clone --depth 1 --branch ${{ env.KF_VERSION }} https://invent.kde.org/frameworks/syntax-highlighting.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-syntax-highlighting -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 syntax-highlighting -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} - cmake --build ${{ steps.strings.outputs.build-output-dir }}-syntax-highlighting --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-kxmlgui -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S kxmlgui -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} ${{ env.COMMON_CMAKE_OPTIONS }} -DFORCE_DISABLE_KGLOBALACCEL=ON + cmake --build ${{ steps.strings.outputs.build-output-dir }}-kxmlgui --config Release --target install - name: Build glm if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone https://github.com/g-truc/glm.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-glm -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 glm -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DGLM_BUILD_TESTS=OFF - cmake --build ${{ steps.strings.outputs.build-output-dir }}-glm --config ${{ matrix.build_type }} --target install - - - name: Build Corrosion - if: steps.cache-prefix-restore.outputs.cache-hit != 'true' - run: | - git clone https://github.com/corrosion-rs/corrosion.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-corrosion -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 corrosion -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DCORROSION_BUILD_TESTS=OFF - cmake --build ${{ steps.strings.outputs.build-output-dir }}-corrosion --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-glm -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S glm -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DGLM_BUILD_TESTS=OFF + cmake --build ${{ steps.strings.outputs.build-output-dir }}-glm --config Release --target install - name: Build nlohmann if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone https://github.com/nlohmann/json.git - cmake -B ${{ steps.strings.outputs.build-output-dir }}-nlohmann -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 json -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DJSON_BuildTests=OFF - cmake --build ${{ steps.strings.outputs.build-output-dir }}-nlohmann --config ${{ matrix.build_type }} --target install + cmake -B ${{ steps.strings.outputs.build-output-dir }}-nlohmann -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_BUILD_TYPE=Release -S json -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DJSON_BuildTests=OFF + cmake --build ${{ steps.strings.outputs.build-output-dir }}-nlohmann --config Release --target install - name: Build stb if: steps.cache-prefix-restore.outputs.cache-hit != 'true' @@ -315,18 +248,15 @@ jobs: - name: Configure run: > cmake -B ${{ steps.strings.outputs.build-output-dir }} - -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} - -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} + -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=${{ steps.strings.outputs.prefix-dir }} -DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.build-output-dir }}/bin -S ${{ github.workspace }} - name: Build - run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} --target install + run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config Release --target install - name: Copy required DLLs - if: runner.os == 'Windows' run: | Copy-Item -Path ${{ steps.strings.outputs.prefix-dir }}/bin/KF6BreezeIcons.dll -Destination ${{ steps.strings.outputs.build-output-dir }}/bin/bin Copy-Item -Path ${{ steps.strings.outputs.prefix-dir }}/bin/KF6ItemViews.dll -Destination ${{ steps.strings.outputs.build-output-dir }}/bin/bin @@ -345,14 +275,12 @@ jobs: Copy-Item -Path "../Qt/${{ env.QT_VERSION }}/msvc2022_64/plugins/sqldrivers/qsqlite.dll" -Destination "${{ steps.strings.outputs.build-output-dir }}/bin/plugins/sqldrivers" - name: Remove extra files - if: runner.os == 'Windows' run: | Remove-Item -Path ${{ steps.strings.outputs.build-output-dir }}/bin/bin/opengl32sw.dll Remove-Item -Path ${{ steps.strings.outputs.build-output-dir }}/bin/Release -Force -Recurse - name: Archive artifacts uses: actions/upload-artifact@v7 - if: runner.os == 'Windows' with: name: ${{ runner.os }}-package path: ${{ steps.strings.outputs.build-output-dir }}/bin diff --git a/CMakeLists.txt b/CMakeLists.txt index 8800108a..7b523474 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ ecm_setup_version(${PROJECT_VERSION} ) find_package(Qt6 ${QT_MIN_VERSION} COMPONENTS Core Widgets Concurrent Sql Network CONFIG REQUIRED) -find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS CoreAddons Config XmlGui Archive I18n) +find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS CoreAddons Config XmlGui Archive I18n BreezeIcons) find_package(KF6SyntaxHighlighting ${KF_MIN_VERSION}) find_package(Vulkan REQUIRED) find_package(glm REQUIRED) @@ -48,11 +48,6 @@ if (NOT TARGET glm::glm) add_library(glm::glm ALIAS glm) endif () -# TODO: we should really do this on all platforms anyway -if (WIN32) - find_package(KF6BreezeIcons REQUIRED) -endif () - add_subdirectory(extern) add_subdirectory(renderer) add_subdirectory(parts) diff --git a/apps/enemyeditor/CMakeLists.txt b/apps/enemyeditor/CMakeLists.txt index 9b57cef9..593114cc 100644 --- a/apps/enemyeditor/CMakeLists.txt +++ b/apps/enemyeditor/CMakeLists.txt @@ -5,14 +5,14 @@ add_executable(novus-enemyeditor) set_common_properties(novus-enemyeditor) target_sources(novus-enemyeditor PRIVATE - include/mainwindow.h - include/enemymodel.h include/enemyinfowindow.h + include/enemymodel.h + include/mainwindow.h - src/main.cpp - src/mainwindow.cpp + src/enemyinfowindow.cpp src/enemymodel.cpp - src/enemyinfowindow.cpp) + src/main.cpp + src/mainwindow.cpp) target_include_directories(novus-enemyeditor PUBLIC include) diff --git a/apps/patchdiff/CMakeLists.txt b/apps/patchdiff/CMakeLists.txt index 2958a471..d90ed534 100644 --- a/apps/patchdiff/CMakeLists.txt +++ b/apps/patchdiff/CMakeLists.txt @@ -6,13 +6,13 @@ set_common_properties(novus-patchdiff) target_sources(novus-patchdiff PRIVATE include/mainwindow.h - include/difftreemodel.h include/difftreewidget.h + include/difftreemodel.h - src/main.cpp - src/mainwindow.cpp src/difftreemodel.cpp - src/difftreewidget.cpp) + src/difftreewidget.cpp + src/main.cpp + src/mainwindow.cpp) target_include_directories(novus-patchdiff PUBLIC include) diff --git a/apps/sagasu/CMakeLists.txt b/apps/sagasu/CMakeLists.txt index 5f404aa2..51c3a033 100644 --- a/apps/sagasu/CMakeLists.txt +++ b/apps/sagasu/CMakeLists.txt @@ -5,11 +5,16 @@ add_executable(novus-sagasu) set_common_properties(novus-sagasu) target_sources(novus-sagasu PRIVATE - src/main.cpp - src/mainwindow.cpp - src/filetreewindow.cpp + include/filepropertieswindow.h + include/filetreemodel.h + include/filetreewindow.h + include/mainwindow.h + src/filepropertieswindow.cpp - src/filetreemodel.cpp) + src/filetreemodel.cpp + src/filetreewindow.cpp + src/main.cpp + src/mainwindow.cpp) if (TARGET KF6::SyntaxHighlighting) target_link_libraries(novus-sagasu PUBLIC diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 3b3c11e9..c5a4c0a3 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -35,35 +35,35 @@ set_common_properties(novus-common) target_sources(novus-common PRIVATE include/aboutdata.h + include/booledit.h + include/editwidget.h + include/enumedit.h include/filecache.h include/filetypes.h + include/hashdatabase.h + include/knownvalues.h + include/openinwidget.h + include/pathedit.h include/quaternionedit.h include/settings.h - include/vec3edit.h - include/pathedit.h - include/enumedit.h - include/editwidget.h include/uintedit.h - include/booledit.h - include/openinwidget.h include/utility.h - include/hashdatabase.h - include/knownvalues.h + include/vec3edit.h src/aboutdata.cpp + src/booledit.cpp + src/editwidget.cpp + src/enumedit.cpp src/filecache.cpp src/filetypes.cpp + src/hashdatabase.cpp + src/openinwidget.cpp + src/pathedit.cpp src/quaternionedit.cpp src/settings.cpp - src/vec3edit.cpp - src/pathedit.cpp - src/enumedit.cpp - src/editwidget.cpp src/uintedit.cpp - src/booledit.cpp - src/openinwidget.cpp src/utility.cpp - src/hashdatabase.cpp + src/vec3edit.cpp launcherconfig.h) target_include_directories(novus-common diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index a0c4ae72..b01118f5 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -8,12 +8,16 @@ if (ENABLE_SANITIZERS) set(Rust_TOOLCHAIN "nightly") endif() -FetchContent_Declare( - Corrosion - GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git - GIT_TAG v0.5.2 -) -FetchContent_MakeAvailable(Corrosion) + +find_package(Corrosion QUIET) +if (NOT Corrosion_FOUND) + FetchContent_Declare( + Corrosion + GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git + GIT_TAG v0.6.1 + ) + FetchContent_MakeAvailable(Corrosion) +endif() corrosion_import_crate(MANIFEST_PATH ${CMAKE_CURRENT_SOURCE_DIR}/libphysis/Cargo.toml) target_include_directories(physis INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/libphysis/target/public) diff --git a/parts/dic/CMakeLists.txt b/parts/dic/CMakeLists.txt index bab5b5ba..eed489be 100644 --- a/parts/dic/CMakeLists.txt +++ b/parts/dic/CMakeLists.txt @@ -3,7 +3,7 @@ add_library(dicpart STATIC) set_common_properties(dicpart) -target_sources(dicpart PRIVATE dicpart.cpp) +target_sources(dicpart PRIVATE dicpart.cpp dicpart.h) target_link_libraries(dicpart PUBLIC KF6::I18n diff --git a/parts/luab/CMakeLists.txt b/parts/luab/CMakeLists.txt index 18173613..f72e88c4 100644 --- a/parts/luab/CMakeLists.txt +++ b/parts/luab/CMakeLists.txt @@ -3,7 +3,7 @@ add_library(luabpart STATIC) set_common_properties(luabpart) -target_sources(luabpart PRIVATE luabpart.cpp scriptprocessor.cpp) +target_sources(luabpart PRIVATE luabpart.cpp luabpart.h scriptprocessor.cpp scriptprocessor.h) target_link_libraries(luabpart PUBLIC KF6::I18n diff --git a/parts/scene/CMakeLists.txt b/parts/scene/CMakeLists.txt index 43d9642b..7eab2987 100644 --- a/parts/scene/CMakeLists.txt +++ b/parts/scene/CMakeLists.txt @@ -5,31 +5,31 @@ add_library(scenepart STATIC) set_common_properties(scenepart) target_sources(scenepart PRIVATE - scenelistwidget.h - scenelistmodel.h - scenestate.h - scenepart.h - objectpropertieswidget.h + animation.h collapsesection.h + exceledit.h mapview.h + objectidedit.h objectpass.h + objectpropertieswidget.h primitives.h - animation.h - objectidedit.h - exceledit.h + scenelistmodel.h + scenelistwidget.h + scenepart.h + scenestate.h - scenelistwidget.cpp - scenelistmodel.cpp - scenestate.cpp - scenepart.cpp - objectpropertieswidget.cpp + animation.cpp collapsesection.cpp + exceledit.cpp mapview.cpp + objectidedit.cpp objectpass.cpp + objectpropertieswidget.cpp primitives.cpp - animation.cpp - objectidedit.cpp - exceledit.cpp) + scenelistmodel.cpp + scenelistwidget.cpp + scenepart.cpp + scenestate.cpp) target_link_libraries(scenepart PUBLIC Novus::Renderer diff --git a/parts/shcd/CMakeLists.txt b/parts/shcd/CMakeLists.txt index 64841ec3..2d2e6594 100644 --- a/parts/shcd/CMakeLists.txt +++ b/parts/shcd/CMakeLists.txt @@ -7,7 +7,7 @@ find_package(SPIRV-Headers REQUIRED) add_library(shcdpart STATIC) set_common_properties(shcdpart) -target_sources(shcdpart PRIVATE shcdpart.cpp) +target_sources(shcdpart PRIVATE shcdpart.cpp shcdpart.h) target_link_libraries(shcdpart PUBLIC Novus::Common @@ -24,7 +24,7 @@ if (TARGET KF6::SyntaxHighlighting) target_compile_definitions(shcdpart PUBLIC HAVE_SYNTAX_HIGHLIGHTING) endif() target_include_directories(shcdpart PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -target_compile_options(shcdpart PRIVATE -fexceptions) +target_compile_options(shcdpart PRIVATE -fexceptions) # Needed for SPIRV-Cross target_compile_definitions(shcdpart PRIVATE TRANSLATION_DOMAIN="novus") add_library(Novus::ShcdPart ALIAS shcdpart) diff --git a/parts/shpk/CMakeLists.txt b/parts/shpk/CMakeLists.txt index a6582c4c..623e894d 100644 --- a/parts/shpk/CMakeLists.txt +++ b/parts/shpk/CMakeLists.txt @@ -7,7 +7,7 @@ find_package(SPIRV-Headers REQUIRED) add_library(shpkpart STATIC) set_common_properties(shpkpart) -target_sources(shpkpart PRIVATE shpkpart.cpp) +target_sources(shpkpart PRIVATE shpkpart.cpp shpkpart.h) target_link_libraries(shpkpart PUBLIC Novus::Common @@ -24,7 +24,7 @@ if (TARGET KF6::SyntaxHighlighting) target_compile_definitions(shpkpart PUBLIC HAVE_SYNTAX_HIGHLIGHTING) endif() target_include_directories(shpkpart PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -target_compile_options(shpkpart PRIVATE -fexceptions) +target_compile_options(shpkpart PRIVATE -fexceptions) # Needed for SPIRV-Cross target_compile_definitions(shpkpart PRIVATE TRANSLATION_DOMAIN="novus") add_library(Novus::ShpkPart ALIAS shpkpart) diff --git a/parts/tmb/CMakeLists.txt b/parts/tmb/CMakeLists.txt index 83ef3b37..c538ab91 100644 --- a/parts/tmb/CMakeLists.txt +++ b/parts/tmb/CMakeLists.txt @@ -3,7 +3,7 @@ add_library(tmbpart STATIC) set_common_properties(tmbpart) -target_sources(tmbpart PRIVATE tmbpart.cpp) +target_sources(tmbpart PRIVATE tmbpart.cpp tmbpart.h) target_link_libraries(tmbpart PUBLIC KF6::I18n diff --git a/renderer/CMakeLists.txt b/renderer/CMakeLists.txt index 1c0b100e..3a219136 100644 --- a/renderer/CMakeLists.txt +++ b/renderer/CMakeLists.txt @@ -4,12 +4,12 @@ find_package(spirv_cross_core REQUIRED) find_package(spirv_cross_glsl REQUIRED) find_package(SPIRV-Headers REQUIRED) -find_package(glslang) # for additional debug information in the GLSL +find_package(glslang) # For additional debug information in the GLSL (currently optional for the Windows CI build) add_library(renderer STATIC) set_target_properties(renderer PROPERTIES - EXCLUDE_FROM_SANITIZERS ON) + EXCLUDE_FROM_SANITIZERS ON) # Excluded from sanitizers because of glslang... set_common_properties(renderer) target_sources(renderer PRIVATE @@ -19,6 +19,7 @@ target_sources(renderer include/device.h include/drawobject.h include/gamerenderer.h + include/pass.h include/rendermanager.h include/scene.h include/shadermanager.h @@ -26,17 +27,16 @@ target_sources(renderer include/simplerenderer.h include/swapchain.h include/texture.h - include/pass.h src/device.cpp src/gamerenderer.cpp src/imguipass.cpp src/imguipass.h src/rendermanager.cpp + src/scene.cpp src/shadermanager.cpp src/simplerenderer.cpp - src/swapchain.cpp - src/scene.cpp) + src/swapchain.cpp) qt_add_resources(renderer "shaders" PREFIX "/" @@ -65,7 +65,7 @@ target_link_libraries(renderer spirv-cross-glsl Novus::Common) target_compile_definitions(renderer PUBLIC GLM_FORCE_RADIANS GLM_FORCE_DEPTH_ZERO_TO_ONE GLM_ENABLE_EXPERIMENTAL) -target_compile_options(renderer PUBLIC -fexceptions) # needed for spirv-cross and dxbc +target_compile_options(renderer PUBLIC -fexceptions) # Exceptions are needed for SPIRV-Cross and DXBC if (glslang_FOUND) target_link_libraries(renderer diff --git a/zone.xiv.novus.yml b/zone.xiv.novus.yml index 3a4f59b5..aa9694e6 100644 --- a/zone.xiv.novus.yml +++ b/zone.xiv.novus.yml @@ -33,7 +33,7 @@ modules: sources: - type: git url: https://github.com/g-truc/glm.git - tag: 1.0.2 + tag: 1.0.3 - name: json buildsystem: cmake-ninja config-opts: @@ -60,7 +60,7 @@ modules: sources: - type: git url: https://github.com/KhronosGroup/SPIRV-Headers.git - tag: vulkan-sdk-1.4.328.1 + tag: vulkan-sdk-1.4.350.0 - name: spirv-cross buildsystem: cmake-ninja cleanup: @@ -68,7 +68,7 @@ modules: sources: - type: git url: https://github.com/KhronosGroup/SPIRV-Cross.git - tag: vulkan-sdk-1.4.328.1 + tag: vulkan-sdk-1.4.350.0 - name: glslang buildsystem: cmake-ninja config-opts: @@ -80,7 +80,7 @@ modules: sources: - type: git url: https://github.com/KhronosGroup/glslang.git - tag: 16.0.0 + tag: 16.3.0 - name: corrosion buildsystem: cmake-ninja config-opts: @@ -93,7 +93,7 @@ modules: sources: - type: git url: https://github.com/AndrewGaspar/corrosion.git - tag: v0.5.2 + tag: v0.6.1 - name: novus buildsystem: cmake-ninja config-opts: