diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 04a6d2d..11e4584 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -72,7 +72,7 @@ jobs: key: ${{ runner.os }}-prefix - name: Setup Windows dependencies - if: (runner.os == 'Windows') && (steps.cache-prefix.outputs.cache-hit != 'true') + if: (runner.os == 'Windows') && (steps.cache-prefix-restore.outputs.cache-hit != 'true') shell: powershell run: | $ProgressPreference = 'SilentlyContinue' @@ -84,14 +84,14 @@ jobs: unzip gperf.zip -d ${{ steps.strings.outputs.prefix-dir }} - name: Build zlib - if: (runner.os == 'Windows') && (steps.cache-prefix.outputs.cache-hit != 'true') + if: (runner.os == 'Windows') && (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 "H"-DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.prefix-dir }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-zlib --target install - name: Build Extra CMake Modules - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 @@ -99,158 +99,158 @@ jobs: cmake --install ${{ steps.strings.outputs.build-output-dir }}-ECM - name: Configure KI18n - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 - if: (runner.os == 'Windows') && (steps.cache-prefix.outputs.cache-hit != 'true') + 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 - name: Build KI18n - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | cmake --build ${{ steps.strings.outputs.build-output-dir }}-ki18n --target install - name: Build KCoreAddons - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 --target install - name: Build KConfig - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 --target install - name: Build KArchive - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 --target install - name: Build KItemViews - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kitemviews --target install - name: Build KCodecs - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcodecs --target install - name: Build Plasma Wayland Protocols - if: (runner.os == 'Linux') && (steps.cache-prefix.outputs.cache-hit != 'true') + if: (runner.os == 'Linux') && (steps.cache-prefix-restore.outputs.cache-hit != 'true') run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-plasma-wayland-protocols --target install - name: Build KGuiAddons - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kguiaddons --target install - name: Build KWidgetsAddons - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kwidgetsaddons --target install - name: Configure KColorScheme - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF - name: Windows KI18n workaround - if: (runner.os == 'Windows') && (steps.cache-prefix.outputs.cache-hit != 'true') + 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 - name: Build KColorScheme - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcolorscheme --target install - name: Build KConfigWidgets - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kconfigwidgets --target install - name: Build KIconThemes - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kiconthemes --target install - name: Build Sonnet - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-sonnet --target install - name: Build KCompletion - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-kcompletion --target install - name: Build KTextWidgets - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF -DWITH_TEXT_TO_SPEECH=OFF cmake --build ${{ steps.strings.outputs.build-output-dir }}-ktextwidgets --target install - name: Build KXmlGui - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone 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 }} -DBUILD_TESTING=OFF -DFORCE_DISABLE_KGLOBALACCEL=ON cmake --build ${{ steps.strings.outputs.build-output-dir }}-kxmlgui --target install - name: Build glm - if: steps.cache-prefix.outputs.cache-hit != 'true' + 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 --target install - name: Build Corrosion - if: steps.cache-prefix.outputs.cache-hit != 'true' + 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 --target install - name: Build nlohmann - if: steps.cache-prefix.outputs.cache-hit != 'true' + 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 --target install - name: Build stb - if: steps.cache-prefix.outputs.cache-hit != 'true' + if: steps.cache-prefix-restore.outputs.cache-hit != 'true' run: | git clone https://github.com/nothings/stb.git mv stb/* ${{ steps.strings.outputs.prefix-dir }}/include