add 'network.find_free_port' function
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