This is obviously only activated with enable_coverage=ON.
find_program(GCOV_PATH gcov)
if(GCOV_PATH)
SET(COVERAGE_COMMAND "${GCOV_PATH}" CACHE TYPE FILEPATH FORCE)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCOVERAGE")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
set(TESH_OPTION --enable-coverage)
* @{
*/
/** @brief Kill the program in silence */
+#ifdef COVERAGE
+/* Call __gcov_flush on abort when compiling with coverage options. */
+#define xbt_abort() \
+ do { \
+ extern void __gcov_flush(void); \
+ __gcov_flush(); \
+ abort(); \
+ } while (0)
+#else
#define xbt_abort() abort()
+#endif
/**
* @brief Kill the program with an error message