Merge pull request #13253 from alalek:fix_13201
authorAlexander Alekhin <alexander.a.alekhin@gmail.com>
Fri, 23 Nov 2018 17:02:46 +0000 (20:02 +0300)
committerGitHub <noreply@github.com>
Fri, 23 Nov 2018 17:02:46 +0000 (20:02 +0300)
* cmake: install 'legacy/constants_c.h' files

* samples: add compatibility test code

cmake/OpenCVModule.cmake
modules/imgcodecs/CMakeLists.txt
modules/videoio/CMakeLists.txt
samples/cpp/tutorial_code/compatibility/compatibility_test.cpp [new file with mode: 0644]

index 57621ce..abcc4e1 100644 (file)
@@ -779,6 +779,7 @@ macro(ocv_glob_module_sources)
        "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/hal/*.h"
        "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/utils/*.hpp"
        "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/utils/*.h"
+       "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/legacy/*.h"
   )
   file(GLOB lib_hdrs_detail
        "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/detail/*.hpp"
@@ -1011,6 +1012,8 @@ macro(_ocv_create_module)
       string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
       if(NOT hdr2 MATCHES "private" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
         install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
+      else()
+        #message("Header file will be NOT installed: ${hdr}")
       endif()
     endforeach()
   endif()
index d771224..6d21df1 100644 (file)
@@ -102,6 +102,7 @@ file(GLOB imgcodecs_ext_hdrs
      "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/*.hpp"
      "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.hpp"
      "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.h"
+     "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/legacy/*.h"
      )
 
 if(IOS)
index a7c760b..3d15fc8 100644 (file)
@@ -32,7 +32,9 @@ set(videoio_srcs
 file(GLOB videoio_ext_hdrs
     "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/*.hpp"
     "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.hpp"
-    "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.h")
+    "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.h"
+    "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/legacy/*.h"
+)
 
 # Removing WinRT API headers by default
 list(REMOVE_ITEM videoio_ext_hdrs "${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/cap_winrt.hpp")
diff --git a/samples/cpp/tutorial_code/compatibility/compatibility_test.cpp b/samples/cpp/tutorial_code/compatibility/compatibility_test.cpp
new file mode 100644 (file)
index 0000000..c556e9e
--- /dev/null
@@ -0,0 +1,19 @@
+#include <iostream>
+
+#include <opencv2/core.hpp>
+
+#include <opencv2/imgcodecs/legacy/constants_c.h>
+#include <opencv2/videoio/legacy/constants_c.h>
+#include <opencv2/photo/legacy/constants_c.h>
+#include <opencv2/video/legacy/constants_c.h>
+
+using namespace cv;
+
+int main(int /*argc*/, const char** /*argv*/)
+{
+    std::cout
+        << (int)CV_LOAD_IMAGE_GRAYSCALE
+        << (int)CV_CAP_FFMPEG
+        << std::endl;
+    return 0;
+}