From 4c32b8f301c22f23335daf1d2094a6c0eddd79ac Mon Sep 17 00:00:00 2001 From: Erwin Nindl Date: Mon, 28 Jun 2021 00:12:07 +0200 Subject: [PATCH] Updates readme --- README.md | 48 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 4c56a2d..eecc425 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,49 @@ # 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 -``` -aptitude install protobuf-compiler libprotobuf-c-dev ##libprotoc-dev -``` +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: ``` -mkdir build -cd build -cmake .. -make +main ``` +* At least one *input-file* and *json-ouptut-file* must be provided. +* Multiple *input-files* are supported. + ## Links -* https://developers.google.com/protocol-buffers/docs/cpptutorial -* https://github.com/protocolbuffers/protobuf/tree/master/examples -* https://cmake.org/cmake/help/latest/module/FindProtobuf.html - +* Protobuf + * https://developers.google.com/protocol-buffers/docs/cpptutorial + * https://github.com/protocolbuffers/protobuf/tree/master/examples + * https://cmake.org/cmake/help/latest/module/FindProtobuf.html +* Json C++ library + * https://github.com/nlohmann/json +* Catch2 unit testing framework + * https://github.com/catchorg/Catch2