diff --git a/CMake/External/CMakeLists.txt b/CMake/External/CMakeLists.txt
index 35f291b3d68f137b2d3278d4694a20959fa83b0c..0b08bf71e76136a567bd09b44b286d809d03e43b 100644
--- a/CMake/External/CMakeLists.txt
+++ b/CMake/External/CMakeLists.txt
@@ -69,6 +69,9 @@ mark_as_superbuild(
     CMAKE_CXX_FLAGS
     CMAKE_EXE_LINKER_FLAGS
     CMAKE_SHARED_LINKER_FLAGS
+    CMAKE_CXX_STANDARD
+    CMAKE_CXX_STANDARD_REQUIRED
+    THREADS_PREFER_PTHREAD_FLAG
   ALL_PROJECTS
   )
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 841cc11e9f9081ab4f5a81fe09b7b2019517420a..d0055b8a3bcf317a80d8f4c73f7343bb522d71bf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,20 +53,9 @@ set(${PROJECT_NAME}_INSTALL_SHARE_DIR "${${PROJECT_NAME}_INSTALL_ROOT}/${${PROJE
 #-----------------------------------------------------------------------------
 # C++11 Support
 #-----------------------------------------------------------------------------
-include(CheckCXXCompilerFlag)
-CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
-CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
-if(COMPILER_SUPPORTS_CXX11)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread" CACHE STRING "compile flags" FORCE)
-elseif(COMPILER_SUPPORTS_CXX0X)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -pthread" CACHE STRING "compile flags" FORCE)
-else()
-  message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
-endif()
-
-if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++" CACHE STRING "compile flags" FORCE)
-endif()
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(THREADS_PREFER_PTHREAD_FLAG ON)
 
 #-----------------------------------------------------------------------------
 # Define External dependencies