diff --git a/cmake/BornAgain/Compiler.cmake b/cmake/BornAgain/Compiler.cmake
index f1e892da118f8273b5c92982bba4e8a7e77995f6..8338a1484c7eee9850c4a31a89e22c07cbc32c47 100644
--- a/cmake/BornAgain/Compiler.cmake
+++ b/cmake/BornAgain/Compiler.cmake
@@ -19,19 +19,13 @@ if(CMAKE_CONFIGURATION_TYPES)
     if("Debug" IN_LIST CMAKE_CONFIGURATION_TYPES)
         message("    Debug: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
     endif()
-    if("RelWithDebInfo" IN_LIST CMAKE_CONFIGURATION_TYPES)
-        message("    RelWithDebInfo: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
-    endif()
-    if("MinSizeRel" IN_LIST CMAKE_CONFIGURATION_TYPES)
-        message("    MinSizeRel: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_MINSIZEREL}")
-    endif()
 else()
     if(CMAKE_BUILD_TYPE STREQUAL "Release")
         message("    ${CMAKE_BUILD_TYPE}: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
     elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
         message("    ${CMAKE_BUILD_TYPE}: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
-    elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
-        message("    ${CMAKE_BUILD_TYPE}: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+    else()
+        message(FATAL_ERROR "Unsupported CMAKE_BUILD_TYPE '${CMAKE_BUILD_TYPE}'")
     endif()
 endif()
 
diff --git a/cmake/BornAgain/Linux.cmake b/cmake/BornAgain/Linux.cmake
index 7dfce68b0638316f9692196002d65ce449036fe1..c9814254550f1e5b5221a8d6b6f0aceceadc3c02 100644
--- a/cmake/BornAgain/Linux.cmake
+++ b/cmake/BornAgain/Linux.cmake
@@ -10,16 +10,11 @@ else()
     message(STATUS "Found a 32bit system, not covered by our CI tests - proceed on your own risk")
 endif()
 
-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
 set(CMAKE_CXX_FLAGS_RELEASE        "-O3")
 set(CMAKE_CXX_FLAGS_DEBUG          "-g")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
-set(CMAKE_C_FLAGS_RELEASE          "-O3")
-set(CMAKE_C_FLAGS_DEBUG            "-g")
 
 string(APPEND CMAKE_CXX_FLAGS " -I${CMAKE_SOURCE_DIR}/Wrap -pipe ${BIT_ENVIRONMENT} -Wall -W -Woverloaded-virtual -Wno-unknown-pragmas -fPIC")
 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
     string(APPEND CMAKE_CXX_FLAGS " -Wno-restrict") # under g++ -std=c++20, warnings from <string>
 endif()
-string(APPEND CMAKE_C_FLAGS " -pipe ${BIT_ENVIRONMENT} -Wall -W -fPIC")
 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined")
diff --git a/cmake/BornAgain/MacOS.cmake b/cmake/BornAgain/MacOS.cmake
index 9f84cc74414cf32977eb7bb6212ac4e48bb40667..2234f14d58a46ea583b318f7f1067b7716ef65b6 100644
--- a/cmake/BornAgain/MacOS.cmake
+++ b/cmake/BornAgain/MacOS.cmake
@@ -36,24 +36,18 @@ endif()
 # `-dead_strip_dylibs` flag removes unneeded libraries [see `man ld` on OSX]
 set(DEADSTRIP_LFLAGS "-dead_strip -dead_strip_dylibs")
 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-string(APPEND CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS " -m64 ${DEADSTRIP_LFLAGS}")
 string(APPEND CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS " -m64 ${DEADSTRIP_LFLAGS}")
 string(APPEND CMAKE_CXX_FLAGS " -m64 -I${CMAKE_SOURCE_DIR}/Wrap")
-string(APPEND CMAKE_C_FLAGS " -m64")
-# string(APPEND CMAKE_C_LINK_FLAGS " -bind_at_load -m64")
 # string(APPEND CMAKE_CXX_LINK_FLAGS " -bind_at_load -m64")
 
 
 if(CMAKE_COMPILER_IS_GNUCXX)
     message(STATUS "Found GNU compiler collection")
-    execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+    execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
 
     string(APPEND CMAKE_CXX_FLAGS " -pipe -W -Wall -Woverloaded-virtual -fsigned-char -fno-common")
-    string(APPEND CMAKE_C_FLAGS " -pipe -W -Wall -fsigned-char -fno-common")
     set(CINT_CXX_DEFINITIONS "-DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__ROOT -DG__REDIRECTIO -DG__OSFDLL -DG__STD_EXCEPTION")
-    set(CINT_C_DEFINITIONS "-DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__ROOT -DG__REDIRECTIO -DG__OSFDLL -DG__STD_EXCEPTION")
 
-    string(APPEND CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS " -flat_namespace -single_module -undefined dynamic_lookup")
     string(APPEND CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS " -flat_namespace -single_module -undefined dynamic_lookup")
 
     # Select flags.
@@ -62,11 +56,6 @@ if(CMAKE_COMPILER_IS_GNUCXX)
     set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-reorder-blocks -fno-inline")
     set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline")
     set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
-    set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
-    set(CMAKE_C_FLAGS_RELEASE          "-O2")
-    set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-reorder-blocks -fno-inline")
-    set(CMAKE_C_FLAGS_DEBUGFULL        "-g3 -fno-inline")
-    set(CMAKE_C_FLAGS_PROFILE          "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
 
     #settings for cint
     set(CPPPREP "${CMAKE_CXX_COMPILER} -E -C")
@@ -76,12 +65,10 @@ if(CMAKE_COMPILER_IS_GNUCXX)
 
 elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL Clang OR ${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang)
     message(STATUS "Found LLVM compiler collection")
-    execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+    execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
 
     string(APPEND CMAKE_CXX_FLAGS " -pipe -W -Wall -Woverloaded-virtual -fsigned-char -fno-common")
-    string(APPEND CMAKE_C_FLAGS " -pipe -W -Wall -fsigned-char -fno-common")
 
-    string(APPEND CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS " -flat_namespace -single_module -undefined dynamic_lookup")
     string(APPEND CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS " -flat_namespace -single_module -undefined dynamic_lookup")
 
     # Select flags.
@@ -90,11 +77,6 @@ elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL Clang OR ${CMAKE_CXX_COMPILER_ID} STREQ
     set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-inline")
     set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline")
     set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
-    set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
-    set(CMAKE_C_FLAGS_RELEASE          "-O2")
-    set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-inline")
-    set(CMAKE_C_FLAGS_DEBUGFULL        "-g3 -fno-inline")
-    set(CMAKE_C_FLAGS_PROFILE          "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
 
     #settings for cint
     set(CPPPREP "${CMAKE_CXX_COMPILER} -E -C")
diff --git a/cmake/commons/DebugOptimization.cmake b/cmake/commons/DebugOptimization.cmake
index 330a40c87f94ae8491590f7d2deb80ec6581a161..b579b04c84db94d11dc6894242c7d819489bd1f9 100644
--- a/cmake/commons/DebugOptimization.cmake
+++ b/cmake/commons/DebugOptimization.cmake
@@ -16,15 +16,8 @@
 # license: see LICENSE
 #
 
-if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
-  string(APPEND CMAKE_C_FLAGS " -Og")
-else()
-  message(WARNING "C compiler is not GNU; debug optimization has no effect")
-endif()
-
 if(GCC)
   string(APPEND CMAKE_CXX_FLAGS " -Og")
 else()
   message(WARNING "C compiler is not GNU; debug optimization has no effect")
 endif()
-