-
Notifications
You must be signed in to change notification settings - Fork 0
Build for Windows with MSVC Build Tools
Tested as of 23 June 2026 on Windows 11 x86 64-bit with Visual Studio Build Tools 2026
Microsoft C++ (MSVC) is not a supported build tool for EmptyEpsilon. To build EmptyEpsilon for Windows, the supported methods are cross-compilation in Build for Windows on Linux or Build for Windows on WSL.
See Build for Windows with MSVC for a GUI build option.
As an alternative to Build for Windows with MSVC, you can also build EmptyEpsilon using Microsoft's Build Tools for Visual Studio. This installs only the compiler and libraries and allows you to build EmptyEpsilon entirely from the Windows command line.
-
Download and install Git for Windows (
winget install Git.Gitorwinget install Microsoft.Git). -
Download and install Ninja for Windows (
winget install Ninja-build.Ninja). -
Optional: Download and install Windows Terminal (
winget install Microsoft.WindowsTerminal). -
Download and install Build Tools for Visual Studio (
winget install Microsoft.VisualStudio.BuildTools).This installs the Visual Studio Installer.
-
Open the Visual Studio Installer, click Modify in Visual Studio Build Tools 2026, and check Desktop development with C++.
-
In the "Installation details" sidebar, make sure that at least these optional items are checked (they should be by default):
- MSVC Build Tools for x64/x86 (Latest)
- Windows 11 SDK
- C++ CMake tools for Windows
-
Optional: Also check C++ Tools for Linux and Mac Development.
-
Click Install to download and install the tools.
This installs several Developer Command Prompt for Visual Studio shortcuts to open a command-line development environment for various architectures and cross-compilation scenarios. If you installed Windows Terminal, this also adds a "Developer PowerShell for VS" profile that automatically includes the necessary development environment.
-
Clone the EmptyEpsilon and SeriousProton repositories, preferably as siblings under the same parent directory.
-
Download and unzip the SDL2 VC development libraries.
-
From the command line, go to the EmptyEpsilon repository's directory.
-
Create and enter a build directory:
mkdir _build cd _build
-
Run
cmaketo configure the build:cmake .. -G Ninja -DSDL2_DIR="C:/Users/you/source/repos/SDL2-2.32.10/cmake"
where:
-
C:/Users/you/source/repos/SDL2-2.32.10/is the path to where you extracted the SDL2 VC development libraries
Optionally include other build settings as described in Build, such as:
-
-DSERIOUS_PROTON_DIR=../../SeriousProton, where../../SeriousProtonis the path to the SP repository if CMake is unable to locate it -
-DCMAKE_BUILD_TYPE=RelWithDebInfofor a build you intend to distribute, or-DCMAKE_BUILD_TYPE=Debugfor a debug build
-
-
Run
ninja EmptyEpsilonto build EmptyEpsilon.If successful, this produces an
EmptyEpsilon.exeexecutable.
To run the build against the repository's scripts and resources, you can copy it and the required SDL2.dll to the EmptyEpsilon repository's root directory and run it from there.
Copy the SDL2.dll library for your architecture (x86, x64, etc.) from the SDL2 development libraries to the EmptyEpsilon repository root.
For example, the x64 SDL2.dll library is located in SDL2-2.32.10\lib\x64 of the SDL2 2.32.10 VC development libraries ZIP archive. Copy this to the EmptyEpsilon repository root alongside EmptyEpsilon.exe.
-
Copy the EmptyEpsilon executable to the repository root.
For example, from the
_builddirectory, run:copy EmptyEpsilon.exe .. cd .. -
Run
EmptyEpsilon.exefrom the EmptyEpsilon repository root.
To package EmptyEpsilon into a ZIP file with the required libraries, scripts, and resources, run ninja package from the _build directory.
To specify a compiler version or location, use these flags in your cmake command:
-DCMAKE_C_COMPILER="C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64\cl.exe" `
-DCMAKE_CXX_COMPILER="C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64\cl.exe" `- Home
- Building and installing the game
- Configuring the game
- Playing the game
- Officer roles and screens
- Captain
- Main screen
- Ship window
- Crews of 5-6 players
- Crews of 3-4 players
- Single-player crew
- Game Master (GM) screens
- Extra screens
- Minigames
- Weapon types
- Officer roles and screens
- Extending the game
- Troubleshooting
- Fork content