Updates readme

This commit is contained in:
Erwin Nindl 2021-06-28 00:12:07 +02:00
parent ac3119de07
commit 4c32b8f301
1 changed files with 37 additions and 11 deletions

View File

@ -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 <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
* 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