As part of an experiment with moving the repository to development in the dev branch, I'm temporarily moving it to the main branch.
VoxelCore
Latest release
Build project in Linux
Install libraries
Install EnTT
git clone 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
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
Tip
CMake missing
LUA_INCLUDE_DIRandLUA_LIBRARIESfix: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
Arch based distros
If you use X11:
sudo pacman -S glfw-x11 glew glm libpng libvorbis openal luajit libcurl
If you use Wayland:
sudo pacman -S glfw-wayland glew glm libpng libvorbis openal luajit libcurl
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
--parallelto 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
Tip
If Homebrew fails to install
lua,luajit, oropenal-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 correctVCPKG_ROOTpath.
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