VoxelCore
May 5, 2026 · View on GitHub
Latest release
Build project in Linux
Install libraries
Install EnTT
Installing last version that supports C++17.
git clone --branch v3.16.0 https://github.com/skypjack/entt.git
cd entt
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DENTT_INSTALL=ON ..
sudo make install
Warning
If you are using ALT Linux, do not use this EnTT installation method.
ALT Linux based distros
su -
apt-get install entt-devel libglfw3-devel libGLEW-devel libglm-devel libpng-devel libvorbis-devel libopenal-devel libluajit-devel libstdc++13-devel-static libcurl-devel libfreetype-devel
Debian based distros
sudo apt install libglfw3 libglfw3-dev libglew-dev libglm-dev libpng-dev libopenal-dev libluajit-5.1-dev libvorbis-dev libcurl4-openssl-dev libfreetype6-dev
Tip
CMake missing LUA_INCLUDE_DIR and LUA_LIBRARIES fix:
sudo ln -s /usr/lib/x86_64-linux-gnu/libluajit-5.1.a /usr/lib/x86_64-linux-gnu/liblua5.1.a
sudo ln -s /usr/include/luajit-2.1 /usr/include/lua
RHEL based distros
sudo dnf install glfw-devel glew-devel glm-devel libpng-devel libvorbis-devel openal-soft-devel luajit-devel libcurl-devel libfreetype-devel
Arch based distros
If you use X11:
sudo pacman -S glfw-x11 glew glm libpng libvorbis openal luajit libcurl freetype2
If you use Wayland:
sudo pacman -S glfw-wayland glew glm libpng libvorbis openal luajit libcurl freetype2
And install EnTT:
yay -S entt
Building engine with CMake
git clone --recursive https://github.com/MihailRis/VoxelCore.git
cd VoxelCore
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --parallel
Tip
Use --parallel to utilize all CPU cores during build.
Building project in macOS
Install libraries
brew install glfw3 glew glm libpng libvorbis lua luajit libcurl openal-soft skypjack/entt/entt freetype
Tip
If Homebrew fails to install lua, luajit, or openal-soft, download, compile, and install them manually.
Building engine with CMake
git clone --recursive https://github.com/MihailRis/VoxelCore.git
cd VoxelCore
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --parallel
Building in Windows
Note
Requirements: vcpkg, CMake, Git, and Visual Studio (with C++ tools).
There are two options to use vcpkg:
- If you have Visual Studio installed, the VCPKG_ROOT environment variable is often already set in the Developer Command Prompt for VS.
- Otherwise, install vcpkg manually:
cd C:\
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
Then set the VCPKG_ROOT environment variable and add it to PATH:
$env:VCPKG_ROOT = "C:\vcpkg"
$env:PATH = "$env:VCPKG_ROOT;$env:PATH"
Tip
For troubleshooting, refer to the official vcpkg documentation.
After installing vcpkg, build the project:
git clone --recursive https://github.com/MihailRis/VoxelCore.git
cd VoxelCore
cmake --preset default-vs-msvc-windows
cmake --build --preset default-vs-msvc-windows
Note
Make sure your CMakeUserPresets.json (if used) contains the correct VCPKG_ROOT path.
Building with CLion (MinGW / Ninja)
Note
Requirements: vcpkg, Git, and CLion (bundled with CMake, Ninja and MinGW toolchain).
Warning
Avoid installing tools in paths with spaces (e.g. Program Files).
This may break MinGW builds (especially windres).
Install vcpkg manually as described in the Visual Studio section.
Configure CLion
Open the project in CLion and configure CMake profile:
Settings → Build, Execution, Deployment → CMake
Reload CMake project and build the engine.
Build using Docker
Note
First, install Docker Engine: https://docs.docker.com/engine/install
On Linux
Step 1. Build Docker image
docker build -t voxel-engine .
Step 2. Build project inside container
docker run --rm -it -v "$(pwd):/project" voxel-engine bash -c "cmake -DCMAKE_BUILD_TYPE=Release -Bbuild && cmake --build build --parallel"
Step 3. Run the application (requires X11 forwarding)
docker run --rm -it \
-v "$(pwd):/project" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v "$XAUTHORITY:/home/user/.Xauthority:ro" \
-e DISPLAY="$DISPLAY" \
--network=host \
voxel-engine ./build/VoxelEngine
On Windows
Note
You need an X server like VcXsrv to display the GUI.
Step 1. Install and run VcXsrv
Launch with:
.\vcxsrv.exe :0 -multiwindow -ac
Step 2. Build Docker image
docker build -t voxel-engine .
Step 3. Build project
docker run --rm -it -v "${PWD}:/project" voxel-engine bash -c "cmake -DCMAKE_BUILD_TYPE=Release -Bbuild && cmake --build build --parallel"
Step 4. Run the application
docker run --rm -it -v "${PWD}:/project" -e DISPLAY=host.docker.internal:0.0 --network=host voxel-engine ./build/VoxelEngine