dc1394_windows.patch

DC1394 2.x support on Windows - Philippe FOUBERT, 2012-05-21 06:49 pm

Download (4.1 kB)

 
opencv/cmake/OpenCVUtils.cmake (working copy)
366 366
                   ${LIBNAME}_VERSION_STRING)
367 367
  endif()
368 368
endmacro()
369

  
370
# read single version info from the pkg file
371
macro(ocv_parse_pkg LIBNAME PKG_PATH SCOPE)
372
  if(EXISTS "${PKG_PATH}/${LIBNAME}.pc")
373
    file(STRINGS "${PKG_PATH}/${LIBNAME}.pc" line_to_parse REGEX "^Version:[ \t]+[0-9.]*.*$" LIMIT_COUNT 1)
374
    STRING(REGEX REPLACE ".*Version: ([^ ]+).*" "\\1" ALIASOF_${LIBNAME}_VERSION "${line_to_parse}" )
375
  endif()
376
endmacro()
opencv/CMakeLists.txt (working copy)
107 107

  
108 108
# Optional 3rd party components
109 109
# ===================================================
110
OCV_OPTION(WITH_1394           "Include IEEE1394 support"                    ON   IF (UNIX AND NOT ANDROID AND NOT IOS) )
110
OCV_OPTION(WITH_1394           "Include IEEE1394 support"                    ON   IF (NOT ANDROID AND NOT IOS) )
111 111
OCV_OPTION(WITH_AVFOUNDATION   "Use AVFoundation for Video I/O"              ON   IF IOS)
112 112
OCV_OPTION(WITH_CARBON         "Use Carbon for UI instead of Cocoa"          OFF  IF APPLE )
113 113
OCV_OPTION(WITH_CUBLAS         "Include NVidia Cuda Basic Linear Algebra Subprograms (BLAS) library support" OFF IF (CMAKE_VERSION VERSION_GREATER "2.8" AND NOT ANDROID AND NOT IOS) )
......
418 418
# --- Dc1394 ---
419 419
ocv_clear_vars(HAVE_DC1394 HAVE_DC1394_2)
420 420
if(WITH_1394)
421
  CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
422
  if(NOT HAVE_DC1394_2)
423
    CHECK_MODULE(libdc1394 HAVE_DC1394)
424
  endif()
421
  if(WIN32)
422
    find_path(CMU1394_INCLUDE_PATH "include/1394common.h"
423
              PATHS ENV ProgramFiles ENV ProgramW6432
424
              PATH_SUFFIXES include
425
              DOC "The path to cmu1394 headers")
426
    find_path(DC1394_2_INCLUDE_PATH "include/dc1394/dc1394.h"
427
              PATHS ENV ProgramFiles ENV ProgramW6432
428
              PATH_SUFFIXES include
429
              DOC "The path to DC1394 2.x headers")
430
    if(CMU1394_INCLUDE_PATH AND DC1394_2_INCLUDE_PATH)
431
      set(CMU1394_LIB_DIR  "${CMU1394_INCLUDE_PATH}/../lib"  CACHE PATH "Full path of CMU1394 library directory")
432
      set(DC1394_2_LIB_DIR "${DC1394_2_INCLUDE_PATH}/../lib" CACHE PATH "Full path of DC1394 2.x library directory")
433
      if(EXISTS "${CMU1394_LIB_DIR}/libcmu1394.a" AND EXISTS "${DC1394_2_LIB_DIR}/libdc1394.a")
434
        set(HAVE_DC1394_2 TRUE)
435
	  endif()
436
    endif()
437
    if(HAVE_DC1394_2)
438
      ocv_parse_pkg("libdc1394-2" "${DC1394_2_LIB_DIR}/pkgconfig" "")
439
      ocv_include_directories(${DC1394_2_INCLUDE_PATH})
440
      set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES}
441
          "${DC1394_2_LIB_DIR}/libdc1394.a"
442
          "${CMU1394_LIB_DIR}/libcmu1394.a")
443
    endif(HAVE_DC1394_2)
444
  else(WIN32)
445
    CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
446
    if(NOT HAVE_DC1394_2)
447
      CHECK_MODULE(libdc1394 HAVE_DC1394)
448
    endif()
449
  endif(WIN32)
425 450
endif(WITH_1394)
426 451

  
427 452
# --- xine ---
......
528 553

  
529 554
# --- Extra HighGUI libs on Windows ---
530 555
if(WIN32)
531
  list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32)
556
  list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 setupapi ws2_32)
532 557
  if(MSVC)
533 558
    list(APPEND HIGHGUI_LIBRARIES vfw32)
534 559
  elseif(MINGW64)
opencv/modules/highgui/src/cap_dc1394_v2.cpp (working copy)
45 45

  
46 46
#include <unistd.h>
47 47
#include <stdint.h>
48
#include <sys/select.h>
48
#ifdef WIN32
49
  /* On Windows, we have no sys/select.h, but we need to pick up */
50
  /* select() which is in winsock.                               */
51
  #ifndef __SYS_SELECT_H__
52
    #define __SYS_SELECT_H__ 1
53
    #include <winsock2.h>
54
  #endif
55
#else
56
  #include <sys/select.h>
57
#endif /*WIN32*/
58

  
49 59
#include <dc1394/dc1394.h>
50 60
#include <stdlib.h>
51 61
#include <string.h>