diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c627223a..70e4b812 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,15 +59,19 @@ jobs: path: SFML - name: Configure SFML CMake + env: + BUILD_TYPE: ${{ matrix.type.name }} + CMAKE_FLAGS: ${{ matrix.platform.flags }} ${{ matrix.config.flags }} run: | cmake -S SFML -B SFML/build \ - -DCMAKE_BUILD_TYPE=${{matrix.type.name}} \ + -DCMAKE_BUILD_TYPE="$BUILD_TYPE" \ -DCMAKE_INSTALL_PREFIX=SFML/install \ - ${{matrix.platform.flags}} \ - ${{matrix.config.flags}} + $CMAKE_FLAGS - name: Build SFML - run: cmake --build SFML/build --config ${{matrix.type.name}} --target install + env: + BUILD_TYPE: ${{ matrix.type.name }} + run: cmake --build SFML/build --config "$BUILD_TYPE" --target install - name: Checkout CSFML uses: actions/checkout@v7 @@ -76,21 +80,26 @@ jobs: path: CSFML - name: Configure CSFML CMake + env: + BUILD_TYPE: ${{ matrix.type.name }} + CMAKE_FLAGS: ${{ matrix.platform.flags }} ${{ matrix.config.flags }} ${{ matrix.config.csfml_flags }} run: | cmake --preset dev -S CSFML -B CSFML/build \ - -DCMAKE_BUILD_TYPE=${{matrix.type.name}} \ + -DCMAKE_BUILD_TYPE="$BUILD_TYPE" \ -DCMAKE_INSTALL_PREFIX=CSFML/install \ -DSFML_ROOT=SFML/install \ -DCMAKE_VERBOSE_MAKEFILE=ON \ - ${{matrix.platform.flags}} \ - ${{matrix.config.flags}} \ - ${{matrix.config.csfml_flags}} + $CMAKE_FLAGS - name: Build CSFML - run: cmake --build CSFML/build --config ${{matrix.type.name}} --target install + env: + BUILD_TYPE: ${{ matrix.type.name }} + run: cmake --build CSFML/build --config "$BUILD_TYPE" --target install - name: Test - run: ctest --test-dir CSFML/build -C ${{matrix.type.name}} --output-on-failure + env: + BUILD_TYPE: ${{ matrix.type.name }} + run: ctest --test-dir CSFML/build -C "$BUILD_TYPE" --output-on-failure format: name: Formatting diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9bb52954..46cb8645 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,21 +18,17 @@ concurrency: env: SFML_VERSION: 3.0.2 +defaults: + run: + shell: bash + jobs: windows-x86: name: Windows x86 runs-on: windows-2025-vs2026 steps: - - name: Cache MinGW x86 - id: mingw-x86-cache - uses: actions/cache@v6 - with: - path: ${{ github.workspace }}/mingw32 - key: 15.2.0posix-13.0.0-ucrt-r1-x86 - - name: Install MinGW x86 - if: steps.mingw-x86-cache.outputs.cache-hit != 'true' uses: bwoodsend/setup-winlibs-action@v1 id: winlibs-32 with: @@ -58,17 +54,17 @@ jobs: - name: Build SFML run: | - cmake -S SFML -B SFML-build -A Win32 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON + cmake -S SFML -B SFML-build -A Win32 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build SFML-build --config Release --target install - name: Build CSFML run: | - cmake -S CSFML -B CSFML-build -A Win32 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON + cmake -S CSFML -B CSFML-build -A Win32 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release "-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build CSFML-build --config Release --target install - name: Add MinGW to PATH shell: bash - run: echo "${{ github.workspace }}\mingw32\bin" >> $GITHUB_PATH + run: echo "$GITHUB_WORKSPACE\mingw32\bin" >> "$GITHUB_PATH" - name: Generate Import Libs for MinGW shell: pwsh @@ -113,15 +109,7 @@ jobs: runs-on: windows-2025-vs2026 steps: - - name: Cache MinGW x64 - id: mingw-x64-cache - uses: actions/cache@v6 - with: - path: ${{ github.workspace }}/mingw64 - key: 15.2.0posix-13.0.0-ucrt-r1-x64 - - name: Install MinGW x64 - if: steps.mingw-x64-cache.outputs.cache-hit != 'true' uses: bwoodsend/setup-winlibs-action@v1 id: winlibs-64 with: @@ -147,17 +135,17 @@ jobs: - name: Build SFML run: | - cmake -S SFML -B SFML-build -A x64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON + cmake -S SFML -B SFML-build -A x64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build SFML-build --config Release --target install - name: Build CSFML run: | - cmake -S CSFML -B CSFML-build -A x64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON + cmake -S CSFML -B CSFML-build -A x64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release "-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build CSFML-build --config Release --target install - name: Add MinGW to PATH shell: bash - run: echo "${{ github.workspace }}\mingw64\bin" >> $GITHUB_PATH + run: echo "$GITHUB_WORKSPACE\mingw64\bin" >> "$GITHUB_PATH" - name: Generate Import Libs for MinGW shell: pwsh @@ -218,12 +206,12 @@ jobs: - name: Build SFML run: | - cmake -S SFML -B SFML-build -A ARM64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON + cmake -S SFML -B SFML-build -A ARM64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build SFML-build --config Release --target install - name: Build CSFML run: | - cmake -S CSFML -B CSFML-build -A ARM64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON + cmake -S CSFML -B CSFML-build -A ARM64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release "-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build CSFML-build --config Release --target install - name: Move Files @@ -266,7 +254,7 @@ jobs: -DCMAKE_CXX_FLAGS="-stdlib=libc++" \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install \ + "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" \ -DCMAKE_OSX_ARCHITECTURES=x86_64 \ -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \ -DSFML_BUILD_FRAMEWORKS=OFF \ @@ -282,10 +270,10 @@ jobs: -DCMAKE_CXX_FLAGS="-stdlib=libc++" \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install \ + "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" \ -DCMAKE_OSX_ARCHITECTURES=x86_64 \ -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \ - -DSFML_ROOT=${{ github.workspace }}/SFML-install \ + "-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" \ -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build CSFML-build --config Release --target install @@ -330,7 +318,7 @@ jobs: -DCMAKE_CXX_FLAGS="-stdlib=libc++" \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install \ + "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" \ -DCMAKE_OSX_ARCHITECTURES=arm64 \ -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \ -DSFML_BUILD_FRAMEWORKS=OFF \ @@ -346,10 +334,10 @@ jobs: -DCMAKE_CXX_FLAGS="-stdlib=libc++" \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install \ + "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" \ -DCMAKE_OSX_ARCHITECTURES=arm64 \ -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \ - -DSFML_ROOT=${{ github.workspace }}/SFML-install \ + "-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" \ -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build CSFML-build --config Release --target install