Skip to content

CryptoLib: Environment & Building

John P. Lucas edited this page Feb 3, 2022 · 26 revisions

Environment

CryptoLib is currently being developed on Ubuntu 20.04 and CentOS 8.5 64bit. Dependencies include the essential development tools, such as:

  • cmake
  • libgcrypt

Debug and testing require:

  • Python3 development
  • pycryptodome

Building

Build CryptoLib by following these steps:

Clone the CryptoLib repo. Switch to the desired branch. Currently, integration efforts are occurring in the collab_main branch.

  • cd Crypto
  • mkdir build
  • cmake ../
  • make
  • make test

Should a debug environment, or the building of encryption tests be necessary. Be sure to have installed Python3 and the required libraries above. The cmake command above can be modified as follows:

  • cmake -DDEBUG=1 -DENCTEST=1 ../

MYSQL Environment:

  • cmake -DMYSQL=1 ../

This can also be combined with ENCTEST=1 and -DDEBUG=1

Code Coverage:

  • cmake -DMYSQL=1 -DENCTEST=1 -DDEBUG=1 ../
  • make
  • make gcov

This will produce local coverage reports in /build/coverage, with the HTML results within /build/coverage/results/index.html

Cleanup:

  • make clean -- Cleans Build
  • make scrub -- Cleans Code Coverage

The two flags (DEBUG and ENCTEST) can be used simultaneously, or separately.

Clone this wiki locally