- Install
conan
:
pip install conan
- Install
lcov
(optional):
sudo apt install lcov
lcov
is required to generate code coverage report. The version 2.0 or greater is required. If your Linux distributive
doesn't contain the required version, download and install the required version manually. For example in Ubuntu 22.04
it can be installed as following:
wget https://launchpad.net/ubuntu/+source/lcov/2.0-4ubuntu2/+build/27959742/+files/lcov_2.0-4ubuntu2_all.deb
sudo dpkg -i lcov_2.0-4ubuntu2_all.deb
To make a build, run the following command:
./build.sh build
It installs all external dependencies to conan, creates ./build
directory, builds the AoCore components with unit
tests and coverage calculation target. It is also possible to customize the build using different cmake options:
cd build/
conan install ../conan/ --output-folder . --settings=build_type=Debug --build=missing
cmake .. -DCMAKE_TOOLCHAIN_FILE=./conan_toolchain.cmake -DWITH_TEST=ON -DCMAKE_BUILD_TYPE=Debug
Cmake options:
Option | Value | Default | Description |
---|---|---|---|
WITH_TEST |
ON , OFF |
OFF |
creates unit tests target |
WITH_COVERAGE |
ON , OFF |
OFF |
creates coverage calculation target |
WITH_DOC |
ON , OFF |
OFF |
creates documentation target |
Cmake variables:
Variable | Description |
---|---|
CMAKE_BUILD_TYPE |
Release , Debug , RelWithDebInfo , MinSizeRel |
CMAKE_INSTALL_PREFIX |
overrides default install path |
Build and run:
./build.sh test
lcov
utility shall be installed on your host to run this target. See this chapter.
Build and run:
./build.sh coverage
The overall coverage rate will be displayed at the end of the coverage target output:
...
Overall coverage rate:
lines......: 94.7% (72 of 76 lines)
functions..: 100.0% (39 of 39 functions)
Detailed coverage information can be find by viewing ./coverage/index.html
file in your browser.
doxygen
package should be installed before generation the documentations:
sudo apt install doxygen
Generate documentation:
./build.sh doc
The result documentation is located in build/doc
folder. And it can be viewed by opening build/doc/html/index.html
file in your browser.
The default install path can be overridden by setting CMAKE_INSTALL_PREFIX
variable.
Configure example:
cd build/
cmake ../ -DCMAKE_INSTALL_PREFIX=/my/location
Install:
cd build/
make install
The following tools are used for code formatting and analyzing:
Tool | Description | Configuration | Link |
---|---|---|---|
clang-format |
used for source code formatting | .clang-format | https://clang.llvm.org/docs/ClangFormat.html |
cmake-format |
used for formatting cmake files | .cmake-format | https://github.com/cheshirekow/cmake_format |
cppcheck |
used for static code analyzing | https://cppcheck.sourceforge.io/ |