summaryrefslogtreecommitdiff
path: root/libre/opencv/5852.patch
blob: e34dfad7e2c6547ba093216f11cc4ac9ae7bd35e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From 24dbb43c096691d0333cacf231e22f1369f8c826 Mon Sep 17 00:00:00 2001
From: Alexander Alekhin <alexander.alekhin@itseez.com>
Date: Tue, 22 Dec 2015 17:10:33 +0300
Subject: [PATCH] pkg-config: modules list contains only OpenCV modules (fixes
 #5852)

---
 cmake/OpenCVUtils.cmake | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake
index 3a23cd7..75412eb 100644
--- a/cmake/OpenCVUtils.cmake
+++ b/cmake/OpenCVUtils.cmake
@@ -806,7 +806,13 @@ macro(ocv_get_all_libs _modules _extra _3rdparty)
     else()
       set(deps "")
     endif()
-    list(INSERT ${_modules} 0 ${deps} ${m})
+    set(_rev_deps "${deps};${m}")
+    ocv_list_reverse(_rev_deps)
+    foreach (dep ${_rev_deps})
+      if(DEFINED OPENCV_MODULE_${dep}_LOCATION)
+        list(INSERT ${_modules} 0 ${dep})
+      endif()
+    endforeach()
     foreach (dep ${deps} ${OPENCV_LINKER_LIBS})
       if (NOT DEFINED OPENCV_MODULE_${dep}_LOCATION)
         if (TARGET ${dep})
@@ -832,9 +838,6 @@ macro(ocv_get_all_libs _modules _extra _3rdparty)
     endif()
   endif()
 
-  # split 3rdparty libs and modules
-  list(REMOVE_ITEM ${_modules} ${${_3rdparty}} ${${_extra}} non_empty_list)
-
   ocv_list_filterout(${_modules} "^[\$]<")
   ocv_list_filterout(${_3rdparty} "^[\$]<")
   ocv_list_filterout(${_extra} "^[\$]<")