diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d09fbe5f02c14f36a603d8f601b7f2954cfec57a..526eda4cc689dd81216577eb28e1c1c9aed68e6d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -56,10 +56,9 @@ test:
 coverage:
   stage: coverage
   script:
-    - cd build
-    - cd CMakeFiles/ExampleTests.dir/
-    - ls -l
-    - lcov -d . -c -o coverage.info
-    - lcov -r coverage.info */build/* */tests/* */c++/* -o coverageFiltered.info
-    - lcov --list coverageFiltered.info
-  coverage: '/Total:\|\s*([0-9.]+%)\s.*$/'
+    - gcov -f -b build/*
+    - lcov --directory build --base-directory .  -c -o cov.info
+    - mkdir report1
+    - genhtml cov.info -o report
+  coverage: '/^\s*lines\S*\s*(\d+(?:\.\d+)?%)\s*/'
+