-
Notifications
You must be signed in to change notification settings - Fork 9
Linux Developer Setup
If this setup does not work for you check out the unix.yml or windows.yml file for the github actions. There should always be a configuration for a successful build.
Newer versions of Ubuntu or other distributions might not need to excute all steps, since some packages might already be included.
- Git
- CMake >= 3.19
- GCC >= 11
- Clang >= 14
- Ninja
Install either clang or GCC or both.
Add Repositories and signing key.
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" | sudo tee -a /etc/apt/sources.list
sudo apt update
Install clang and additional tooling.
sudo apt install clang-15 lldb-15 lld-15 clangd-15 clang-tidy-15 clang-format-15 clang-tools-15 llvm-15-dev llvm-15-tools libomp-15-dev libc++-15-dev libc++abi-15-dev libclang-common-15-dev libclang-15-dev libclang-cpp15-dev libunwind-15-dev
Add Toolchains Repo.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test && sudo apt update
Install GCC.
sudo apt install g++-11
First add the kitware repository for the latest cmake version. To do this add the kitware signing key.
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
Then add the kitware repository itself.
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
Then install the remaining tools.
sudo apt install git cmake ninja-build
Clone the repository.
git clone git@github.com:motis-project/soro-s.git
Invoke cmake with the 'clang-release' preset for a build with clang ..
cd soro-s && cmake --preset clang-release
.. or 'gcc-release' for a build with gcc.
cd soro-s && cmake --preset gcc-release
Navigate to the build directory and build the tests for a clang build ..
cd build/clang-release && ninja
.. or a gcc build.
cd build/gcc-release && ninja
Test & Run.
./soro-test
To use the webinterface locally you need to do the following:
Build the webinterface by invoking the following in a build directory.
ninja soro-server
Start the soro-server.
./soro-server --resource_dir ../../resources
You can access the interface now on localhost:8080.