Refactored detecting several Apple-related technologies.

Now the HAVE_* macros are set using cvconfig.h. Previously most
of them already were there, but were always undefined. One,
HAVE_COCOA, I had to add.

This also makes the CMake code more consistent; now, WITH_* variables
are always checked in cmake/*, while HAVE_* variables are checked in
modules/highgui/CMakeLists.txt.
pull/1110/head
Roman Donchenko 12 years ago
parent 4f9554eead
commit ca8b621b4f
  1. 9
      cmake/OpenCVFindLibsGUI.cmake
  2. 7
      cmake/OpenCVFindLibsGrfmt.cmake
  3. 10
      cmake/OpenCVFindLibsVideo.cmake
  4. 3
      cmake/templates/cvconfig.h.cmake
  5. 43
      modules/highgui/CMakeLists.txt

@ -65,3 +65,12 @@ if(WITH_OPENGL)
endif()
endif()
endif(WITH_OPENGL)
# --- Carbon & Cocoa ---
if(APPLE)
if(WITH_CARBON)
set(HAVE_CARBON YES)
elif(NOT IOS)
set(HAVE_COCOA YES)
endif()
endif()

@ -161,4 +161,9 @@ endif()
#cmake 2.8.2 bug - it fails to determine zlib version
if(ZLIB_FOUND)
ocv_parse_header2(ZLIB "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_VERSION)
endif()
endif()
# --- Apple ImageIO ---
if(WITH_IMAGEIO)
set(HAVE_IMAGEIO YES)
endif()

@ -228,3 +228,13 @@ if(WIN32)
list(APPEND HIGHGUI_LIBRARIES winmm)
endif()
endif(WIN32)
# --- Apple AV Foundation ---
if(WITH_AVFOUNDATION)
set(HAVE_AVFOUNDATION YES)
endif()
# --- QuickTime ---
if(WITH_QUICKTIME)
set(HAVE_QUICKTIME YES)
endif()

@ -16,6 +16,9 @@
/* Carbon windowing environment */
#cmakedefine HAVE_CARBON
/* Cocoa API */
#cmakedefine HAVE_COCOA
/* IEEE1394 capturing support */
#cmakedefine HAVE_DC1394

@ -108,16 +108,12 @@ elseif(HAVE_WIN32UI)
list(APPEND highgui_srcs src/window_w32.cpp)
elseif(HAVE_GTK)
list(APPEND highgui_srcs src/window_gtk.cpp)
elseif(APPLE)
if(WITH_CARBON)
add_definitions(-DHAVE_CARBON=1)
list(APPEND highgui_srcs src/window_carbon.cpp)
list(APPEND HIGHGUI_LIBRARIES "-framework Carbon" "-framework QuickTime")
elseif(NOT IOS)
add_definitions(-DHAVE_COCOA=1)
list(APPEND highgui_srcs src/window_cocoa.mm)
list(APPEND HIGHGUI_LIBRARIES "-framework Cocoa")
endif()
elseif(HAVE_CARBON)
list(APPEND highgui_srcs src/window_carbon.cpp)
list(APPEND HIGHGUI_LIBRARIES "-framework Carbon" "-framework QuickTime")
elseif(HAVE_COCOA)
list(APPEND highgui_srcs src/window_cocoa.mm)
list(APPEND HIGHGUI_LIBRARIES "-framework Cocoa")
endif()
if(WIN32 AND NOT ARM)
@ -210,26 +206,21 @@ if(HAVE_GIGE_API)
list(APPEND highgui_srcs src/cap_giganetix.cpp)
endif(HAVE_GIGE_API)
if(WITH_IMAGEIO)
add_definitions(-DHAVE_IMAGEIO=1)
if(IOS)
list(APPEND HIGHGUI_LIBRARIES "-framework ImageIO")
endif()
endif(WITH_IMAGEIO)
if(HAVE_IMAGEIO AND IOS)
list(APPEND HIGHGUI_LIBRARIES "-framework ImageIO")
endif()
if(WITH_AVFOUNDATION)
add_definitions(-DHAVE_AVFOUNDATION=1)
if(HAVE_AVFOUNDATION)
list(APPEND highgui_srcs src/cap_avfoundation.mm)
list(APPEND HIGHGUI_LIBRARIES "-framework AVFoundation" "-framework QuartzCore")
endif()
if(HAVE_QUICKTIME)
list(APPEND highgui_srcs src/cap_qt.cpp)
list(APPEND HIGHGUI_LIBRARIES "-framework Carbon" "-framework QuickTime" "-framework CoreFoundation" "-framework QuartzCore")
elseif(APPLE)
add_definitions(-DHAVE_QUICKTIME=1)
if(WITH_QUICKTIME)
list(APPEND highgui_srcs src/cap_qt.cpp)
list(APPEND HIGHGUI_LIBRARIES "-framework Carbon" "-framework QuickTime" "-framework CoreFoundation" "-framework QuartzCore")
else()
list(APPEND highgui_srcs src/cap_qtkit.mm)
list(APPEND HIGHGUI_LIBRARIES "-framework QTKit" "-framework QuartzCore" "-framework AppKit")
endif()
list(APPEND highgui_srcs src/cap_qtkit.mm)
list(APPEND HIGHGUI_LIBRARIES "-framework QTKit" "-framework QuartzCore" "-framework AppKit")
endif()
if(IOS)

Loading…
Cancel
Save