Skip to content

nabijaczleweli/BarbersAndRebarbs

Repository files navigation

BarbersAndRebarbs TravisCI build status AppVeyorCI build status Licence

A game in C++ using SFML 2.4

Requirements

Libraries

  1. Speex, found here, via libspeex-dev APT package or mingw-w64-x86_64-speex MSYS2 pacman package is required to be installed externally
  2. DUMB, found here via libdumb1-dev APT package or mingw-w64-x86_64-dumb MSYS2 pacman package, is required to be installed externally
  3. SFML >=2.4, found here via libsfml-dev APT package or mingw-w64-x86_64-sfml MSYS2 pacman package, is required to be installed externally
  4. libcurl, found here via either of libcurl4-{gnutls,nss,openssl}-dev APT packages or libcurl-devel MSYS2 pacman package, is required to be installed externally
  5. All other dependencies are submodules, and as such must be explicitly initialised, be it by passing --recursive to git-clone or running git submodule update --init --recursive

"Externally" installed libraries need to be installed either globally or to pass ADDITIONAL_{INCLUDE,LINK}_DIR variable to GNU Make, as appropriate.

Tools

  1. Non-archaic ninja, found here via ninja-build APT package or mingw-w64-x86_64-ninja MSYS2 pacman package, must be callable
  2. =3.0 CMake, found here or via cmake package, must be callable

"Callable" tools must be either in PATH or passed in env as their uppercase names (CMAKE=$HOME/bin/cmake-3.6.9)

Library applications

  1. SFML — general graphics and window display
  2. audiere (modified) — sounds
  3. cimpoler-meta — purely informational compiler and system data
  4. cpp-localiser — localisation
  5. cpr — GitHub API interaction
  6. fmt — formatting in localisation
  7. jsonpp — game saving/loading, model (drawing) loading
  8. seed11 — true RNG seeding
  9. semver — semantic versioning comparison
  10. whereami-cpp — asset directory localisation
  11. zstd — savefile compression