diff --git a/CMakeLists.txt b/CMakeLists.txt index 68fb1084238f48dfad10fd328a4fd27feb5534ee..7d044583bd5c9f27e9036364664eab311c896188 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,6 +95,10 @@ if(POLICY CMP0051) cmake_policy(SET CMP0051 NEW) endif() +if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) +endif() + include(cmake/OpenCVUtils.cmake) # must go before the project command diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake index 0eb68b656e59fe7ac66ce39697b8aba79c45013c..1656840441b3e4afbb1d831c00eafb112baee599 100644 --- a/cmake/OpenCVCompilerOptions.cmake +++ b/cmake/OpenCVCompilerOptions.cmake @@ -192,6 +192,7 @@ if(CMAKE_COMPILER_IS_GNUCXX) if(ENABLE_COVERAGE) set(OPENCV_EXTRA_C_FLAGS "${OPENCV_EXTRA_C_FLAGS} --coverage") set(OPENCV_EXTRA_CXX_FLAGS "${OPENCV_EXTRA_CXX_FLAGS} --coverage") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") endif() if(ENABLE_INSTRUMENTATION) diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake index 935bfc2a01c405848280f118ea6358931968d085..4c065d66f45b7d99c9680e38565dc4609c229ee8 100644 --- a/cmake/OpenCVUtils.cmake +++ b/cmake/OpenCVUtils.cmake @@ -260,6 +260,7 @@ MACRO(ocv_check_compiler_flag LANG FLAG RESULT) TRY_COMPILE(${RESULT} "${CMAKE_BINARY_DIR}" "${_fname}" + CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" # CMP0056 do this on new CMake COMPILE_DEFINITIONS "${FLAG}" OUTPUT_VARIABLE OUTPUT)