|
| 1 | +# GlowingBroccoli: Snake Game |
| 2 | +Projektmanagement & Software Engineering |
| 3 | +OST FHO Rapperswil Herbstsemester 2020 |
| 4 | + |
| 5 | +## Documentation |
| 6 | + |
| 7 | +Documentation (in german) can be found under `doc/` in the project directory. It |
| 8 | +contains a Software Requirements Specifications `doc/srs/build/srs.pdf` and a |
| 9 | +Project Plan `doc/plan/build/plan.pdf`. For Doxygen there is a Doxyfile under |
| 10 | +`doc/doxygen/Doxyfile` which builds a reference in `doc/doxygen/html`. |
| 11 | + |
| 12 | +## How to build |
| 13 | + |
| 14 | +Dependencies: |
| 15 | + |
| 16 | +- C++ compiler |
| 17 | +- Qt >= 5.1 (ex. with QtCreator or just qmake) |
| 18 | +- Doxygen |
| 19 | +- LaTeX (documentation) |
| 20 | + |
| 21 | +### On Linux |
| 22 | + |
| 23 | +For ubuntu-based distributions the following packages should satisfy the minimum |
| 24 | +requirements to build the project. Optionally `qtcreator` can also be installed. |
| 25 | +``` |
| 26 | +$ sudo apt install clang qt5base-dev qt5-qmake make graphviz doxygen |
| 27 | +``` |
| 28 | +Clone the project *with submodules*: |
| 29 | +``` |
| 30 | +$ git clone --recursive https://github.com/NaoPross/GlowingBroccoli.git |
| 31 | +``` |
| 32 | +Then to build the CI script can be used: |
| 33 | +``` |
| 34 | +/proj/dir $ ./ci/build.sh # builds project, runs unit-tests and builds doxygen |
| 35 | +``` |
| 36 | +Or if one prefers, manually: |
| 37 | +``` |
| 38 | +/proj/dir $ mkdir build && cd build |
| 39 | +/proj/dir/build $ qmake ../GlowingBroccoli.pro |
| 40 | +/proj/dir/build $ make -j4 |
| 41 | +/proj/dir/build $ ./GlowingBroccoli # launch program |
| 42 | +``` |
| 43 | +then similarly the Unit-Tests: |
| 44 | +``` |
| 45 | +/proj/dir $ git submodule update --init # in case you didn't clone with --recursive |
| 46 | +/proj/dir $ mkdir build-tests && cd build-tests |
| 47 | +/proj/dir/build-tests $ qmake ../test/GlowingBroccoliTest.pro |
| 48 | +/proj/dir/build-tests $ make -j4 |
| 49 | +/proj/dir/build-tests $ ./GlowingBroccoliTest # run test suite |
| 50 | +``` |
| 51 | +finally Doxygen |
| 52 | +``` |
| 53 | +/proj/dir $ doxygen doc/doxygen/Doxyfile |
| 54 | +``` |
| 55 | + |
| 56 | +### On Windows / MacOS |
| 57 | + |
| 58 | +Install Qt and QtCreator (OpenSource Edition) from |
| 59 | +https://www.qt.io/product/development-tools |
| 60 | +Then launch QtCreator and load `proj/dir/GlowingBroccoli.pro`, the main |
| 61 | +project, and `proj/dir/test/GlowingBroccoliTest.pro` for the Unit-Tests. |
0 commit comments