aboutsummaryrefslogtreecommitdiff
path: root/Compile.md
diff options
context:
space:
mode:
authorisaiah <isaiahjclark21@gmail.com>2026-03-01 15:07:50 -0700
committerisaiah <isaiahjclark21@gmail.com>2026-03-01 15:16:04 -0700
commita0edf193fe7c130e8bef2da8677e13e603bfdaa0 (patch)
tree343096c979d67f420ce8aec71c0359eca7629a73 /Compile.md
parent071d4f65998d617440ade95bd291e47a6a220c59 (diff)
Add CMake build system and source files for Minecraft Client
- Created Compile.md with detailed instructions for building the project using Visual Studio and CMake. - Added ClientSources.cmake to define the source files for the Minecraft Client. - Implemented CopyAssets.cmake to handle asset copying during the build process. - Introduced WorldSources.cmake to list the source files for Minecraft world functionalities.
Diffstat (limited to 'Compile.md')
-rw-r--r--Compile.md45
1 files changed, 45 insertions, 0 deletions
diff --git a/Compile.md b/Compile.md
new file mode 100644
index 00000000..6ebd198b
--- /dev/null
+++ b/Compile.md
@@ -0,0 +1,45 @@
+# Compile Instructions
+
+## Visual Studio (`.sln`)
+
+1. Open `MinecraftConsoles.sln` in Visual Studio 2012.
+2. Set `Minecraft.Client` as the Startup Project.
+3. Select configuration:
+ - `Debug` (recommended), or
+ - `Release`
+4. Select platform: `Windows64`.
+5. Build and run:
+ - `Build > Build Solution` (or `Ctrl+Shift+B`)
+ - Start debugging with `F5`.
+
+## CMake (Windows x64)
+
+Configure (use your VS Community instance explicitly):
+
+```powershell
+cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_GENERATOR_INSTANCE="C:/Program Files/Microsoft Visual Studio/2022/Community"
+```
+
+Build Debug:
+
+```powershell
+cmake --build build --config Debug --target MinecraftClient
+```
+
+Build Release:
+
+```powershell
+cmake --build build --config Release --target MinecraftClient
+```
+
+Run executable:
+
+```powershell
+cd .\build\Debug
+.\MinecraftClient.exe
+```
+
+Notes:
+- The CMake build is Windows-only and x64-only.
+- Post-build asset copy is automatic for `MinecraftClient` in CMake (Debug and Release variants).
+- The game relies on relative paths (for example `Common\Media\...`), so launching from the output directory is required.