diff --git a/CMakeLists.txt b/CMakeLists.txt
index d218a46334703f7890a9123fa6b008a1a9d9711c..9957a707970d24442c771cd6074657545225acba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,7 +20,6 @@ option(DD4HEP_USE_GEANT4  "Enable the simulation part based on Geant4"    OFF)
 option(DD4HEP_USE_GEAR    "Build gear wrapper for backward compatibility" OFF)
 option(DD4HEP_USE_LCIO    "Build lcio extensions"    OFF)
 option(BUILD_TESTING      "Enable and build tests"   ON)
-option(DD4HEP_USE_CXX11   "Build DD4hep using c++11" ON)
 option(DD4HEP_USE_CXX14   "Build DD4hep using c++14" OFF)
 option(CMAKE_MACOSX_RPATH "Build with rpath on macos" ON)
 #
diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake
index 317d5bbf8d4b12b0286550aed2f206a9d3437753..c1b8c2c31ce4420077f457319f5b9da371a3e258 100644
--- a/cmake/DD4hepBuild.cmake
+++ b/cmake/DD4hepBuild.cmake
@@ -33,25 +33,38 @@ endmacro(dd4hep_to_parent_scope)
 #
 #---------------------------------------------------------------------------------------------------
 macro(dd4hep_set_compiler_flags)
+  CHECK_CXX_COMPILER_FLAG("-std=c++14" FLAG_CXX14)
+  CHECK_CXX_COMPILER_FLAG("-std=c++11" FLAG_CXX11)
+  CHECK_CXX_COMPILER_FLAG("-ftls-model=global-dynamic" FLAG_FTLS)
+
+  if (NOT FLAG_CXX11)
+    message( FATAL_ERROR "The provided compiler does not support the C++11 standard" )
+  endif()
+
+  if (NOT FLAG_FTLS)
+    message( FATAL_ERROR "The provided compiler does not support the flag -ftls-model=global-dynamic" )
+  endif()
+
   if ( DD4HEP_USE_CXX14 )
     set ( CMAKE_CXX_FLAGS "-std=c++14 -ftls-model=global-dynamic")
     set ( DD4HEP_USE_CXX11 OFF ) 
     set ( DD4HEP_USE_STDCXX 14 )
     add_definitions(-DDD4HEP_USE_STDCXX=14)
-  elseif ( DD4HEP_USE_CXX11 )
+  else()
     set ( CMAKE_CXX_FLAGS "-std=c++11 -ftls-model=global-dynamic")
+    set ( DD4HEP_USE_CXX14 OFF )
     set ( DD4HEP_USE_STDCXX 11 )
     add_definitions(-DDD4HEP_USE_STDCXX=11)
-  else()
-    set( CMAKE_CXX_FLAGS )
   endif()
   set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated")
 
+  CHECK_CXX_COMPILER_FLAG("-fdiagnostics-color=always" FLAG_COLOR)
+  if (FLAG_COLOR)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
+  endif()
+
   if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
-    if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9)
-      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
-    endif()
   endif()
 
  if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
@@ -250,7 +263,6 @@ function( dd4hep_print_cmake_options )
   dd4hep_print ( "|                     Requires LCIO_DIR to be set                           |")
   dd4hep_print ( "|                     or LCIO in CMAKE_MODULE_PATH                          |")
   dd4hep_print ( "|  DD4HEP_USE_GEAR    Build gear wrapper for backward compatibility OFF     |")
-  dd4hep_print ( "|  DD4HEP_USE_CXX11   Build DD4hep using c++11                      OFF     |")
   dd4hep_print ( "|  DD4HEP_USE_CXX14   Build DD4hep using c++14                      OFF     |")
   dd4hep_print ( "|  BUILD_TESTING      Enable and build tests                        ON      |")
   dd4hep_print ( "|  DD4HEP_USE_PYROOT  Enable 'Detector Builders' based on PyROOT    OFF     |")