afegit BUILDING.md
This commit is contained in:
78
BUILDING.md
Normal file
78
BUILDING.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Compilar JailDoctor's Dilemma
|
||||
|
||||
## Linux (Debian/Ubuntu)
|
||||
|
||||
Instal·la les dependències:
|
||||
|
||||
```bash
|
||||
sudo apt install cmake make g++ xxd glslang-tools glslc
|
||||
```
|
||||
|
||||
Per a SDL3, instal·la el paquet de desenvolupament si està disponible al teu repositori:
|
||||
|
||||
```bash
|
||||
sudo apt install libsdl3-dev
|
||||
```
|
||||
|
||||
Si `libsdl3-dev` no està als repos (SDL3 és recent i pot no estar a Debian stable), compila'l des del codi font:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/libsdl-org/SDL.git --branch release-3.x --depth 1
|
||||
cd SDL && cmake -B build && cmake --build build && sudo cmake --install build
|
||||
```
|
||||
|
||||
Compila el joc:
|
||||
|
||||
```bash
|
||||
cmake -B build
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Windows (MinGW via WinLibs)
|
||||
|
||||
1. Instal·la [WinLibs](https://winlibs.com/) (MinGW-w64 amb GCC)
|
||||
2. Instal·la [CMake](https://cmake.org/download/)
|
||||
3. Descarrega les [biblioteques de desenvolupament de SDL3 per a MinGW](https://github.com/libsdl-org/SDL/releases) — copia les capçaleres a `include/` i els fitxers `.a` a `lib/` de MinGW
|
||||
4. Instal·la el [Vulkan SDK](https://vulkan.lunarg.com/sdk/home) — proporciona `glslc` per a la compilació dels shaders
|
||||
|
||||
Compila el joc (des d'un terminal MinGW):
|
||||
|
||||
```bash
|
||||
cmake -B build -G "MinGW Makefiles"
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## macOS
|
||||
|
||||
Instal·la les dependències amb [Homebrew](https://brew.sh):
|
||||
|
||||
```bash
|
||||
brew install cmake sdl3 glslang
|
||||
```
|
||||
|
||||
Compila el joc:
|
||||
|
||||
```bash
|
||||
cmake -B build
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Què fa la compilació
|
||||
|
||||
`cmake --build build` ho gestiona tot en ordre:
|
||||
|
||||
1. **Compila els shaders** — regenera `postfx_vert_spv.h` / `postfx_frag_spv.h` si els fitxers `.vert` o `.frag` han canviat (requereix `glslc`)
|
||||
2. **Compila el joc** — només recompila els fitxers `.cpp` modificats
|
||||
3. **Empaqueta els recursos** — regenera `resources.pack` des de `data/` si algun asset ha canviat
|
||||
|
||||
Si `glslc` no està instal·lat, s'utilitzen les capçaleres de shaders precompilades (incloses al repositori).
|
||||
|
||||
> **Nota:** El `file(GLOB_RECURSE)` sobre `data/` s'avalua en temps de configuració de CMake. Si **afegeixes un fitxer nou** a `data/`, executa `cmake -B build` de nou perquè CMake el detecte com a dependència.
|
||||
|
||||
L'executable es genera a l'arrel del projecte: `./jaildoctors_dilemma`
|
||||
Reference in New Issue
Block a user