fix IOS framework
authorAlexander Alekhin <alexander.alekhin@itseez.com>
Fri, 8 Aug 2014 11:57:54 +0000 (15:57 +0400)
committerAlexander Alekhin <alexander.alekhin@itseez.com>
Fri, 8 Aug 2014 11:57:54 +0000 (15:57 +0400)
modules/videoio/CMakeLists.txt
modules/world/CMakeLists.txt

index f92f5ea..9490757 100644 (file)
@@ -27,7 +27,10 @@ set(videoio_srcs
     ${CMAKE_CURRENT_LIST_DIR}/src/cap_ffmpeg.cpp
     )
 
-file(GLOB videoio_ext_hdrs "include/opencv2/*.hpp" "include/opencv2/${name}/*.hpp" "include/opencv2/${name}/*.h")
+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")
 
 if(WIN32 AND NOT ARM)
   list(APPEND videoio_srcs ${CMAKE_CURRENT_LIST_DIR}/src/cap_cmu.cpp)
index 4e05188..d2f5cb1 100644 (file)
@@ -53,3 +53,26 @@ endif()
 if(BUILD_opencv_highgui)
   ocv_highgui_configure_target()
 endif()
+
+if(IOS OR APPLE)
+  set(merge_libs "")
+  macro(ios_include_3party_libs)
+    foreach(l ${ARGN})
+      add_dependencies(${the_module} ${l})
+      list(APPEND merge_libs "$<TARGET_LINKER_FILE:${l}>")
+    endforeach()
+  endmacro()
+
+  if(WITH_PNG)
+    ios_include_3party_libs(zlib libpng)
+  endif()
+
+  if(WITH_JPEG)
+    ios_include_3party_libs(libjpeg)
+  endif()
+
+  add_custom_command(TARGET ${the_module} POST_BUILD
+    COMMAND /usr/bin/libtool -static -o ${CMAKE_CURRENT_BINARY_DIR}/${the_module}_fat.a $<TARGET_LINKER_FILE:${the_module}> ${merge_libs}
+    COMMAND mv ${CMAKE_CURRENT_BINARY_DIR}/${the_module}_fat.a $<TARGET_LINKER_FILE:${the_module}>
+  )
+endif()