Skip to content

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

  1. Install MinGW-w64
  2. Install CMake
  3. Add MinGW bin folder to PATH
  4. 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