<commit_before># Install Notes

## Fully Supported Compilers ##

  * **g++** from GNU. 
  * **clang** from LLVM

  > Note: The versions of the compilers must be compatible with c++14

## Required Libraries ##

  * [BOOST](http://www.boost.org/)

## Additional Libraries ##

  * [TBB](https://www.threadingbuildingblocks.org/)

  * [lcov](https://github.com/linux-test-project/lcov)
  	To use coverage with Google Test.

## Additional Programs ##

  * [ccmake](https://cmake.org/cmake/help/v3.0/manual/ccmake.1.html)
  	To enable/disable or modify options of the cmake configuration file through the terminal.

  * [cmake-gui](https://cmake.org/cmake/help/v3.0/manual/cmake-gui.1.html)
    Graphical tool to enable/disable or modify options of the cmake configuration file.

## Installation ##

1. Create a **build** folder in the project directory

2. Change directory to the build folder and execute **cmake ..**
<commit_msg>Initial revsion of build notes<commit_after># Install Notes

## Building GrPPI

### Building the library

GrPPI is a header only library and no build process is required for the library
itself.

However, GrPPI includes CMake scripts for supporting the following actions:

* Building the sample programs.
* Building the unit tests.
* Performing coverage analysis on unit tests.
* Generating the **doxygen** based documentation.
* Installing the library in your system

To setup the build scripts we recommend that you create an out of source
directory under the root GrPPI directory:

~~~
mkdir build
cd build
~~~

Then, you may generate the scripts by just doing:

~~~
cmake ..
make
~~~

**Important Note:** Be sure to invoke make once before modifying you `CMakeCache.txt`
file. This will allow CMake to compile and setup dependent libraries (e.g.
GoogleTest).

### Building the unit tests

To build the unit tests, you need to set configuration variable
`GRPPI_UNIT_TEST_ENABLE` to `ON`. You can do so be using the CMake GUI or by
typing:

~~~
cmake .. -DGRPPI_UNIT_TEST_ENABLE=ON
~~~



### Building the sample programs



## Compilers ##

For using GrPPI you need a C++14 compliant compiler.

GrPPI has been tested with the following compilers:

  * **g++** 6.1. 
  * **clang++** 3.4.

## Required Libraries ##

Miminal support of GrPPI requires the following libraries.

  * [BOOST](http://www.boost.org/) version 1.58 or above.

## Additional Libraries ##

In order to use the **Threading Building Blocks** (TBB) back-end you need to
install the following library:

  * [TBB](https://www.threadingbuildingblocks.org/)

## Unit tests and coverage analysis

For unit testing GrPPI uses the GoogleTest framework. However you do not need to
install yourself. The framework is locally downloaded and compiled in your build
tree to ensure that the right version is used. For more details see section
(building).

If you want to run unit tests and perform coverage analysis you will need:

  * [lcov](https://github.com/linux-test-project/lcov)
    To generate gcov HTML reports.

## Installation ##

1. Create a **build** folder in the project directory

2. Change directory to the build folder and execute **cmake ..**

{'fraction_non_alphanumeric': 0.09980928162746344, 'fraction_numerical': 0.006675143038779402, 'mean_word_length': 3.9794303797468356, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 6, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7207608', 'n_tokens_mistral': 940, 'n_tokens_neox': 900, 'n_words': 387}