Installation Guide
Quick Start
Automatic Installation (Recommended)
# Download and run the installation script
curl -O https://raw.githubusercontent.com/Gallasko/ColumbaEngine/main/scripts/install-ColumbaEngine.sh
chmod +x install-ColumbaEngine.sh
./install-ColumbaEngine.sh
Platform-Specific Instructions
Windows
- Install MinGW-w64
- Install CMake
- Add MinGW bin folder to PATH
- Clone and build:
git clone --recursive https://github.com/Gallasko/ColumbaEngine.git cd ColumbaEngine mkdir release && cd release cmake -S ../ -B . -G "MinGW Makefiles" cmake --build . --config Release --target all
Unix/Linux
# Install dependencies
sudo apt install cmake libgl1-mesa-dev libsdl2-dev libsdl2-ttf-dev
# Clone and build
git clone --recursive https://github.com/Gallasko/ColumbaEngine.git
cd ColumbaEngine
mkdir release && cd release
cmake -S ../ -B .
cmake --build . --target all -j$(nproc)
macOS
# Install dependencies
brew install cmake sdl2 sdl2_ttf
# Clone and build
git clone --recursive https://github.com/Gallasko/ColumbaEngine.git
cd ColumbaEngine
mkdir release && cd release
cmake -S ../ -B .
cmake --build . --target all -j$(sysctl -n hw.ncpu)
Building for WebAssembly
Install Emscripten
# Clone the emsdk repo
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
# Download and install the latest SDK
./emsdk install latest
./emsdk activate latest
# Activate PATH and environment variables
source ./emsdk_env.sh
Build with Emscripten
# In your ColumbaEngine directory
mkdir build-web && cd build-web
emcmake cmake ..
emmake make -j$(nproc)
# Required flags for threading support:
# -pthread
# -sPTHREAD_POOL_SIZE=4
# -sUSE_SDL=2
# -sALLOW_MEMORY_GROWTH=1
Using ColumbaEngine in Your Project
CMake Integration
cmake_minimum_required(VERSION 3.18)
project(MyGame)
set(CMAKE_CXX_STANDARD 17)
# Find ColumbaEngine
find_package(ColumbaEngine REQUIRED)
# Create your executable
add_executable(MyGame src/main.cpp)
# Link with ColumbaEngine
target_link_libraries(MyGame PRIVATE ColumbaEngine::ColumbaEngine)
Project Structure
MyGame/
├── CMakeLists.txt
├── src/
│ ├── main.cpp
│ ├── game.h
│ └── game.cpp
├── assets/
├── build/ # Native build
└── build-web/ # Web build
Deployment
Cloudflare Pages
Files must be under 25 MiB. Use the provided _headers file for SharedArrayBuffer support.
Alternative Hosting
For larger files, consider Netlify or Firebase Hosting.
Troubleshooting
Common Issues
- CMake can't find ColumbaEngine: Specify path with
-DColumbaEngine_DIR=/path/to/cmake
- Permission denied: Use
sudo
or install to user directory - Web build fails: Ensure Emscripten is properly sourced
- SharedArrayBuffer not available: Check COOP/COEP headers are set