Remove old changelog
[KDIS.git] / README.md
blob4a09ec2f25d72ba4e08c42344bb51b5fa8d61443
1 # KDIS
3 [![release](https://github.com/karljj1/kdis/actions/workflows/release.yaml/badge.svg)](https://github.com/karljj1/kdis/actions/workflows/release.yaml)
4 [![codeql](https://github.com/karljj1/kdis/actions/workflows/codeql.yaml/badge.svg)](https://github.com/karljj1/kdis/actions/workflows/codeql.yaml)
6 Open source implementation of `DIS` (_Distributed Interactive Simulation_) `IEEE 1278.1`
8 ## Contributing
10 I would love to see your contribution :heart:
12 See [CONTRIBUTING](./CONTRIBUTING.md) guidelines
14 ## Development
16 ### Requirements
18 | **Name**       | **Homepage**                                   |    **Required**    | **Notes**                                                                                                         |
19 | -------------- | ---------------------------------------------- | :----------------: | ----------------------------------------------------------------------------------------------------------------- |
20 | `CXX Compiler` |                                                | :heavy_check_mark: | [`GCC`](https://gcc.gnu.org) \| [`Clang`](https://clang.llvm.org) \| [`MSVC`](https://visualstudio.microsoft.com) |
21 | `CMake`        | <https://cmake.org>                            | :heavy_check_mark: | _Version `>= 3.14`_                                                                                               |
22 | `Clang Format` | <https://clang.llvm.org/docs/ClangFormat.html> |        :x:         |
23 | `Clang Tidy`   | <https://clang.llvm.org/extra/clang-tidy>      |        :x:         |
24 | `Cppcheck`     | <https://github.com/danmar/cppcheck>           |        :x:         |
25 | `Cpplint`      | <https://github.com/cpplint/cpplint>           |        :x:         | `pip install cpplint`                                                                                             |
26 | `cmake lang`   | <https://github.com/cheshirekow/cmake_format>  |        :x:         | `pip install cmakelang[YAML]`                                                                                     |
27 | `Doxygen`      | <https://www.doxygen.nl>                       |        :x:         | Documentation                                                                                                     |
29 ### Build Options
31 | **Name**                    | **Description**                                                                                                                                      | **Type** | **Default** |
32 | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------- |
33 | `DIS_VERSION`               | `DIS` version: <br/> <ul><li>`5`<br/>_IEEE 1278.1-1995_</li><li>`6`<br/>_IEEE 1278.1A-1998_</li><li>`7`<br/>_IEEE 1278.1x-2012_</li></ul>            | `STRING` | `7`         |
34 | `KDIS_USE_ENUM_DESCRIPTORS` | Enumeration descriptors. <br/> Allow `enum` values to be turned into their text labels. <br/> :warning: Increase the memory footprint of the library | `BOOL`   | `TRUE`      |
35 | `KDIS_BUILD_DOCS`           | Build documentation                                                                                                                                  | `BOOL`   | `FALSE`     |
36 | `KDIS_BUILD_EXAMPLES`       | Build examples                                                                                                                                       | `BOOL`   | `FALSE`     |
37 | `KDIS_BUILD_TESTS`          | Build tests                                                                                                                                          | `BOOL`   | `FALSE`     |
38 | `BUILD_SHARED_LIBS`         | Build shared library                                                                                                                                 | `BOOL`   | `TRUE`      |
40 ### Build
42 1. Generate project
44     > [!NOTE]
45     > Change build options' values as needed
47     ```sh
48     cmake \
49         -S . \
50         -B ./build \
51         -DCMAKE_BUILD_TYPE:STRING=Release \
52         -DDIS_VERSION:STRING=7 \
53         -DKDIS_USE_ENUM_DESCRIPTORS:BOOL=TRUE \
54         -DBUILD_SHARED_LIBS:BOOL=TRUE \
55         -DBUILD_DOCS:BOOL=FALSE \
56         -DBUILD_EXAMPLES:BOOL=FALSE \
57         -DBUILD_TESTS:BOOL=FALSE
58     ```
60 1. Build project
62     > [!NOTE]
63     > Change value of `--config` to match value of `CMAKE_BUILD_TYPE`
65     ```sh
66     cmake \
67         --build ./build \
68         --config Release
69     ```
71 ## Documentation
73 > [!IMPORTANT]
74 > `KDIS_BUILD_DOCS:BOOL=TRUE` required
76 File `index.html` available under [`build/docs/html`](./build/docs/html) directory
78 More information can be found in [`docs/README.md`](./docs/README.md)
80 ## Examples
82 > [!IMPORTANT]
83 > `KDIS_BUILD_EXAMPLES:BOOL=TRUE` required
85 More information can be found in [`examples/README.md`](./examples/README.md)
87 ## Scripts
89 More information can be found in [`scripts/README.md`](./scripts/README.md)
91 ## Tests
93 > [!IMPORTANT]
94 > `KDIS_BUILD_TESTS:BOOL=TRUE` required
96 > [!NOTE]
97 > Change value of `--build-config` to match value of `CMAKE_BUILD_TYPE`
99 ```sh
100 ctest \
101     --verbose \
102     --test-dir ./build/tests \
103     --build-config Release
106 More information can be found in [`tests/README.md`](./tests/README.md)
108 ## License
110 This project is licensed under the [BSD 2-Clause](https://opensource.org/license/bsd-2-clause) "Simplified" License \
111 See [LICENSE](./LICENSE) file for details