Clean Windows build instructions

* CMake in MSYS2 now depends on Ninja and uses it by default, use it
  instead of Make as it has much easier to read output when doing
  parallel builds and doesn't need an extra program
* Ninja uses the maximum number of cores by default, so we don't have to
  run nproc --all
* We don't need mesa for its headers anymore
This commit is contained in:
Nadia Holmquist Pedersen 2022-11-09 19:54:35 +01:00
parent 726fde4e8d
commit b069a2acf1
2 changed files with 10 additions and 14 deletions

View File

@ -27,19 +27,15 @@ jobs:
update: true update: true
- name: Install dependencies - name: Install dependencies
run: pacman -Sq --noconfirm git make pkgconf mingw-w64-x86_64-{cmake,mesa,SDL2,qt5-static,libslirp,libarchive,libepoxy,toolchain} run: pacman -Sq --noconfirm git pkgconf mingw-w64-x86_64-{cmake,SDL2,qt5-static,libslirp,libarchive,toolchain}
- name: Create build environment
working-directory: ${{runner.workspace}}
run: mkdir build
- name: Configure - name: Configure
working-directory: ${{runner.workspace}}/build working-directory: ${{runner.workspace}}
run: cmake $GITHUB_WORKSPACE -G 'MSYS Makefiles' -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_STATIC=ON -DCMAKE_PREFIX_PATH=C:/tools/msys64/mingw64/qt5-static run: cmake -B build $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_STATIC=ON -DCMAKE_PREFIX_PATH=C:/tools/msys64/mingw64/qt5-static
- name: Make - name: Make
working-directory: ${{runner.workspace}}/build working-directory: ${{runner.workspace}}/build
run: make -j$(nproc --all) run: cmake --build .
- uses: actions/upload-artifact@v1 - uses: actions/upload-artifact@v1
with: with:

View File

@ -65,22 +65,22 @@ As for the rest, the interface should be pretty straightforward. If you have a q
cd melonDS cd melonDS
``` ```
#### Dynamic builds (with DLLs) #### Dynamic builds (with DLLs)
5. Install dependencies: `pacman -S make mingw-w64-x86_64-{cmake,mesa,SDL2,toolchain,qt5-base,qt5-svg,qt5-multimedia,libslirp,libarchive}` 5. Install dependencies: `pacman -S mingw-w64-x86_64-{cmake,SDL2,toolchain,qt5-base,qt5-svg,qt5-multimedia,libslirp,libarchive}`
6. Compile: 6. Compile:
```bash ```bash
cmake -B build -G "MSYS Makefiles" cmake -B build
cmake --build build -j$(nproc --all) cmake --build build
cd build cd build
../tools/msys-dist.sh ../tools/msys-dist.sh
``` ```
If everything went well, melonDS and the libraries it needs should now be in the `dist` folder. If everything went well, melonDS and the libraries it needs should now be in the `dist` folder.
#### Static builds (without DLLs, standalone executable) #### Static builds (without DLLs, standalone executable)
5. Install dependencies: `pacman -S make mingw-w64-x86_64-{cmake,mesa,SDL2,toolchain,qt5-static,libslirp,libarchive}` 5. Install dependencies: `pacman -S mingw-w64-x86_64-{cmake,SDL2,toolchain,qt5-static,libslirp,libarchive}`
6. Compile: 6. Compile:
```bash ```bash
cmake -B build -G 'MSYS Makefiles' -DBUILD_STATIC=ON -DCMAKE_PREFIX_PATH=/mingw64/qt5-static cmake -B build -DBUILD_STATIC=ON -DCMAKE_PREFIX_PATH=/mingw64/qt5-static
cmake --build build -j$(nproc --all) cmake --build build
``` ```
If everything went well, melonDS should now be in the `build` folder. If everything went well, melonDS should now be in the `build` folder.