Compiling

Compiling Quetoo from source is only recommended for developers modders. The engine builds on macOS, Linux, BSD, and Windows.


Noteworthy Dependencies

Quetoo has a few dependencies you will likely not find in Homebrew or in your package manager:

LibraryNotes
ObjectivelyObject-oriented framework for GNU C
ObjectivelyGPUObject-oriented graphics library for GNU C and SDL3
ObjectivelyMVCObject-oriented user interface library for GNU C and SDL3

Linux / BSD

Install dependencies

On recent Debian / Ubuntu / Mint:

sudo apt-get update
sudo apt-get install -y \
  build-essential autoconf automake libtool pkg-config check \
  libcurl4-openssl-dev \
  libncurses-dev \
  libopenal-dev \
  libphysfs-dev \
  libsdl3-image-dev libsdl3-ttf-dev \
  libsndfile1-dev

Clone repositories

Clone Objectively, ObjectivelyMVC, quetoo, and quetoo-data as siblings:

git clone https://github.com/jdolan/Objectively.git
git clone https://github.com/jdolan/ObjectivelyMVC.git
git clone https://github.com/jdolan/quetoo.git
git clone https://github.com/jdolan/quetoo-data.git

Build and install

for repo in Objectively ObjectivelyMVC quetoo; do
  pushd $repo
  autoreconf -i
  ./configure
  make -j$(nproc) && sudo make install
  popd
done

Link the game data into your installation:

sudo ln -s $(pwd)/quetoo-data/target /usr/local/share/quetoo

macOS — GNU Autotools

Install Homebrew, then install the required dependencies:

brew install autoconf automake check libtool pkg-config \
  libsndfile ncurses openal-soft physfs sdl3_image sdl3_ttf

Clone Objectively, ObjectivelyMVC, quetoo, and quetoo-data as siblings:

git clone https://github.com/jdolan/Objectively.git
git clone https://github.com/jdolan/ObjectivelyMVC.git
git clone https://github.com/jdolan/quetoo.git
git clone https://github.com/jdolan/quetoo-data.git

Build and install Objectively, ObjectivelyMVC, and quetoo:

for repo in Objectively ObjectivelyMVC quetoo; do
  pushd $repo
  autoreconf -i
  ./configure
  make -j$(nproc) && sudo make install
  popd
done

Link the game data into your installation:

sudo ln -s $(pwd)/quetoo-data/target /usr/local/share/quetoo

macOS — Xcode

Xcode is the recommended development environment on macOS. Install Homebrew, then install the required dependencies:

brew install autoconf automake check libtool pkg-config \
  libsndfile ncurses openal-soft physfs sdl3_image sdl3_ttf

Clone Objectively, ObjectivelyMVC, quetoo, and quetoo-data as siblings (the workspace requires this layout):

git clone https://github.com/jdolan/Objectively.git
git clone https://github.com/jdolan/ObjectivelyMVC.git
git clone https://github.com/jdolan/quetoo.git
git clone https://github.com/jdolan/quetoo-data.git

Link the game data into your installation:

sudo ln -s $(pwd)/quetoo-data/target /usr/local/share/quetoo

Open quetoo/Quetoo.xcworkspace — this workspace includes all three projects and manages their dependencies automatically. Select the Quetoo scheme and press ⌘B to build.


Windows — Visual Studio

The Visual Studio solution uses Clang-CL as its compiler and targets Windows 10 x64. Visual Studio 2019 or later is required with the Desktop development with C++ workload and the Clang compiler for Windows optional component installed.

1. Clone the repositories

Clone Objectively, ObjectivelyMVC, quetoo, and quetoo-data as siblings:

git clone https://github.com/jdolan/Objectively.git
git clone https://github.com/jdolan/ObjectivelyMVC.git
git clone https://github.com/jdolan/quetoo.git
git clone https://github.com/jdolan/quetoo-data.git

2. Set QUETOO_HOME

Run Quetoo.vs15\SET_ENV.ps1 in PowerShell to set the QUETOO_HOME environment variable to your Quetoo installation directory (the folder that will contain bin\, share\, etc.):

.\Quetoo.vs15\SET_ENV.ps1

Run Quetoo.vs15\MAKE_DATA_JUNCTION.ps1 to create a directory junction from %QUETOO_HOME%\share\default to your quetoo-data\target\default checkout:

.\Quetoo.vs15\MAKE_DATA_JUNCTION.ps1

4. Build the solution

Open Quetoo.vs15\quetoo_all.sln in Visual Studio. Select the Release | x64 configuration and build the solution (Ctrl+Shift+B).

After building, run Quetoo.vs15\COPY_DEPENDENCIES.bat to copy required DLLs into the output directory:

COPY_DEPENDENCIES.bat quetoo x64 Release