QtFit  0.1
Native Qt library for Garmin FIT format
QtFit

Build Status Static Analysis Coverage Status GitHub Release LGPLv3 License

Requirements

  • Qt5 or Qt6

Building from Source

cmake -E make_directory <tmp-build-dir>
cmake -D CMAKE_BUILD_TYPE=Release -S <path-to-cloned-repo> -B <tmp-build-dir>
cmake --build <tmp-build-dir>
ctest --test-dir <tmp-build-dir> --verbose

Test Coverage

Similar to above, but specify ENABLE_COVERAGE=YES for cmake, which will add dependencies on gcov and LCOV.

cmake -E make_directory <tmp-build-dir>
cmake -D CMAKE_BUILD_TYPE=Release -D ENABLE_COVERAGE=YES -S <path-to-cloned-repo> -B <tmp-build-dir>
cmake --build <tmp-build-dir>
ctest --test-dir <tmp-build-dir> --verbose
cmake --build <tmp-build-dir> --target coverage coverage-html
# ls <tmp-build-dir>/test/coverage.info # Coverage summary data.
# ls <tmp-build-dir>/test/coverage/ # HTML view.

The first target (coverage) uses lcov to generate coverage.info summary. And the second target (coverage-html) used LCOV's genhtml to generate an HTML view of coverage.info.

Also available via Coveralls (or Codecov).

Documentation

Configure the same as above, but build the doc and (optionally) doc-internal targets.

cmake -E make_directory <tmp-build-dir>
cmake -S <path-to-cloned-repo> -B <tmp-build-dir>
cmake --build <tmp-build-dir> --target doc doc-internal
# ls <tmp-build-dir>/doc/public # Library end-user documentation
# ls <tmp-build-dir>/doc/internal # Internal library developer documentation

These are regularly published to Github Pages via Github Actions: