- Install
conan:
pip install conan- Install
lcov(optional):
sudo apt install lcovlcov 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.debTo make a build, run the following command:
./build.sh buildIt 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=DebugCmake 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 testlcov utility shall be installed on your host to run this target. See this chapter.
Build and run:
./build.sh coverageThe 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 doxygenGenerate documentation:
./build.sh docThe 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/locationInstall:
cd build/
make installThe 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/ |