diff --git a/CMakeLists.txt b/CMakeLists.txt index 69a130169a..a967c56c00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1049,6 +1049,9 @@ string(STRIP "${OPENCV_COMPILER_STR}" OPENCV_COMPILER_STR) status("") status(" C/C++:") status(" Built as dynamic libs?:" BUILD_SHARED_LIBS THEN YES ELSE NO) +if(DEFINED CMAKE_CXX_STANDARD AND CMAKE_CXX_STANDARD) + status(" C++ standard:" "${CMAKE_CXX_STANDARD}") +endif() status(" C++ Compiler:" ${OPENCV_COMPILER_STR}) status(" C++ flags (Release):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}) status(" C++ flags (Debug):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}) diff --git a/cmake/OpenCVDetectCXXCompiler.cmake b/cmake/OpenCVDetectCXXCompiler.cmake index 6690bcc1ec..cea12ad9c3 100644 --- a/cmake/OpenCVDetectCXXCompiler.cmake +++ b/cmake/OpenCVDetectCXXCompiler.cmake @@ -192,11 +192,13 @@ if(CMAKE_VERSION VERSION_LESS "3.1") endforeach() endif() -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED TRUE) -set(CMAKE_CXX_EXTENSIONS OFF) # use -std=c++11 instead of -std=gnu++11 -if(CMAKE_CXX11_COMPILE_FEATURES) - set(HAVE_CXX11 ON) +if(NOT OPENCV_SKIP_CMAKE_CXX_STANDARD) + ocv_update(CMAKE_CXX_STANDARD 11) + ocv_update(CMAKE_CXX_STANDARD_REQUIRED TRUE) + ocv_update(CMAKE_CXX_EXTENSIONS OFF) # use -std=c++11 instead of -std=gnu++11 + if(CMAKE_CXX11_COMPILE_FEATURES) + set(HAVE_CXX11 ON) + endif() endif() if(NOT HAVE_CXX11) ocv_check_compiler_flag(CXX "" HAVE_CXX11 "${OpenCV_SOURCE_DIR}/cmake/checks/cxx11.cpp")