Merge pull request #929 from dominikrose:mingw-libdc1394-2-windows
This commit is contained in:
commit
0124902f42
@ -103,6 +103,19 @@ if(UNIX AND NOT ANDROID)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Add these standard paths to the search paths for FIND_PATH
|
||||
# to find include files from these locations first
|
||||
if(MINGW)
|
||||
if(EXISTS /mingw)
|
||||
list(APPEND CMAKE_INCLUDE_PATH /mingw)
|
||||
endif()
|
||||
if(EXISTS /mingw32)
|
||||
list(APPEND CMAKE_INCLUDE_PATH /mingw32)
|
||||
endif()
|
||||
if(EXISTS /mingw64)
|
||||
list(APPEND CMAKE_INCLUDE_PATH /mingw64)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# OpenCV cmake options
|
||||
@ -110,7 +123,7 @@ endif()
|
||||
|
||||
# Optional 3rd party components
|
||||
# ===================================================
|
||||
OCV_OPTION(WITH_1394 "Include IEEE1394 support" ON IF (UNIX AND NOT ANDROID AND NOT IOS) )
|
||||
OCV_OPTION(WITH_1394 "Include IEEE1394 support" ON IF (NOT ANDROID AND NOT IOS) )
|
||||
OCV_OPTION(WITH_AVFOUNDATION "Use AVFoundation for Video I/O" ON IF IOS)
|
||||
OCV_OPTION(WITH_CARBON "Use Carbon for UI instead of Cocoa" OFF IF APPLE )
|
||||
OCV_OPTION(WITH_CUDA "Include NVidia Cuda Runtime support" ON IF (CMAKE_VERSION VERSION_GREATER "2.8" AND NOT ANDROID AND NOT IOS) )
|
||||
|
@ -81,10 +81,33 @@ endif(WITH_GIGEAPI)
|
||||
# --- Dc1394 ---
|
||||
ocv_clear_vars(HAVE_DC1394 HAVE_DC1394_2)
|
||||
if(WITH_1394)
|
||||
CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
|
||||
if(NOT HAVE_DC1394_2)
|
||||
CHECK_MODULE(libdc1394 HAVE_DC1394)
|
||||
endif()
|
||||
if(WIN32 AND MINGW)
|
||||
find_path(CMU1394_INCLUDE_PATH "/1394common.h"
|
||||
PATH_SUFFIXES include
|
||||
DOC "The path to cmu1394 headers")
|
||||
find_path(DC1394_2_INCLUDE_PATH "/dc1394/dc1394.h"
|
||||
PATH_SUFFIXES include
|
||||
DOC "The path to DC1394 2.x headers")
|
||||
if(CMU1394_INCLUDE_PATH AND DC1394_2_INCLUDE_PATH)
|
||||
set(CMU1394_LIB_DIR "${CMU1394_INCLUDE_PATH}/../lib" CACHE PATH "Full path of CMU1394 library directory")
|
||||
set(DC1394_2_LIB_DIR "${DC1394_2_INCLUDE_PATH}/../lib" CACHE PATH "Full path of DC1394 2.x library directory")
|
||||
if(EXISTS "${CMU1394_LIB_DIR}/lib1394camera.a" AND EXISTS "${DC1394_2_LIB_DIR}/libdc1394.a")
|
||||
set(HAVE_DC1394_2 TRUE)
|
||||
endif()
|
||||
endif()
|
||||
if(HAVE_DC1394_2)
|
||||
ocv_parse_pkg("libdc1394-2" "${DC1394_2_LIB_DIR}/pkgconfig" "")
|
||||
ocv_include_directories(${DC1394_2_INCLUDE_PATH})
|
||||
set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES}
|
||||
"${DC1394_2_LIB_DIR}/libdc1394.a"
|
||||
"${CMU1394_LIB_DIR}/lib1394camera.a")
|
||||
endif(HAVE_DC1394_2)
|
||||
else(WIN32 AND MINGW)
|
||||
CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
|
||||
if(NOT HAVE_DC1394_2)
|
||||
CHECK_MODULE(libdc1394 HAVE_DC1394)
|
||||
endif()
|
||||
endif(WIN32 AND MINGW)
|
||||
endif(WITH_1394)
|
||||
|
||||
# --- xine ---
|
||||
@ -197,7 +220,7 @@ endif(WITH_MSMF)
|
||||
|
||||
# --- Extra HighGUI libs on Windows ---
|
||||
if(WIN32)
|
||||
list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 vfw32)
|
||||
list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 setupapi ws2_32 vfw32)
|
||||
if(MINGW64)
|
||||
list(APPEND HIGHGUI_LIBRARIES avifil32 avicap32 winmm msvfw32)
|
||||
list(REMOVE_ITEM HIGHGUI_LIBRARIES vfw32)
|
||||
|
@ -501,6 +501,13 @@ macro(ocv_parse_header2 LIBNAME HDR_PATH VARNAME)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# read single version info from the pkg file
|
||||
macro(ocv_parse_pkg LIBNAME PKG_PATH SCOPE)
|
||||
if(EXISTS "${PKG_PATH}/${LIBNAME}.pc")
|
||||
file(STRINGS "${PKG_PATH}/${LIBNAME}.pc" line_to_parse REGEX "^Version:[ \t]+[0-9.]*.*$" LIMIT_COUNT 1)
|
||||
STRING(REGEX REPLACE ".*Version: ([^ ]+).*" "\\1" ALIASOF_${LIBNAME}_VERSION "${line_to_parse}" )
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
################################################################################################
|
||||
# short command to setup source group
|
||||
|
@ -45,7 +45,16 @@
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdint.h>
|
||||
#include <sys/select.h>
|
||||
#ifdef WIN32
|
||||
// On Windows, we have no sys/select.h, but we need to pick up
|
||||
// select() which is in winsock2.
|
||||
#ifndef __SYS_SELECT_H__
|
||||
#define __SYS_SELECT_H__ 1
|
||||
#include <winsock2.h>
|
||||
#endif
|
||||
#else
|
||||
#include <sys/select.h>
|
||||
#endif /*WIN32*/
|
||||
#include <dc1394/dc1394.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
Loading…
Reference in New Issue
Block a user