pub/sub middleware layer for an in-development 3DR SDK
Licensed under the Apache License, Version 2.0.
- cmake:
brew install cmake
on OS X, orapt-get install cmake
- fast-rtps: https://github.com/eProsima/Fast-RTPS (this must be built and installed somewhere on your system)
- clang-format: OS X:
brew install clang-format
, Linux:apt-get install clang-format-3.6
(or more recent if available)
$ git clone git@github.com:3drobotics/commkit.git
$ mkdir build-commkit
$ cd build-commkit
$ cmake ../commkit -DFASTRTPS:STRING=/path/to/installed/fast-rtps
$ make -j8
uniform code formatting is enforced via clang-format
, with formatting rules defined in .clang-format
. run make fmt
to format code, or make fmt-diff
to see which files would be formatted.
unit testing is supported via googletest, with tests defined in test/unit
, generating the test binary that be run via ./test/unit/commkit-tests
.
You can specify a subset of the tests to run with the options described here. For instance, ./test/unit/commkit-tests --gtest_filter=BasicsTest.*
runs just the tests in the BasicsTest case.
to disable testing at build time, invoke cmake with -DBUILD_TESTING=OFF
.
commkit currently relies on Fast-RTPS.
What is Fast-RTPS? It is an LGPL implementation in C++ of rtps, the pub sub system we're using. More info: