protocol_buffers_definitions | ||
recordings | ||
src | ||
tests | ||
.gitignore | ||
assignment.pdf | ||
build.sh | ||
CMakeLists.txt | ||
install_deps.sh | ||
README.md |
ESRI C++ code assignment
Requirements
The requirements specification is provided in assignment.pdf
.
Design remarks
For sake of simplicity most of validation and error handling is performed during loading the input files.
Setup
Execute the bash script install_deps.sh
on a Debian GNU/Linux system to install
the required dependencies.
The protobuf dependencies are installed as Debian packages. All other dependencies are installed using the CMake FetchContent feature.
Build
Execute the bash script build.sh
to perform both build and testing steps.
The overall process is implemented using CMake. The application artifact is located
at build/src/main
.
Usage
The command-line parameters can be passed as follows:
main <input-file[s]> <json-ouput-file>
- At least one input-file and json-ouptut-file must be provided.
- Multiple input-files are supported.
Links
- Protobuf
- Json C++ library
- Catch2 unit testing framework