diff --git a/.gitlab-ci.d/init_x86_64.sh b/.gitlab-ci.d/init_x86_64.sh
index 5e5a961b10b9f879970aa21f1c68db5674103a91..cc63e4549237e4598f5dee4f31346621b28a3956 100644
--- a/.gitlab-ci.d/init_x86_64.sh
+++ b/.gitlab-ci.d/init_x86_64.sh
@@ -100,5 +100,9 @@ export LD_LIBRARY_PATH="$LCIO/lib:$LD_LIBRARY_PATH"
 export BOOST_ROOT=${CLICREPO}/software/Boost/1.61.0/${BUILD_FLAVOUR}
 export LD_LIBRARY_PATH="${BOOST_ROOT}/lib:$LD_LIBRARY_PATH"
 
+#--------------------------------------------------------------------------------
+#     Ninja
+#--------------------------------------------------------------------------------
 
-
+export Ninja_HOME=${CLICREPO}/software/Ninja/1.7.1/${BUILD_FLAVOUR}
+export PATH="$Ninja_HOME:$PATH"
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 42a962d5915edbed493fc6a87e64b3a3a914848e..c6c64bcbfecbff897f11d6c727bb333d37082b2a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,18 +8,18 @@ slc6-gcc48:
     - source .gitlab-ci.d/init_x86_64.sh
     - mkdir build 
     - cd build
-    - cmake -D DD4HEP_USE_GEANT4=ON -D DD4HEP_USE_BOOST=ON -DBoost_NO_BOOST_CMAKE=ON -D DD4HEP_USE_LCIO=ON -D BUILD_TESTING=ON -DCLHEP_DIR=$CLHEP -D Geant4_DIR=$G4INSTALL/lib64/Geant4-10.1.3 -D DD4HEP_USE_CXX11=ON ..        
-    - make -j4
-    - make install
+    - cmake -GNinja -D DD4HEP_USE_GEANT4=ON -D DD4HEP_USE_BOOST=ON -DBoost_NO_BOOST_CMAKE=ON -D DD4HEP_USE_LCIO=ON -D BUILD_TESTING=ON -DCLHEP_DIR=$CLHEP -D Geant4_DIR=$G4INSTALL/lib64/Geant4-10.1.3 -D DD4HEP_USE_CXX11=ON ..        
+    - ninja
+    - ninja install
     - . ../bin/thisdd4hep.sh
-    - make test
+    - ctest --output-on-failure
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake ..
-    - make -j4
-    - make install
-    - make test
+    - cmake -GNinja ..
+    - ninja
+    - ninja install
+    - ctest --output-on-failure
     - cd ../..
     - rm -rf .git
     - sshpass -p $CLICTEL_PASS rsync -arv -e ssh --delete . clictel@lxplus:/afs/cern.ch/eng/clic/software/DD4hep/x86_64-slc6-gcc48-opt
@@ -34,18 +34,18 @@ slc6-gcc49:
     - source .gitlab-ci.d/init_x86_64.sh
     - mkdir build 
     - cd build
-    - cmake -D DD4HEP_USE_GEANT4=ON -D DD4HEP_USE_BOOST=ON -DBoost_NO_BOOST_CMAKE=ON -D DD4HEP_USE_LCIO=ON -D BUILD_TESTING=ON -DCLHEP_DIR=$CLHEP -D Geant4_DIR=$G4INSTALL/lib64/Geant4-10.1.3 -D DD4HEP_USE_CXX11=ON ..        
-    - make -j3
-    - make install
+    - cmake -GNinja -D DD4HEP_USE_GEANT4=ON -D DD4HEP_USE_BOOST=ON -DBoost_NO_BOOST_CMAKE=ON -D DD4HEP_USE_LCIO=ON -D BUILD_TESTING=ON -DCLHEP_DIR=$CLHEP -D Geant4_DIR=$G4INSTALL/lib64/Geant4-10.1.3 -D DD4HEP_USE_CXX11=ON ..        
+    - ninja
+    - ninja install
     - . ../bin/thisdd4hep.sh
-    - make test
+    - ctest --output-on-failure
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake ..
-    - make -j4
-    - make install
-    - make test
+    - cmake -GNinja ..
+    - ninja
+    - ninja install
+    - ctest --output-on-failure
     - cd ../..
     - rm -rf .git
     - sshpass -p $CLICTEL_PASS rsync -arv -e ssh --delete . clictel@lxplus:/afs/cern.ch/eng/clic/software/DD4hep/x86_64-slc6-gcc49-opt
@@ -60,18 +60,18 @@ centos7-gcc49:
     - source .gitlab-ci.d/init_x86_64.sh
     - mkdir build 
     - cd build
-    - cmake -D DD4HEP_USE_GEANT4=ON -D DD4HEP_USE_BOOST=ON -DBoost_NO_BOOST_CMAKE=ON -D DD4HEP_USE_LCIO=ON -D BUILD_TESTING=ON -DCLHEP_DIR=$CLHEP -D Geant4_DIR=$G4INSTALL/lib64/Geant4-10.1.3 -D DD4HEP_USE_CXX11=ON ..        
-    - make -j3
-    - make install
+    - cmake -GNinja -D DD4HEP_USE_GEANT4=ON -D DD4HEP_USE_BOOST=ON -DBoost_NO_BOOST_CMAKE=ON -D DD4HEP_USE_LCIO=ON -D BUILD_TESTING=ON -DCLHEP_DIR=$CLHEP -D Geant4_DIR=$G4INSTALL/lib64/Geant4-10.1.3 -D DD4HEP_USE_CXX11=ON ..        
+    - ninja
+    - ninja install
     - . ../bin/thisdd4hep.sh
-    - make test
+    - ctest --output-on-failure
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake ..
-    - make -j4
-    - make install
-    - make test
+    - cmake -GNinja ..
+    - ninja
+    - ninja install
+    - ctest --output-on-failure
     - cd ../..
     - rm -rf .git
     - sshpass -p $CLICTEL_PASS rsync -arv -e ssh --delete . clictel@lxplus:/afs/cern.ch/eng/clic/software/DD4hep/x86_64-centos7-gcc49-opt
diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake
index 1246462c527610165d7f902c59ba5004edaccda7..bd9830f725a335324195914d41655c8741542073 100644
--- a/cmake/DD4hepBuild.cmake
+++ b/cmake/DD4hepBuild.cmake
@@ -26,18 +26,23 @@ endmacro(dd4hep_to_parent_scope)
 macro(dd4hep_set_compiler_flags)
   if ( DD4HEP_USE_CXX14 )
     set ( CMAKE_CXX_FLAGS "-std=c++14 -ftls-model=global-dynamic -Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated")
-    ##set ( CMAKE_CXX_FLAGS "-std=c++14 -Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated")
     set ( DD4HEP_USE_CXX11 OFF ) 
     set ( DD4HEP_USE_STDCXX 14 )
     add_definitions(-DDD4HEP_USE_STDCXX=14)
   elseif ( DD4HEP_USE_CXX11 )
     set ( CMAKE_CXX_FLAGS "-std=c++11 -ftls-model=global-dynamic -Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated")
-    ##set ( CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated")
     set ( DD4HEP_USE_STDCXX 11 )
     add_definitions(-DDD4HEP_USE_STDCXX=11)
   else()
     set( CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated")
   endif()
+
+  if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+    if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8)
+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
+    endif()
+  endif()
+
 endmacro(dd4hep_set_compiler_flags)
 #---------------------------------------------------------------------------------------------------
 #  dd4hep_debug