-
Notifications
You must be signed in to change notification settings - Fork 0
Building from Source
Chromus Master edited this page Jul 24, 2026
·
1 revision
- JDK 25
- Python 3.13 recommended
- Git
- CMake
- Ninja
- C/C++17 compiler
- platform development tools
The project uses the Gradle Wrapper 9.6.1.
./gradlew clean build \
-x verifyDoomCraftSource \
--no-configuration-cache \
--stacktraceExpected output:
build/libs/doomcraft-1.0.0.jar
A Java build is not automatically a complete distribution JAR.
The required native package must exist under:
src/main/resources/natives/<platform>/
A local JAR without the native manifest, native build ID, executable, libraries, and runtime resources cannot start LZDoom.
./gradlew verifyDoomCraftSource prepareLzDoom buildNativeThe native pipeline:
- validates the vendored LZDoom source;
- applies DoomCraft patches;
- prepares the compatible ZMusic dependency;
- configures CMake;
- builds the native engine;
- copies executables and runtime resources;
- creates
native-manifest.txt; - creates
native-build-id.txt.
For consistent diagnostics, use:
./gradlew clean build \
-x verifyDoomCraftSource \
--no-configuration-cache \
--stacktraceDo not commit:
- generated native work directories;
- local CMake build directories;
- extracted test instances;
- personal WADs;
- Minecraft logs containing private data;
- local CurseForge instance files.
Use the GitHub Actions multiplatform workflow described in:
DoomCraft does not include WADs. Use only files that you obtained legally.
Repository · Issues · License