# Critical Application Monitoring (CAM) The Critical Application Monitoring (CAM) project implements a solution for monitoring applications using a service running on a higher safety level system. The approach aims to take advantage of running heavy workloads in high-performance cores whilst adding an extra layer of safety by monitoring such applications via a higher safety subsystem. ## Building CAM To build __cam__, the following dependencies are required: - CMake (3.16 or later) - GCC (9.4 or later) - Python (3.8.10 or later) - Pip (20.0 or later) - uuid-dev (2.34 or later) - pkg-config (0.29.1 or later) - CUnit (2.1.3 or later) In addition, the following dependencies are optional: - Python virtual environment (3.8.2 or later). - Doxygen (1.8.17 or later): Generate API documentation from source code. - Sphinx (6.1.3 or later): Build the project documentation. - Git version control system. Create a Python virtual environment then install the Python dependencies: $ python3 -m venv venv $ source venv/bin/activate $ pip install -r requirements.txt Create a build directory and run cmake: $ mkdir build $ cd build $ cmake ../ Build and install: $ make $ cmake --install . --prefix Which will copy everything to: * `/lib` * `/bin` * `/include` * `/share/doc` ## Documentation The project documentation is based on Sphinx. It is generated after building. To explore this documentation, simply open `/share/doc/CAM/cam-doc/index.html` in a web browser.