kdis
kdis copied to clipboard
DIS(IEEE 1278.1) Fully Implemented in C++. A complete open source implementation of DIS (Distributed Interactive Simulation) in C++. 1278.1 and 1278.1a are fully implemented including enumerations. I...
KDIS
Open source implementation of DIS
(Distributed Interactive Simulation) IEEE 1278.1
Contributing
I would love to see your contribution :heart:
See CONTRIBUTING guidelines
Development
Requirements
Name | Homepage | Required | Notes |
---|---|---|---|
CXX Compiler |
:heavy_check_mark: | GCC | Clang | MSVC |
|
CMake |
https://cmake.org | :heavy_check_mark: | Version >= 3.14 |
Clang Format |
https://clang.llvm.org/docs/ClangFormat.html | :x: | |
Clang Tidy |
https://clang.llvm.org/extra/clang-tidy | :x: | |
Cppcheck |
https://github.com/danmar/cppcheck | :x: | |
Cpplint |
https://github.com/cpplint/cpplint | :x: | pip install cpplint |
cmake lang |
https://github.com/cheshirekow/cmake_format | :x: | pip install cmakelang[YAML] |
Doxygen |
https://www.doxygen.nl | :x: | Documentation |
Build Options
Name | Description | Type | Default |
---|---|---|---|
DIS_VERSION |
DIS version:
|
STRING |
7 |
KDIS_USE_ENUM_DESCRIPTORS |
Enumeration descriptors. Allow enum values to be turned into their text labels. :warning: Increase the memory footprint of the library |
BOOL |
TRUE |
KDIS_BUILD_DOCS |
Build documentation | BOOL |
FALSE |
KDIS_BUILD_EXAMPLES |
Build examples | BOOL |
FALSE |
KDIS_BUILD_TESTS |
Build tests | BOOL |
FALSE |
BUILD_SHARED_LIBS |
Build shared library | BOOL |
TRUE |
Build
-
Generate project
[!NOTE] Change build options' values as needed
cmake \ -S . \ -B ./build \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DDIS_VERSION:STRING=7 \ -DKDIS_USE_ENUM_DESCRIPTORS:BOOL=TRUE \ -DBUILD_SHARED_LIBS:BOOL=TRUE \ -DBUILD_DOCS:BOOL=FALSE \ -DBUILD_EXAMPLES:BOOL=FALSE \ -DBUILD_TESTS:BOOL=FALSE
-
Build project
[!NOTE] Change value of
--config
to match value ofCMAKE_BUILD_TYPE
cmake \ --build ./build \ --config Release
Documentation
[!IMPORTANT]
KDIS_BUILD_DOCS:BOOL=TRUE
required
File index.html
available under build/docs/html
directory
More information can be found in docs/README.md
Examples
[!IMPORTANT]
KDIS_BUILD_EXAMPLES:BOOL=TRUE
required
More information can be found in examples/README.md
Scripts
More information can be found in scripts/README.md
Tests
[!IMPORTANT]
KDIS_BUILD_TESTS:BOOL=TRUE
required
[!NOTE] Change value of
--build-config
to match value ofCMAKE_BUILD_TYPE
ctest \
--verbose \
--test-dir ./build/tests \
--build-config Release
More information can be found in tests/README.md
License
This project is licensed under the BSD 2-Clause "Simplified" License
See LICENSE file for details