We appreciate all contributions from issues to pull requests.
For contributing, please read the contribution guide.
The releases are based on the master branch. The release-version is tagged and follows the scheme Year.Quarter.Revision.
- modern C++
- unit tests via doctest
Installation and build are tested on linux (e.g. ubuntu bionic, arch linux) and macOS. Before starting the build process please ensure all dependencies are properly installed and available to the project.
- C++17 capable compiler
- cmake (>= 3.11.0)
- doctest (for testing, pulled in as submodule)
Clone the repository with the following command:
git clone https://github.com/cstatz/torrepp.git
For the tests and the benchmarks the submodules must be cloned as well:
git submodule init
git submodule update
This will pull doctest, ... as submodules.
We strictly recommend an out-of-source build in a separate directory (here for simplicity build
)
Starting in the source directory to project is build from the commandline as follows:
mkdir build
cd build
ccmake ../ # create cache and configuration
cmake --build .
cmake --build . -- install # If package needs to be installed
ctest # Runs the tests
For maximum performance, we recommend building with gcc which results in a 15% to 20% better performance compared to clang (on linux and macOS). The provided benchmarks might be used to tune the compilation flags for your specific system and architecture.
The easiest way to set the configuration variables is by using ccmake
or pass the variables
via cmake ../ -D<VARIABLE>:<TYPE>=value
.
ENABLE_OMP
: Enable OpenMP in examples (for traversal)BUILD_TEST
: Build tests
torrepp is licensed under the new BSD (3-clause) license. cnpy is licensed under the MIT license and available at: https://github.com/rogersce/cnpy