cmake: fix try_compile() with --coverage flags
authorAlexander Alekhin <alexander.alekhin@intel.com>
Thu, 23 Mar 2017 15:12:48 +0000 (18:12 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Thu, 23 Mar 2017 15:15:24 +0000 (18:15 +0300)
CMakeLists.txt
cmake/OpenCVCompilerOptions.cmake
cmake/OpenCVUtils.cmake

index 68fb108..7d04458 100644 (file)
@@ -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
index 0eb68b6..1656840 100644 (file)
@@ -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)
index 935bfc2..4c065d6 100644 (file)
@@ -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)