Updates readme
This commit is contained in:
parent
ac3119de07
commit
4c32b8f301
42
README.md
42
README.md
@ -1,23 +1,49 @@
|
|||||||
# ESRI C++ code assignment
|
# 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
|
## Setup
|
||||||
|
|
||||||
```
|
Execute the bash script `install_deps.sh` on a Debian GNU/Linux system to install
|
||||||
aptitude install protobuf-compiler libprotobuf-c-dev ##libprotoc-dev
|
the required dependencies.
|
||||||
```
|
|
||||||
|
The protobuf dependencies are installed as Debian packages. All other dependencies
|
||||||
|
are installed using the CMake FetchContent feature.
|
||||||
|
|
||||||
## Build
|
## 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
|
main <input-file[s]> <json-ouput-file>
|
||||||
cd build
|
|
||||||
cmake ..
|
|
||||||
make
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* At least one *input-file* and *json-ouptut-file* must be provided.
|
||||||
|
* Multiple *input-files* are supported.
|
||||||
|
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
* Protobuf
|
||||||
* https://developers.google.com/protocol-buffers/docs/cpptutorial
|
* https://developers.google.com/protocol-buffers/docs/cpptutorial
|
||||||
* https://github.com/protocolbuffers/protobuf/tree/master/examples
|
* https://github.com/protocolbuffers/protobuf/tree/master/examples
|
||||||
* https://cmake.org/cmake/help/latest/module/FindProtobuf.html
|
* 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
|
||||||
|
Loading…
Reference in New Issue
Block a user