From f1393c23c02e66740daaa6b5177370ab46efb660 Mon Sep 17 00:00:00 2001 From: Joseph Walton-Rivers <joseph@fossgalaxy.com> Date: Sun, 19 Jun 2022 17:13:59 +0000 Subject: [PATCH] Update the development instructions. --- README.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 06238f4..5769805 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) -- GitLab