From 570ec2f166e53241b2bced6bd90722da01e99049 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Wed, 11 Apr 2012 12:05:53 +0000 Subject: [PATCH] Improved status report for Eigen and Ximea, improved search of PvApi headers/libs --- CMakeLists.txt | 5 +- modules/highgui/CMakeLists.txt | 186 ++++++++++++++++++--------------- 2 files changed, 102 insertions(+), 89 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 820c092ebb..a07336454e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -562,6 +562,7 @@ if(WITH_EIGEN) DOC "The path to Eigen2/Eigen3 headers") if(EIGEN_INCLUDE_PATH) ocv_include_directories(${EIGEN_INCLUDE_PATH}) + ocv_parse_header("${EIGEN_INCLUDE_PATH}/Eigen/src/Core/util/Macros.h" EIGEN_VERSION_LINES EIGEN_WORLD_VERSION EIGEN_MAJOR_VERSION EIGEN_MINOR_VERSION) set(HAVE_EIGEN 1) endif() endif() @@ -823,7 +824,7 @@ if(UNIX AND NOT APPLE) set(HAVE_CAMV4L2_STR "NO") endif() status(" V4L/V4L2:" HAVE_LIBV4L THEN "Using libv4l (ver ${ALIASOF_libv4l1_VERSION})" ELSE "${HAVE_CAMV4L_STR}/${HAVE_CAMV4L2_STR}") - status(" Xine:" HAVE_XINE THEN "YES (ver ${ALIASOF_libxine_VERSION}" ELSE NO) + status(" Xine:" HAVE_XINE THEN "YES (ver ${ALIASOF_libxine_VERSION})" ELSE NO) if(ANDROID) if(HAVE_opencv_androidcamera) @@ -866,7 +867,7 @@ endif() status(" Use TBB:" HAVE_TBB THEN "YES (ver ${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR} interface ${TBB_INTERFACE_VERSION})" ELSE NO) status(" Use Cuda:" HAVE_CUDA THEN "YES (ver ${CUDA_VERSION_STRING})" ELSE NO) -status(" Use Eigen:" HAVE_EIGEN THEN YES ELSE NO) +status(" Use Eigen:" HAVE_EIGEN THEN "YES (ver ${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION})" ELSE NO) if(HAVE_CUDA) status("") diff --git a/modules/highgui/CMakeLists.txt b/modules/highgui/CMakeLists.txt index 7024eb8f9f..17d5a1a2e1 100644 --- a/modules/highgui/CMakeLists.txt +++ b/modules/highgui/CMakeLists.txt @@ -72,127 +72,139 @@ file(GLOB highgui_ext_hdrs "include/opencv2/${name}/*.hpp" "include/opencv2/${na #YV if (HAVE_QT) - if (HAVE_QT_OPENGL) - set(QT_USE_QTOPENGL TRUE) - endif() - INCLUDE(${QT_USE_FILE}) - - SET(_RCCS_FILES src/window_QT.qrc) - QT4_ADD_RESOURCES(_RCC_OUTFILES ${_RCCS_FILES}) + if (HAVE_QT_OPENGL) + set(QT_USE_QTOPENGL TRUE) + endif() + INCLUDE(${QT_USE_FILE}) - SET(_MOC_HEADERS src/window_QT.h ) - QT4_WRAP_CPP(_MOC_OUTFILES ${_MOC_HEADERS}) - - set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} ${QT_LIBRARIES} ${QT_QTTEST_LIBRARY}) - set(highgui_srcs ${highgui_srcs} src/window_QT.cpp ${_MOC_OUTFILES} ${_RCC_OUTFILES} ) + SET(_RCCS_FILES src/window_QT.qrc) + QT4_ADD_RESOURCES(_RCC_OUTFILES ${_RCCS_FILES}) + + SET(_MOC_HEADERS src/window_QT.h ) + QT4_WRAP_CPP(_MOC_OUTFILES ${_MOC_HEADERS}) + + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} ${QT_LIBRARIES} ${QT_QTTEST_LIBRARY}) + set(highgui_srcs ${highgui_srcs} src/window_QT.cpp ${_MOC_OUTFILES} ${_RCC_OUTFILES} ) endif() if(WIN32) - if(NOT HAVE_QT) - set(highgui_srcs ${highgui_srcs} src/window_w32.cpp) - endif() - set(highgui_srcs ${highgui_srcs} src/cap_vfw.cpp src/cap_cmu.cpp src/cap_dshow.cpp) - if(HAVE_MIL) - set(highgui_srcs ${highgui_srcs} src/cap_mil.cpp) - endif() + if(NOT HAVE_QT) + set(highgui_srcs ${highgui_srcs} src/window_w32.cpp) + endif() + set(highgui_srcs ${highgui_srcs} src/cap_vfw.cpp src/cap_cmu.cpp src/cap_dshow.cpp) + if(HAVE_MIL) + set(highgui_srcs ${highgui_srcs} src/cap_mil.cpp) + endif() endif() if(UNIX) - if(NOT HAVE_QT) - if(HAVE_GTK) - set(highgui_srcs ${highgui_srcs} src/window_gtk.cpp) - endif() + if(NOT HAVE_QT) + if(HAVE_GTK) + set(highgui_srcs ${highgui_srcs} src/window_gtk.cpp) endif() + endif() - if(HAVE_XINE) - set(highgui_srcs ${highgui_srcs} src/cap_xine.cpp) - endif() + if(HAVE_XINE) + set(highgui_srcs ${highgui_srcs} src/cap_xine.cpp) + endif() - if(HAVE_DC1394_2) - set(highgui_srcs ${highgui_srcs} src/cap_dc1394_v2.cpp) - endif() + if(HAVE_DC1394_2) + set(highgui_srcs ${highgui_srcs} src/cap_dc1394_v2.cpp) + endif() - if(HAVE_DC1394) - set(highgui_srcs ${highgui_srcs} src/cap_dc1394.cpp) - endif() + if(HAVE_DC1394) + set(highgui_srcs ${highgui_srcs} src/cap_dc1394.cpp) + endif() - if(HAVE_FFMPEG) - if(BZIP2_LIBRARIES) - set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} ${BZIP2_LIBRARIES}) - endif() + if(HAVE_FFMPEG) + if(BZIP2_LIBRARIES) + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} ${BZIP2_LIBRARIES}) endif() + endif() - if(HAVE_PVAPI) - add_definitions(-DHAVE_PVAPI) - set(highgui_srcs src/cap_pvapi.cpp ${highgui_srcs}) - set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} PvAPI) + if(HAVE_PVAPI) + add_definitions(-DHAVE_PVAPI) + ocv_include_directories(${PVAPI_INCLUDE_PATH}) + if(X86) + set(PVAPI_SDK_SUBDIR x86) + elseif(X86_64) + set(PVAPI_SDK_SUBDIR x64) + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES arm) + set(PVAPI_SDK_SUBDIR arm) endif() - - if(HAVE_GSTREAMER) - set(highgui_srcs ${highgui_srcs} src/cap_gstreamer.cpp) + if(PVAPI_SDK_SUBDIR AND CMAKE_COMPILER_IS_GNUCXX) + get_filename_component(PVAPI_EXPECTED_LIB_PATH "${PVAPI_INCLUDE_PATH}/../lib-pc/${PVAPI_SDK_SUBDIR}/${CMAKE_OPENCV_GCC_VERSION_MAJOR}.${CMAKE_OPENCV_GCC_VERSION_MINOR}" ABSOLUTE) + link_directories(${PVAPI_EXPECTED_LIB_PATH}) endif() + set(highgui_srcs src/cap_pvapi.cpp ${highgui_srcs}) + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} PvAPI) + endif() - if(HAVE_UNICAP) - set(highgui_srcs ${highgui_srcs} src/cap_unicap.cpp) + if(HAVE_GSTREAMER) + set(highgui_srcs ${highgui_srcs} src/cap_gstreamer.cpp) + endif() + + if(HAVE_UNICAP) + set(highgui_srcs ${highgui_srcs} src/cap_unicap.cpp) + endif() + + if(HAVE_LIBV4L) + set(highgui_srcs ${highgui_srcs} src/cap_libv4l.cpp) + else() + if(HAVE_CAMV4L OR HAVE_CAMV4L2) + set(highgui_srcs ${highgui_srcs} src/cap_v4l.cpp) endif() + endif() - if(HAVE_LIBV4L) - set(highgui_srcs ${highgui_srcs} src/cap_libv4l.cpp) - else() - if(HAVE_CAMV4L OR HAVE_CAMV4L2) - set(highgui_srcs ${highgui_srcs} src/cap_v4l.cpp) - endif() - endif() + foreach(P ${HIGHGUI_INCLUDE_DIRS}) + ocv_include_directories(${P}) + endforeach() - foreach(P ${HIGHGUI_INCLUDE_DIRS}) - ocv_include_directories(${P}) - endforeach() - - foreach(P ${HIGHGUI_LIBRARY_DIRS}) - link_directories(${P}) - endforeach() + foreach(P ${HIGHGUI_LIBRARY_DIRS}) + link_directories(${P}) + endforeach() endif() #OpenNI if(WITH_OPENNI AND HAVE_OPENNI) - set(highgui_srcs ${highgui_srcs} src/cap_openni.cpp) - ocv_include_directories(${OPENNI_INCLUDE_DIR}) + set(highgui_srcs ${highgui_srcs} src/cap_openni.cpp) + ocv_include_directories(${OPENNI_INCLUDE_DIR}) endif() #YV if(APPLE) - if (NOT IOS) - add_definitions(-DHAVE_QUICKTIME=1) - endif() + if (NOT IOS) + add_definitions(-DHAVE_QUICKTIME=1) + endif() - if(NOT OPENCV_BUILD_3RDPARTY_LIBS) - add_definitions(-DHAVE_IMAGEIO=1) - endif() + if(NOT OPENCV_BUILD_3RDPARTY_LIBS) + add_definitions(-DHAVE_IMAGEIO=1) + endif() - if (NOT HAVE_QT) - if(WITH_CARBON) - add_definitions(-DHAVE_CARBON=1) - set(highgui_srcs ${highgui_srcs} src/window_carbon.cpp) - else() - add_definitions(-DHAVE_COCOA=1) - set(highgui_srcs ${highgui_srcs} src/window_cocoa.mm) - endif() - endif() - - if(WITH_QUICKTIME) - set(highgui_srcs ${highgui_srcs} src/cap_qt.cpp) + if (NOT HAVE_QT) + if(WITH_CARBON) + add_definitions(-DHAVE_CARBON=1) + set(highgui_srcs ${highgui_srcs} src/window_carbon.cpp) else() - if (WITH_AVFOUNDATION) - add_definitions(-DHAVE_AVFOUNDATION=1) - set(highgui_srcs ${highgui_srcs} src/cap_avfoundation.mm) - else() - set(highgui_srcs ${highgui_srcs} src/cap_qtkit.mm) - endif() + add_definitions(-DHAVE_COCOA=1) + set(highgui_srcs ${highgui_srcs} src/window_cocoa.mm) endif() + endif() - if(HAVE_FFMPEG) - set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} "-framework VideoDecodeAcceleration") + if(WITH_QUICKTIME) + set(highgui_srcs ${highgui_srcs} src/cap_qt.cpp) + else() + if(WITH_AVFOUNDATION) + add_definitions(-DHAVE_AVFOUNDATION=1) + set(highgui_srcs ${highgui_srcs} src/cap_avfoundation.mm) + else() + set(highgui_srcs ${highgui_srcs} src/cap_qtkit.mm) endif() + endif() + + if(HAVE_FFMPEG) + set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} "-framework VideoDecodeAcceleration") + endif() endif(APPLE) if(HAVE_opencv_androidcamera)