Merge pull request #16619 from alalek:cmake_custom_cxx_standard_master

* cmake: allow customization of CMAKE_CXX_STANDARD value

* cmake: extra skip flag OPENCV_SKIP_CMAKE_CXX_STANDARD

* cmake: dump CMAKE_CXX_STANDARD value

- compiler option is missing in dumped flags
pull/16627/head
Alexander Alekhin 5 years ago committed by GitHub
parent dae1fc8889
commit 77dd40c96c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      CMakeLists.txt
  2. 12
      cmake/OpenCVDetectCXXCompiler.cmake

@ -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})

@ -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")

Loading…
Cancel
Save