Depending on the OS you will need different tools for compiling, see individual sections below.
But common dependencies are:
- CMake
- python
- git
first clone repo and submodules:
git clone --recurse-submodules -j8 https://github.com/robinwils/wato.git
# or ssh
git clone --recurse-submodules -j8 git@github.com:robinwils/wato.gitThen fetch assets with Git LFS (install git lfs first):
git lfs pullInstall PyYAML, requests and generate fonts
pip install PyYAML requests
# execute script in subdir
cd deps/iconfontcppheaders
python GenerateIconFontCppHeaders.py --ttf2headerC
Most dependencies are handled through vcpkg, but you still need:
- MSVC compiler (Visual Studio Build Tools)
- Ninja
- Add
/Zc:__cplusplusin Configuration Properties > C/C++ > Command Line - Use the same config for Runtime Library in Configuration Properties > C/C++ > Code Generation > Runtime Library
- Link libraries:
glfw3.lib or glfw3_mt.lib
bgfxDebug.lib
bxDebug.lib
bimgDebug.lib
- GLFW
- lib X11
- lib vulkan
- lib sodium
Filter unwanted (already installed or installed through another method) from:
apt-get install -y \
zip \
unzip \
curl \
ca-certificates \
build-essential \
ninja-build \
pkg-config \
libgl1-mesa-dev \
libglu1-mesa-dev \
libxinerama-dev \
libxcursor-dev \
xorg-dev \
libx11-dev \
libwayland-dev \
libxkbcommon-dev \
wayland-protocols \
libsodium-devBuild is done using cmake with presets:
cmake --preset unixlike-clang-debug-sccache
cmake --build --preset unixlike-clang-debug-sccache -j $(nproc)Shaders are compiled as headers using bgfx tools through CMake.
Experimental setup to test windows builds locally. Github Actions is used otherwise as a windows compilation check
Careful with firewalls, disable before vagrant up
apt install nfs-kernel-server rpcbind
vagrant plugin install vagrant-libvirt
vagrant plugin install winrm
vagrant plugin install winrm-fs
vagrant plugin install winrm-elevated (this additional error showed after the first two were installed)