diff --git a/NPLib/ressources/CMake/NPAnalysis.cmake b/NPLib/ressources/CMake/NPAnalysis.cmake
index fdc1dd9197430be1c2e8b20b8d2958a44f4cf633..3656ebe9f74ecbfda002369e52c7ac4bd8276e5c 100644
--- a/NPLib/ressources/CMake/NPAnalysis.cmake
+++ b/NPLib/ressources/CMake/NPAnalysis.cmake
@@ -25,20 +25,24 @@ link_directories( ${ROOT_LIBRARY_DIR})
 include_directories( ${NPTOOL_INCLUDE_DIR})
 link_directories( ${NPTOOL_LIB_DIR})
 
-# If the compiler is Clang, silence the unrecognised flags
-if(${CMAKE_CXX_COMPILER_ID} MATCHES ".*Clang.*")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -undefined dynamic_lookup")
+# Check for user disabling of c++11 support
+string(COMPARE EQUAL "${CPP11}" "no" nocpp11)
+if(nocpp11)
+ message(" -> C++11 support disable")
 endif()
 
+
 # If the compiler is Clang, silence the unrecognised flags
 if(${CMAKE_CXX_COMPILER_ID} MATCHES ".*Clang.*")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics -undefined dynamic_lookup")
   if( UNIX AND NOT APPLE )
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
   endif()
+  if( APPLE AND CLANG_VERSION_MAJOR VERSION_LESS 5 AND NOT nocpp11)
+     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
+  endif()
 endif()
 
-
 # Adjust the compiler language flag
 set(NOCPPFLAGS true)
 if(${CMAKE_CXX_FLAGS} MATCHES ".*std=.*11")
@@ -49,13 +53,13 @@ endif()
 
 if(NOCPPFLAGS)
   CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
-  if(COMPILER_SUPPORTS_CXX11)
+  if(COMPILER_SUPPORTS_CXX11 AND NOT nocpp11)
 	    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
   else()
     CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
   endif()
 
-  if(COMPILER_SUPPORTS_CXX0X)
+  if(COMPILER_SUPPORTS_CXX0X AND NOT nocpp11)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
   endif()
 endif()