diff --git a/CMakeLists.txt b/CMakeLists.txt index 65bf002234..4678734ca3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -287,13 +287,13 @@ endif() # ---------------------------------------------------------------------------- # OpenCV compiler and linker options # ---------------------------------------------------------------------------- -include(cmake/OpenCVCompilerOptions.cmake REQUIRED) - # In case of Makefiles if the user does not setup CMAKE_BUILD_TYPE, assume it's Release: if(CMAKE_GENERATOR MATCHES "Makefiles|Ninja" AND "${CMAKE_BUILD_TYPE}" STREQUAL "") set(CMAKE_BUILD_TYPE Release) endif() +include(cmake/OpenCVCompilerOptions.cmake REQUIRED) + # ---------------------------------------------------------------------------- # Use statically or dynamically linked CRT? diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake index f592987062..0c7e8a047d 100644 --- a/cmake/OpenCVCompilerOptions.cmake +++ b/cmake/OpenCVCompilerOptions.cmake @@ -33,12 +33,15 @@ set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "") set(OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG "") macro(add_extra_compiler_option option) - ocv_check_flag_support(CXX "${option}" _varname ${ARGN}) + if(CMAKE_BUILD_TYPE) + set(CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE}) + endif() + ocv_check_flag_support(CXX "${option}" _varname "${OPENCV_EXTRA_CXX_FLAGS} ${ARGN}") if(${_varname}) set(OPENCV_EXTRA_CXX_FLAGS "${OPENCV_EXTRA_CXX_FLAGS} ${option}") endif() - ocv_check_flag_support(C "${option}" _varname ${ARGN}) + ocv_check_flag_support(C "${option}" _varname "${OPENCV_EXTRA_C_FLAGS} ${ARGN}") if(${_varname}) set(OPENCV_EXTRA_C_FLAGS "${OPENCV_EXTRA_C_FLAGS} ${option}") endif()