From b86951ef48d89f31c511bbbda960413f2effcf68 Mon Sep 17 00:00:00 2001
From: Soeren Peters <peters@irmb.tu-bs.de>
Date: Sat, 20 May 2023 13:44:43 +0000
Subject: [PATCH] Use G++11 for gcovr.

---
 .gitlab-ci.yml                        | 9 +++++----
 CMake/compilerflags/GNU.cmake         | 8 ++++----
 CMakeLists.txt                        | 1 -
 src/basics/config/ConfigurationFile.h | 2 +-
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 974147548..0afe32479 100755
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -509,7 +509,7 @@ lizard:
 
 ###############################################################################
 # code coverage
-gcov_gcc_12:
+gcov_gcc_11:
   stage: analyze
 
   extends: .analyze_template
@@ -518,14 +518,15 @@ gcov_gcc_12:
 
   before_script:
     - gcovr --version
+    - export CC=/usr/bin/gcc-11
+    - export CXX=/usr/bin/g++-11
 
   script:
-    - mkdir -p $CI_PROJECT_DIR/build
+    - mkdir -p $CI_PROJECT_DIR/builda
     - cd $CI_PROJECT_DIR/build
     - cmake ..
       --preset=make_all
-      -DCMAKE_CUDA_ARCHITECTURES=60
-      -DBUILD_VF_COVERAGE=ON
+      -DCMAKE_BUILD_TYPE=PROFILE
     - make -j4
     - ctest
     - cd ..
diff --git a/CMake/compilerflags/GNU.cmake b/CMake/compilerflags/GNU.cmake
index 8d54b52a4..cf77b2228 100644
--- a/CMake/compilerflags/GNU.cmake
+++ b/CMake/compilerflags/GNU.cmake
@@ -17,10 +17,10 @@ if(NOT BUILD_VF_INCLUDE_WHAT_YOU_USE) # optimization flag '-funroll-all-loops' i
 endif()
 
 # gcov
-if (BUILD_VF_COVERAGE)
-    list(APPEND CS_COMPILER_FLAGS_CXX "--coverage")
-    set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} " --coverage")
-endif()
+# According to https://gcovr.com/en/stable/cookbook.html#out-of-source-builds-with-cmake
+# This flags are used if cmake is called with -DCMAKE_BUILD_TYPE=PROFILE
+set(CMAKE_C_FLAGS_PROFILE --coverage)
+set(CMAKE_CXX_FLAGS_PROFILE --coverage)
 
 #############################################################################################################
 # warnings
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e7f62a5ba..8822b504a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,7 +58,6 @@ option(BUILD_VF_UNIT_TESTS "Build VirtualFluids unit tests" OFF)
 option(BUILD_VF_CLANG_TIDY "Add the clang tidy checks to the targets" OFF)
 option(BUILD_VF_INCLUDE_WHAT_YOU_USE "Add IWYU to the targets" OFF)
 option(BUILD_VF_CPPCHECK "Add cppcheck to the targets" OFF)
-option(BUILD_VF_COVERAGE "Add the -coverage compiler flag." OFF)
 
 option(BUILD_CUDA_LTO "Enables the cuda link optimization." OFF)
 
diff --git a/src/basics/config/ConfigurationFile.h b/src/basics/config/ConfigurationFile.h
index ecdebf049..6c651b703 100644
--- a/src/basics/config/ConfigurationFile.h
+++ b/src/basics/config/ConfigurationFile.h
@@ -10,7 +10,7 @@
 #include <string>
 #include <fstream>
 #include <iostream>
-#include <stdlib.h>
+#include <cstdlib>
 
 #include <basics/utilities/UbException.h>
 
-- 
GitLab