Windows builds can be created using:
- MSVC compiler, Visual Studio 2019 IDE suite, and vcpkg to provide dependencies (recommended).
- The Clang or GCC compilers using the Meson buildsystem running within the MSYS2 environment to provide dependencies.
- Install Visual Studio Community 2019: https://visualstudio.microsoft.com/.
- Install vcpkg: https://github.com/Microsoft/vcpkg#quick-start-windows.
- Follow instructions in README.md.
Note that the debugger imposes a significant runtime performance penalty. If you're not planning to use the debugger then the steps above will help you build a binary optimized for gaming.
-
Edit
src\platform\visualc\config.h
and enableC_DEBUG
and optionallyC_HEAVY_DEBUG
by setting them to1
instead of0
. -
Select a Release build type in Visual Studio, and run the build.
-
Install MSYS2: https://www.msys2.org/wiki/MSYS2-installation/
-
Install Git:
pacman -S git
-
Clone and enter the repository's directory:
git clone https://github.com/dosbox-staging/dosbox-staging.git cd dosbox-staging
-
Update the pacman database and packages:
- Open an MSYS2 console from your start menu.
- Run
pacman -Syu
, answerY
, and let it run to completion. - Close your terminal when it's done.
- Re-open the terminal and repeat the process.
-
Install the GCC and Clang runtime groups:
Note: this will uninstall non-MinGW compilers followed by installing the GCC and Clang runtime groups along with Staging's dependencies.
pacman -R clang pacman -R gcc pacman -S $(cat packages/windows-msys2-clang-x86_64.txt packages/windows-msys2-gcc-x86_64.txt)
Close your terminal when this finishes.
-
Open a toolchain-specific MinGW terminal:
- GCC: Start Menu > Programs > MSYS2 > MSYS2 MinGW x64
- Clang: Start Menu > Programs > MSYS2 > MSYS2 MinGW Clang x64
You can then use those specific toolchains within the respecitive terminal.
-
Setup a GCC build from an MSYS2 MinGW x64 terminal:
meson setup build/release-gcc
-
Setup a Clang build from an MSYS2 MinGW Clang x64 terminal:
meson setup build/release-clang --native-file=.github/meson/native-clang.ini
-
Compile:
meson compile -C build/release-gcc # or meson compile -C build/release-clang
-
Create a package of the binary and DLLs to a destination directory:
./scripts/create-package.sh -p msys2 build/release-gcc ../dosbox-staging-gcc-pkg
# or
./scripts/create-package.sh -p msys2 build/release-clang ../dosbox-staging-clang-pkg