-
Notifications
You must be signed in to change notification settings - Fork 0
Building project
Project building process based on Cmake. Required C++ compiler with C++14 standard. At the current stage result of the build will be an executable file with a sample of comparison. After compilation and linking will be created the executable file, as project-based on CMakeLists file, it can easily be imported by IDE under Linux/Windows.
For building added bash-script 'build.sh', which starts building procedures under Linux environment. After the build complete executable can be launched via 'run.sh' where in console output will be printed result of the comparison, other information can be found at the log file. Script - 'rebuild_start.sh' will do as both 'build.sh' & 'run.sh'. The result of script execution will be stored in 'build/' folder. During execution will be created log file with general information and timestamps - which can be also used for understanding what was done recently with the executable.
Build also possible for Android platform. But to make it a real solution - can be used as library C++ or ported to Java, then the custom Android application can use this functionality for calculations based on images provided by a built-in camera or other connected devices. it has not been tested.
In case if there is a need to use a container there is a specified repo with Dockerfiles, where are included steps with the installation of required packages for building the aquamarine sources. For instance Ubuntu 20.04. To simplify Software development, such dockerfile could be fetched and based on it created a Docker image for further integration in VS code. Under Windows 10 environment could be used WSL feature.
Unit tests are created as separate subproject which use required sources from Aquamarine sources defined in separate CMake files. As for main project for the Linux platform was added script for building and execution of UTs.
Result of this execution will be shown in the output console, if at least 1 test will fail - whole test fails. Execution of this script is required before delivering any commit to master branch. Minimal coverage for Aquamarine project is 80%.