|
rsvs3D
0.0.0
Codes for the c++ implementation of the 3D RSVS
|
The SRCC folder contains the C++ source files used to build the executable for the 3D-RSVS software.
The files and folders inside the SRCC/ folder are:
incl: Contains the "includes" of the program, this encompasses header files (hpp) and template implementations (cpp files that need to be included).src: Contains the implementation of the software.modules: Contains git sub-modules used for managing build time dependencies of the software.makefile: The main makefile defining compilation recipes, important ones are:all: Build the complete executable with main, and test suite.distribution: Builds the executable without any test code and with optimisation level of 3.The main makefile calls on either the default linux or the default windows configuration depending on the OS:
makelinux.mk: Default configuration for building the program in linux (tested on Ubuntu 20.04).makewin.mk: Default configuration for the building the program on windows (tested on windows 10).docs: Doxygen configuration file for building the API docs for the program. See the docs/README for instructions on compiling the documentation. The compiled documentation can be found at: payoto.github.io/rsvs3d.config: Template input files for the RSVS process, each of the JSON files can be called by doing ``bin: The compiled binaries go there..d: Dependency management artifact to ensure make rebuilds objects when headers change.obj: Directory for the compiled objects (one per .cpp file in src).In order to build the fully featured executable run:
This will generate the RSVS3D executable. When developing a specific part of the program it can be desirable to build a smaller executable which only compiles parts of the program being tested. The testnew and testall recipes in the makefile fill that role:
will create the test_RSVS3D executable with debug flags.
When the RSVS3D executable has been built the --help flag can be used to return the command line flags.
Tests are handled by a custom testing framework developed for this project:
incl/test.hpp;src/test/test.cpp;cpp files they correspond to and all start with Test_.The test suite can be executed by building the program with make all and then calling ./RSVS3D --test which runs a subset of the tests. Running ./RSVS3D --test=all will run all the tests, which is very slow, and fails (at the moment).