]> rtime.felk.cvut.cz Git - hubacji1/psp.git/blob - README.md
Merge branch 'hotfix/0.4.2'
[hubacji1/psp.git] / README.md
1 # Parking Slot Planner
2 PSP is a C++ library with some computations for parking slot planning.
3
4 # License
5 The project is published under [GNU GPLv3][1].
6
7 [1]: ./LICENSE
8
9 # Build
10 To build the project run the following commands:
11 ```
12 mkdir build
13 cd build
14 cmake ../
15 make
16 ```
17
18 To build with ninja:
19 ```
20 mkdir build
21 cd build
22 cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ../
23 ninja -v
24 ```
25
26 # Contribute
27 Use [OneFlow][3] branching model and keep the [changelog][4].
28
29 Write [great git commit messages][5]:
30 1. Separate subject from body with a blank line.
31 2. Limit the subject line to 50 characters.
32 3. Capitalize the subject line.
33 4. Do not end the subject line with a period.
34 5. Use the imperative mood in the subject line.
35 6. Wrap the body at 72 characters.
36 7. Use the body to explain what and why vs. how.
37
38 When adding feature or hotfix, use [Test-driven development (TDD)][2]:
39 1. Add tests to `ut` folder, add methods declaration, basic structure.
40 2. Run tests (just `make` in `build` folder), check that tests *fail*.
41 3. Implement functionality.
42 4. Run tests, check that tests *pass*.
43 5. Refactor.
44
45 [2]: https://en.wikipedia.org/wiki/Test-driven_development
46 [3]: https://www.endoflineblog.com/oneflow-a-git-branching-model-and-workflow
47 [4]: ./CHANGELOG.md
48 [5]: https://chris.beams.io/posts/git-commit/
49
50 # Documentation
51 The documentation is generated by Doxygen, at least version `1.8.15` is needed.
52 Just run `doxygen` in the project root directory.