diff --git a/.github/scripts/msvc-env.bat b/.github/scripts/msvc-env.bat new file mode 100644 index 00000000..c9c7775e --- /dev/null +++ b/.github/scripts/msvc-env.bat @@ -0,0 +1,4 @@ +@rem From https://github.com/microsoft/vswhere/wiki/Start-Developer-Command-Prompt#using-batch +for /f "delims=" %%p in ('vswhere.exe -prerelease -latest -property installationPath') do set vspath=%%p +@rem From https://learn.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-170#developer_command_file_locations +call "%vspath%\VC\Auxiliary\Build\vcvars%1.bat" diff --git a/.github/workflows/create-release-artifacts.yml b/.github/workflows/create-release-artifacts.yml index 5cfa8d34..d41a32b6 100644 --- a/.github/workflows/create-release-artifacts.yml +++ b/.github/workflows/create-release-artifacts.yml @@ -36,13 +36,15 @@ jobs: run: | bash .github/scripts/install_deps.sh windows - name: Build Windows binaries + shell: cmd run: | - cmake -S . -B build --preset msvc${{ matrix.bits }} -DFETCHCONTENT_BASE_DIR="${{ env.DEPS_ROOT_DIR }}" - cmake --build build --config Release + call .github\scripts\msvc-env.bat ${{ matrix.bits }} + cmake -S . -B build -G Ninja -DFETCHCONTENT_BASE_DIR="${{ env.DEPS_ROOT_DIR }}" + cmake --build build - name: Package binaries working-directory: build run: | - cpack -DCPACK_PACKAGE_FILE_NAME=rgbds-win${{ matrix.bits }} -G ZIP -C Release --verbose + cpack -DCPACK_PACKAGE_FILE_NAME=rgbds-win${{ matrix.bits }} -G ZIP --verbose - name: Upload Windows binaries uses: actions/upload-artifact@v7 with: diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 95b99832..400d83d3 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -181,14 +181,16 @@ jobs: key: dep-srcs-${{ hashFiles('cmake/deps.cmake') }} enableCrossOsArchive: true - name: Build Windows binaries + shell: cmd run: | # ASan seems to be broken on Windows, so we disable it. - cmake -S . -B build --preset develop-msvc${{ matrix.bits }} -DSANITIZERS=OFF \ + call .github\scripts\msvc-env.bat ${{ matrix.bits }} + cmake -S . -B build -G Ninja --preset develop -DSANITIZERS=OFF ^ -DTESTS_OS_NAME=${{ matrix.os }} -DFETCHCONTENT_BASE_DIR="${{ env.DEPS_ROOT_DIR }}" cmake --build build - name: Package binaries working-directory: build run: | - cpack -DCPACK_PACKAGE_FILE_NAME=rgbds-win${{ matrix.bits }} -G ZIP -C Debug --verbose + cpack -DCPACK_PACKAGE_FILE_NAME=rgbds-win${{ matrix.bits }} -G ZIP --verbose - name: Upload Windows binaries uses: actions/upload-artifact@v7 with: @@ -218,7 +220,7 @@ jobs: test/fetch-test-deps.sh --get-deps ${{ matrix.os }} - name: Run tests using CTest run: | - ctest --test-dir build --schedule-random -C Debug + ctest --test-dir build --schedule-random windows-mingw-build: strategy: