diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0a6119fa20eb6dae3c1e75221d6dae2c4ed3d6f9..a23dcd871b3fd436b422a8630ef201750ea92e35 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -145,8 +145,14 @@ endif()
 #
 # Perform build type specific configuration.
 #
-set (CMAKE_C_FLAGS_DEBUG "-ggdb -O0 -fexceptions -funwind-tables")
-set (CMAKE_C_FLAGS_RELWITHDEBUGINFO "-ggdb -O2 -fexceptions -funwind-tables -DNDEBUG -DNVALGRIND")
+if (CMAKE_COMPILER_IS_GNUCC)
+    set (CC_DEBUG_OPT "-ggdb")
+else()
+    set (CC_DEBUG_OPT "-g")
+endif()
+
+set (CMAKE_C_FLAGS_DEBUG "${CC_DEBUG_OPT} -O0 -fexceptions -funwind-tables")
+set (CMAKE_C_FLAGS_RELWITHDEBUGINFO "${CC_DEBUG_OPT} -O2 -fexceptions -funwind-tables -DNDEBUG -DNVALGRIND")
 set (CMAKE_C_FLAGS_RELEASE "-DNDEBUG -DNVALGRIND")
 
 #