diff --git a/README.md b/README.md index 06238f4c3fdf7ca3df85fa2e2493d691009a47c1..5769805f61f00c8bd93367747e436d97644962e5 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,15 @@ A library for building FOSS Games, Educational Resources and Academic Experiment ## Development Instructions +### Installing dependenecies +FGGL depends on a few dependencies to work correctly. + +On Ubuntu: +```bash +sudo apt install build-essential cmake +sudo apt install -y libglm-dev libglfw3-dev libopenal-dev libspdlog-dev libfreetype-dev libyaml-cpp-dev libassimp-dev libbullet-dev +``` + ### Building It's designed to be a fairly standard cmake project, so the standard cmake steps should work: @@ -18,7 +27,26 @@ project that will build the project and run the demo project in gdb. Most of the dependencies should be downloaded automatically. If you're on X don't use glfw from the Fedora repos, it won't work (it's configured for Wayland). The version the project builds should work. -### Useful Tools +### Deploying +The library is designed to be used as a shared library, as it is licenced in the LGPL. You can generate the shared library, header files and assoicated cmake files using the following command: + +```bash +cmake --install build --prefix /tmp/fggl-lib +``` + +This will place the files in /tmp/fggl-lib, you can adjust this to suit your needs. + +You can then include the library in your application using cmake, eg: + +```bash +find_package(spdlog REQUIRED) +target_link_libraries(game spdlog::spdlog) + +find_package( fggl REQUIRED PATHS /tmp/fggl-lib ) +target_link_libraries(game fggl::fggl) +``` + +## Useful Tools The following tools are helpful for development: * Valgrind (see the ways in which memory is messed up)