OCV_OPTION(WITH_EIGEN "Include Eigen2/Eigen3 support" ON IF (NOT WINRT) )
OCV_OPTION(WITH_VFW "Include Video for Windows support" ON IF WIN32 )
OCV_OPTION(WITH_FFMPEG "Include FFMPEG support" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
-OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON IF (NOT ANDROID) )
+OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_GSTREAMER_0_10 "Enable Gstreamer 0.10 support (instead of 1.x)" OFF )
OCV_OPTION(WITH_GTK "Include GTK support" ON IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_GTK_2_X "Use GTK version 2" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_PTHREADS_PF "Use pthreads-based parallel_for" ON IF (NOT WIN32 OR MINGW) )
OCV_OPTION(WITH_TIFF "Include TIFF support" ON IF (NOT IOS) )
OCV_OPTION(WITH_UNICAP "Include Unicap support (GPL)" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID) )
-OCV_OPTION(WITH_V4L "Include Video 4 Linux support" ON IF (UNIX AND NOT ANDROID) )
-OCV_OPTION(WITH_LIBV4L "Use libv4l for Video 4 Linux support" OFF IF (UNIX AND NOT ANDROID) )
+OCV_OPTION(WITH_V4L "Include Video 4 Linux support" ON IF (UNIX AND NOT ANDROID AND NOT APPLE) )
+OCV_OPTION(WITH_LIBV4L "Use libv4l for Video 4 Linux support" OFF IF (UNIX AND NOT ANDROID AND NOT APPLE) )
OCV_OPTION(WITH_DSHOW "Build VideoIO with DirectShow support" ON IF (WIN32 AND NOT ARM AND NOT WINRT) )
OCV_OPTION(WITH_MSMF "Build VideoIO with Media Foundation support" OFF IF WIN32 )
OCV_OPTION(WITH_XIMEA "Include XIMEA cameras support" OFF IF (NOT ANDROID AND NOT WINRT) )
OCV_OPTION(WITH_VA_INTEL "Include Intel VA-API/OpenCL support" OFF IF (UNIX AND NOT ANDROID) )
OCV_OPTION(WITH_MFX "Include Intel Media SDK support" OFF IF ((UNIX AND NOT ANDROID) OR (WIN32 AND NOT WINRT AND NOT MINGW)) )
OCV_OPTION(WITH_GDAL "Include GDAL Support" OFF IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
-OCV_OPTION(WITH_GPHOTO2 "Include gPhoto2 library support" ON IF (UNIX AND NOT ANDROID) )
+OCV_OPTION(WITH_GPHOTO2 "Include gPhoto2 library support" ON IF (UNIX AND NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_LAPACK "Include Lapack library support" ON IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_ITT "Include Intel ITT support" ON IF (NOT APPLE_FRAMEWORK) )
status(" OpenCV modules:")
string(REPLACE "opencv_" "" OPENCV_MODULES_BUILD_ST "${OPENCV_MODULES_BUILD}")
string(REPLACE "opencv_" "" OPENCV_MODULES_DISABLED_USER_ST "${OPENCV_MODULES_DISABLED_USER}")
+string(REPLACE "opencv_" "" OPENCV_MODULES_DISABLED_AUTO_ST "${OPENCV_MODULES_DISABLED_AUTO}")
string(REPLACE "opencv_" "" OPENCV_MODULES_DISABLED_FORCE_ST "${OPENCV_MODULES_DISABLED_FORCE}")
-set(OPENCV_MODULES_DISABLED_AUTO_ST "")
-foreach(m ${OPENCV_MODULES_DISABLED_AUTO})
- set(__mdeps "")
- foreach(d ${OPENCV_MODULE_${m}_DEPS})
- if(d MATCHES "^opencv_" AND NOT HAVE_${d})
- list(APPEND __mdeps ${d})
- endif()
- endforeach()
- if(__mdeps)
- list(APPEND OPENCV_MODULES_DISABLED_AUTO_ST "${m}(deps: ${__mdeps})")
- else()
- list(APPEND OPENCV_MODULES_DISABLED_AUTO_ST "${m}")
- endif()
-endforeach()
-string(REPLACE "opencv_" "" OPENCV_MODULES_DISABLED_AUTO_ST "${OPENCV_MODULES_DISABLED_AUTO_ST}")
-
+list(SORT OPENCV_MODULES_BUILD_ST)
+list(SORT OPENCV_MODULES_DISABLED_USER_ST)
+list(SORT OPENCV_MODULES_DISABLED_AUTO_ST)
+list(SORT OPENCV_MODULES_DISABLED_FORCE_ST)
status(" To be built:" OPENCV_MODULES_BUILD THEN ${OPENCV_MODULES_BUILD_ST} ELSE "-")
status(" Disabled:" OPENCV_MODULES_DISABLED_USER THEN ${OPENCV_MODULES_DISABLED_USER_ST} ELSE "-")
status(" Disabled by dependency:" OPENCV_MODULES_DISABLED_AUTO THEN ${OPENCV_MODULES_DISABLED_AUTO_ST} ELSE "-")
status(" Unavailable:" OPENCV_MODULES_DISABLED_FORCE THEN ${OPENCV_MODULES_DISABLED_FORCE_ST} ELSE "-")
-if(OPENCV_ENABLE_NONFREE)
- status("")
- status(" Non-free algorithms are enabled")
-endif()
+ocv_build_features_string(apps_status
+ IF BUILD_TESTS AND HAVE_opencv_ts THEN "tests"
+ IF BUILD_PERF_TESTS AND HAVE_opencv_ts THEN "perf_tests"
+ IF BUILD_EXAMPLES THEN "examples"
+ IF BUILD_opencv_apps THEN "apps"
+ IF BUILD_ANDROID_SERVICE THEN "android_service"
+ IF BUILD_ANDROID_EXAMPLES AND CAN_BUILD_ANDROID_PROJECTS THEN "android_examples"
+ ELSE "-")
+status(" Applications:" "${apps_status}")
+status(" Documentation:" BUILD_DOCS AND DOXYGEN_FOUND THEN "YES (${DOXYGEN_EXECUTABLE} ${DOXYGEN_VERSION})" ELSE "NO")
+status(" Non-free algorithms:" OPENCV_ENABLE_NONFREE THEN "YES" ELSE "NO")
# ========================== Android details ==========================
if(ANDROID)
status(" Android toolchain:" "${ANDROID_STANDALONE_TOOLCHAIN}")
endif()
status(" android tool:" ANDROID_EXECUTABLE THEN "${ANDROID_EXECUTABLE} (${ANDROID_TOOLS_Pkg_Desc})" ELSE NO)
- status(" Google Play manager:" BUILD_ANDROID_SERVICE THEN YES ELSE NO)
- status(" Android examples:" BUILD_ANDROID_EXAMPLES AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
endif()
# ================== Windows RT features ==================
status("")
status(" GUI: ")
-if(HAVE_QT5)
- status(" QT 5.x:" HAVE_QT THEN "YES (ver ${Qt5Core_VERSION_STRING})" ELSE NO)
- status(" QT OpenGL support:" HAVE_QT_OPENGL THEN "YES (${Qt5OpenGL_LIBRARIES} ${Qt5OpenGL_VERSION_STRING})" ELSE NO)
-elseif(HAVE_QT)
- status(" QT 4.x:" HAVE_QT THEN "YES (ver ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH} ${QT_EDITION})" ELSE NO)
- status(" QT OpenGL support:" HAVE_QT_OPENGL THEN "YES (${QT_QTOPENGL_LIBRARY})" ELSE NO)
-else()
- if(DEFINED WITH_QT)
- status(" QT:" NO)
+if(WITH_QT OR HAVE_QT)
+ if(HAVE_QT5)
+ status(" QT:" "YES (ver ${Qt5Core_VERSION_STRING})")
+ status(" QT OpenGL support:" HAVE_QT_OPENGL THEN "YES (${Qt5OpenGL_LIBRARIES} ${Qt5OpenGL_VERSION_STRING})" ELSE NO)
+ elseif(HAVE_QT)
+ status(" QT:" "YES (ver ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH} ${QT_EDITION})")
+ status(" QT OpenGL support:" HAVE_QT_OPENGL THEN "YES (${QT_QTOPENGL_LIBRARY})" ELSE NO)
+ else()
+ status(" QT:" "NO")
endif()
- if(DEFINED WITH_WIN32UI)
- status(" Win32 UI:" HAVE_WIN32UI THEN YES ELSE NO)
+endif()
+
+if(WITH_WIN32UI)
+ status(" Win32 UI:" HAVE_WIN32UI THEN YES ELSE NO)
+endif()
+
+if(APPLE)
+ if(WITH_CARBON)
+ status(" Carbon:" YES)
else()
- if(APPLE)
- if(WITH_CARBON)
- status(" Carbon:" YES)
- else()
- status(" Cocoa:" YES)
- endif()
- else()
- if(HAVE_GTK3)
- status(" GTK+ 3.x:" HAVE_GTK THEN "YES (ver ${ALIASOF_gtk+-3.0_VERSION})" ELSE NO)
- elseif(HAVE_GTK)
- status(" GTK+ 2.x:" HAVE_GTK THEN "YES (ver ${ALIASOF_gtk+-2.0_VERSION})" ELSE NO)
- else()
- status(" GTK+:" NO)
- endif()
- status(" GThread :" HAVE_GTHREAD THEN "YES (ver ${ALIASOF_gthread-2.0_VERSION})" ELSE NO)
- status(" GtkGlExt:" HAVE_GTKGLEXT THEN "YES (ver ${ALIASOF_gtkglext-1.0_VERSION})" ELSE NO)
- endif()
+ status(" Cocoa:" YES)
+ endif()
+endif()
+
+if(WITH_GTK OR HAVE_GTK)
+ if(HAVE_GTK3)
+ status(" GTK+:" "YES (ver ${ALIASOF_gtk+-3.0_VERSION})")
+ elseif(HAVE_GTK)
+ status(" GTK+:" "YES (ver ${ALIASOF_gtk+-2.0_VERSION})")
+ else()
+ status(" GTK+:" "NO")
+ endif()
+ if(HAVE_GTK)
+ status( " GThread :" HAVE_GTHREAD THEN "YES (ver ${ALIASOF_gthread-2.0_VERSION})" ELSE NO)
+ status( " GtkGlExt:" HAVE_GTKGLEXT THEN "YES (ver ${ALIASOF_gtkglext-1.0_VERSION})" ELSE NO)
endif()
endif()
-status(" OpenGL support:" HAVE_OPENGL THEN "YES (${OPENGL_LIBRARIES})" ELSE NO)
-status(" VTK support:" HAVE_VTK THEN "YES (ver ${VTK_VERSION})" ELSE NO)
+if(WITH_OPENGL OR HAVE_OPENGL)
+ status(" OpenGL support:" HAVE_OPENGL THEN "YES (${OPENGL_LIBRARIES})" ELSE NO)
+endif()
+
+if(WITH_VTK OR HAVE_VTK)
+ status(" VTK support:" HAVE_VTK THEN "YES (ver ${VTK_VERSION})" ELSE NO)
+endif()
# ========================== MEDIA IO ==========================
status("")
status(" Media I/O: ")
-status(" ZLib:" BUILD_ZLIB THEN "build (ver ${ZLIB_VERSION_STRING})" ELSE "${ZLIB_LIBRARIES} (ver ${ZLIB_VERSION_STRING})")
+status(" ZLib:" ZLIB_FOUND THEN "${ZLIB_LIBRARIES} (ver ${ZLIB_VERSION_STRING})" ELSE "build (ver ${ZLIB_VERSION_STRING})")
-if(WITH_JPEG)
- status(" JPEG:" JPEG_FOUND THEN "${JPEG_LIBRARY} (ver ${JPEG_LIB_VERSION})" ELSE "build (ver ${JPEG_LIB_VERSION})")
-else()
- status(" JPEG:" "NO")
+if(WITH_JPEG OR HAVE_JPEG)
+ status(" JPEG:" JPEG_FOUND THEN "${JPEG_LIBRARY} (ver ${JPEG_LIB_VERSION})" ELSE "build (ver ${JPEG_LIB_VERSION})")
endif()
-if(WITH_WEBP)
- status(" WEBP:" WEBP_FOUND THEN "${WEBP_LIBRARY} (ver ${WEBP_VERSION})" ELSE "build (ver ${WEBP_VERSION})")
-else()
- status(" WEBP:" "NO")
+if(WITH_WEBP OR HAVE_WEBP)
+ status(" WEBP:" WEBP_FOUND THEN "${WEBP_LIBRARY} (ver ${WEBP_VERSION})" ELSE "build (ver ${WEBP_VERSION})")
endif()
-if(WITH_PNG)
- status(" PNG:" PNG_FOUND THEN "${PNG_LIBRARY} (ver ${PNG_VERSION})" ELSE "build (ver ${PNG_VERSION})")
-else()
- status(" PNG:" "NO")
+if(WITH_PNG OR HAVE_PNG)
+ status(" PNG:" PNG_FOUND THEN "${PNG_LIBRARY} (ver ${PNG_VERSION})" ELSE "build (ver ${PNG_VERSION})")
endif()
-if(WITH_TIFF)
- if(TIFF_VERSION_STRING AND TIFF_FOUND)
- status(" TIFF:" "${TIFF_LIBRARY} (ver ${TIFF_VERSION} - ${TIFF_VERSION_STRING})")
- else()
- status(" TIFF:" TIFF_FOUND THEN "${TIFF_LIBRARY} (ver ${TIFF_VERSION})" ELSE "build (ver ${TIFF_VERSION} - ${TIFF_VERSION_STRING})")
- endif()
-else()
- status(" TIFF:" "NO")
+if(WITH_TIFF OR HAVE_TIFF)
+ status(" TIFF:" TIFF_FOUND THEN "${TIFF_LIBRARY} (ver ${TIFF_VERSION} / ${TIFF_VERSION_STRING})" ELSE "build (ver ${TIFF_VERSION} - ${TIFF_VERSION_STRING})")
endif()
-if(WITH_JASPER)
- status(" JPEG 2000:" JASPER_FOUND THEN "${JASPER_LIBRARY} (ver ${JASPER_VERSION_STRING})" ELSE "build (ver ${JASPER_VERSION_STRING})")
-else()
- status(" JPEG 2000:" "NO")
+
+if(WITH_JASPER OR HAVE_JASPER)
+ status(" JPEG 2000:" JASPER_FOUND THEN "${JASPER_LIBRARY} (ver ${JASPER_VERSION_STRING})" ELSE "build (ver ${JASPER_VERSION_STRING})")
endif()
-if(WITH_OPENEXR)
- status(" OpenEXR:" OPENEXR_FOUND THEN "${OPENEXR_LIBRARIES} (ver ${OPENEXR_VERSION})" ELSE "build (ver ${OPENEXR_VERSION})")
-else()
- status(" OpenEXR:" "NO")
+
+if(WITH_OPENEXR OR HAVE_OPENEXR)
+ status(" OpenEXR:" OPENEXR_FOUND THEN "${OPENEXR_LIBRARIES} (ver ${OPENEXR_VERSION})" ELSE "build (ver ${OPENEXR_VERSION})")
endif()
-if( WITH_GDAL )
- status(" GDAL:" GDAL_FOUND THEN "${GDAL_LIBRARY}" ELSE "NO")
-else()
- status(" GDAL:" "NO")
+if(WITH_GDAL OR HAVE_GDAL)
+ status(" GDAL:" HAVE_GDAL THEN "YES (${GDAL_LIBRARY})" ELSE "NO")
endif()
-if(WITH_GDCM)
- status(" GDCM:" GDCM_FOUND THEN "YES (ver ${GDCM_VERSION})" ELSE "NO")
-else()
- status(" GDCM:" "NO")
+if(WITH_GDCM OR HAVE_GDCM)
+ status(" GDCM:" HAVE_GDCM THEN "YES (ver ${GDCM_VERSION})" ELSE "NO")
endif()
# ========================== VIDEO IO ==========================
status("")
status(" Video I/O:")
-if (DEFINED WITH_VFW)
+if(WITH_VFW OR HAVE_VFW)
status(" Video for Windows:" HAVE_VFW THEN YES ELSE NO)
-endif(DEFINED WITH_VFW)
+endif()
-if(DEFINED WITH_1394)
- status(" DC1394 1.x:" HAVE_DC1394 THEN "YES (ver ${ALIASOF_libdc1394_VERSION})" ELSE NO)
- status(" DC1394 2.x:" HAVE_DC1394_2 THEN "YES (ver ${ALIASOF_libdc1394-2_VERSION})" ELSE NO)
-endif(DEFINED WITH_1394)
+if(WITH_1394 OR HAVE_DC1394)
+ if (HAVE_DC1394_2)
+ status(" DC1394:" "YES (ver ${ALIASOF_libdc1394-2_VERSION})")
+ elseif (HAVE_DC1394)
+ status(" DC1394:" "YES (ver ${ALIASOF_libdc1394_VERSION})")
+ else()
+ status(" DC1394:" "NO")
+ endif()
+endif()
-if(DEFINED WITH_FFMPEG OR HAVE_FFMPEG)
+if(WITH_FFMPEG OR HAVE_FFMPEG)
if(WIN32)
status(" FFMPEG:" HAVE_FFMPEG THEN "YES (prebuilt binaries)" ELSE NO)
else()
status(" avresample:" FFMPEG_libavresample_FOUND THEN "YES (ver ${FFMPEG_libavresample_VERSION})" ELSE NO)
endif()
-if(DEFINED WITH_GSTREAMER)
+if(WITH_GSTREAMER OR HAVE_GSTREAMER)
status(" GStreamer:" HAVE_GSTREAMER THEN "" ELSE NO)
if(HAVE_GSTREAMER)
status(" base:" "YES (ver ${GSTREAMER_BASE_VERSION})")
status(" riff:" "YES (ver ${GSTREAMER_RIFF_VERSION})")
status(" pbutils:" "YES (ver ${GSTREAMER_PBUTILS_VERSION})")
endif(HAVE_GSTREAMER)
-endif(DEFINED WITH_GSTREAMER)
+endif()
-if(DEFINED WITH_OPENNI)
- status(" OpenNI:" HAVE_OPENNI THEN "YES (ver ${OPENNI_VERSION_STRING}, build ${OPENNI_VERSION_BUILD})"
- ELSE NO)
- status(" OpenNI PrimeSensor Modules:" HAVE_OPENNI_PRIME_SENSOR_MODULE
- THEN "YES (${OPENNI_PRIME_SENSOR_MODULE})" ELSE NO)
-endif(DEFINED WITH_OPENNI)
+if(WITH_OPENNI OR HAVE_OPENNI)
+ status(" OpenNI:" HAVE_OPENNI THEN "YES (ver ${OPENNI_VERSION_STRING}, build ${OPENNI_VERSION_BUILD})" ELSE NO)
+ status(" OpenNI PrimeSensor Modules:" HAVE_OPENNI_PRIME_SENSOR_MODULE THEN "YES (${OPENNI_PRIME_SENSOR_MODULE})" ELSE NO)
+endif()
-if(DEFINED WITH_OPENNI2)
- status(" OpenNI2:" HAVE_OPENNI2 THEN "YES (ver ${OPENNI2_VERSION_STRING}, build ${OPENNI2_VERSION_BUILD})"
- ELSE NO)
-endif(DEFINED WITH_OPENNI2)
+if(WITH_OPENNI2 OR HAVE_OPENNI2)
+ status(" OpenNI2:" HAVE_OPENNI2 THEN "YES (ver ${OPENNI2_VERSION_STRING}, build ${OPENNI2_VERSION_BUILD})" ELSE NO)
+endif()
-if(DEFINED WITH_PVAPI)
+if(WITH_PVAPI OR HAVE_PVAPI)
status(" PvAPI:" HAVE_PVAPI THEN YES ELSE NO)
-endif(DEFINED WITH_PVAPI)
+endif()
-if(DEFINED WITH_GIGEAPI)
+if(WITH_GIGEAPI OR HAVE_GIGE_API)
status(" GigEVisionSDK:" HAVE_GIGE_API THEN YES ELSE NO)
-endif(DEFINED WITH_GIGEAPI)
+endif()
-if(DEFINED WITH_ARAVIS)
+if(WITH_ARAVIS OR HAVE_ARAVIS_API)
status(" Aravis SDK:" HAVE_ARAVIS_API THEN "YES (${ARAVIS_LIBRARIES})" ELSE NO)
-endif(DEFINED WITH_ARAVIS)
+endif()
-if(DEFINED APPLE)
+if(APPLE)
status(" AVFoundation:" HAVE_AVFOUNDATION THEN YES ELSE NO)
if(WITH_QUICKTIME OR HAVE_QUICKTIME)
- status(" QuickTime:" HAVE_QUICKTIME THEN YES ELSE NO)
+ status(" QuickTime:" HAVE_QUICKTIME THEN YES ELSE NO)
endif()
if(WITH_QTKIT OR HAVE_QTKIT)
- status(" QTKit:" HAVE_QTKIT THEN "YES (deprecated)" ELSE NO)
+ status(" QTKit:" HAVE_QTKIT THEN "YES (deprecated)" ELSE NO)
endif()
-endif(DEFINED APPLE)
+endif()
-if(DEFINED WITH_UNICAP)
+if(WITH_UNICAP OR HAVE_UNICAP)
status(" UniCap:" HAVE_UNICAP THEN "YES (ver ${ALIASOF_libunicap_VERSION})" ELSE NO)
status(" UniCap ucil:" HAVE_UNICAP_UCIL THEN "YES (ver ${ALIASOF_libucil_VERSION})" ELSE NO)
-endif(DEFINED WITH_UNICAP)
+endif()
-if(DEFINED WITH_V4L)
- if(HAVE_CAMV4L)
- set(HAVE_CAMV4L_STR "YES")
- else()
- set(HAVE_CAMV4L_STR "NO")
- endif()
- if(HAVE_CAMV4L2)
- set(HAVE_CAMV4L2_STR "YES")
- elseif(HAVE_VIDEOIO)
- set(HAVE_CAMV4L2_STR "YES(videoio)")
- else()
- set(HAVE_CAMV4L2_STR "NO")
- endif()
- status(" V4L/V4L2:" HAVE_LIBV4L
- THEN "Using libv4l1 (ver ${ALIASOF_libv4l1_VERSION}) / libv4l2 (ver ${ALIASOF_libv4l2_VERSION})"
- ELSE "${HAVE_CAMV4L_STR}/${HAVE_CAMV4L2_STR}")
-endif(DEFINED WITH_V4L)
+if(WITH_V4L OR WITH_LIBV4L OR HAVE_LIBV4L OR HAVE_CAMV4L OR HAVE_CAMV4L2 OR HAVE_VIDEOIO)
+ status(" libv4l/libv4l2:" HAVE_LIBV4L THEN "${ALIASOF_libv4l1_VERSION} / ${ALIASOF_libv4l2_VERSION}" ELSE "NO")
+ ocv_build_features_string(v4l_status
+ IF HAVE_CAMV4L THEN "linux/videodev.h"
+ IF HAVE_CAMV4L2 THEN "linux/videodev2.h"
+ IF HAVE_VIDEOIO THEN "sys/videoio.h"
+ ELSE "NO")
+ status(" v4l/v4l2:" "${v4l_status}")
+endif()
-if(DEFINED WITH_DSHOW)
+if(WITH_DSHOW OR HAVE_DSHOW)
status(" DirectShow:" HAVE_DSHOW THEN YES ELSE NO)
-endif(DEFINED WITH_DSHOW)
+endif()
-if(DEFINED WITH_MSMF)
+if(WITH_MSMF OR HAVE_MSMF)
status(" Media Foundation:" HAVE_MSMF THEN YES ELSE NO)
-endif(DEFINED WITH_MSMF)
+endif()
-if(DEFINED WITH_XIMEA)
+if(WITH_XIMEA OR HAVE_XIMEA)
status(" XIMEA:" HAVE_XIMEA THEN YES ELSE NO)
-endif(DEFINED WITH_XIMEA)
+endif()
-if(DEFINED WITH_XINE)
+if(WITH_XINE OR HAVE_XINE)
status(" Xine:" HAVE_XINE THEN "YES (ver ${ALIASOF_libxine_VERSION})" ELSE NO)
-endif(DEFINED WITH_XINE)
+endif()
-if(DEFINED WITH_INTELPERC)
+if(WITH_INTELPERC OR HAVE_INTELPERC)
status(" Intel PerC:" HAVE_INTELPERC THEN "YES" ELSE NO)
-endif(DEFINED WITH_INTELPERC)
+endif()
-if(DEFINED WITH_MFX)
+if(WITH_MFX OR HAVE_MFX)
status(" Intel Media SDK:" HAVE_MFX THEN "YES (${MFX_LIBRARY})" ELSE NO)
endif()
-if(DEFINED WITH_GPHOTO2)
+if(WITH_GPHOTO2 OR HAVE_GPHOTO2)
status(" gPhoto2:" HAVE_GPHOTO2 THEN "YES" ELSE NO)
-endif(DEFINED WITH_GPHOTO2)
-
+endif()
# Order is similar to CV_PARALLEL_FRAMEWORK in core/src/parallel.cpp
-ocv_clear_vars(CV_PARALLEL_FRAMEWORK)
-if(HAVE_TBB)
- set(CV_PARALLEL_FRAMEWORK "TBB (ver ${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR} interface ${TBB_INTERFACE_VERSION})")
-elseif(HAVE_CSTRIPES)
- set(CV_PARALLEL_FRAMEWORK "C=")
-elseif(HAVE_OPENMP)
- set(CV_PARALLEL_FRAMEWORK "OpenMP")
-elseif(HAVE_GCD)
- set(CV_PARALLEL_FRAMEWORK "GCD")
-elseif(WINRT OR HAVE_CONCURRENCY)
- set(CV_PARALLEL_FRAMEWORK "Concurrency")
-elseif(HAVE_PTHREADS_PF)
- set(CV_PARALLEL_FRAMEWORK "pthreads")
-else()
- set(CV_PARALLEL_FRAMEWORK "none")
-endif()
+ocv_build_features_string(parallel_status EXCLUSIVE
+ IF HAVE_TBB THEN "TBB (ver ${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR} interface ${TBB_INTERFACE_VERSION})"
+ IF HAVE_CSTRIPES THEN "C="
+ IF HAVE_OPENMP THEN "OpenMP"
+ IF HAVE_GCD THEN "GCD"
+ IF WINRT OR HAVE_CONCURRENCY THEN "Concurrency"
+ IF HAVE_PTHREADS_PF THEN "pthreads"
+ ELSE "none")
status("")
-status(" Parallel framework:" TRUE THEN "${CV_PARALLEL_FRAMEWORK}" ELSE NO)
+status(" Parallel framework:" "${parallel_status}")
if(CV_TRACE OR OPENCV_TRACE)
- set(__msg "")
- if(HAVE_ITT)
- set(__msg "with Intel ITT")
- endif()
+ ocv_build_features_string(trace_status EXCLUSIVE
+ IF HAVE_ITT THEN "with Intel ITT"
+ ELSE "built-in")
status("")
- status(" Trace: " OPENCV_TRACE THEN "YES (${__msg})" ELSE NO)
+ status(" Trace: " OPENCV_TRACE THEN "YES (${trace_status})" ELSE NO)
endif()
# ========================== Other third-party libraries ==========================
status(" Other third-party libraries:")
if(WITH_IPP AND HAVE_IPP)
- status(" Use Intel IPP:" "${IPP_VERSION_STR} [${IPP_VERSION_MAJOR}.${IPP_VERSION_MINOR}.${IPP_VERSION_BUILD}]")
- status(" at:" "${IPP_ROOT_DIR}")
+ status(" Intel IPP:" "${IPP_VERSION_STR} [${IPP_VERSION_MAJOR}.${IPP_VERSION_MINOR}.${IPP_VERSION_BUILD}]")
+ status(" at:" "${IPP_ROOT_DIR}")
if(NOT HAVE_IPP_ICV)
- status(" linked:" BUILD_WITH_DYNAMIC_IPP THEN "dynamic" ELSE "static")
+ status(" linked:" BUILD_WITH_DYNAMIC_IPP THEN "dynamic" ELSE "static")
endif()
if(HAVE_IPP_IW)
if(BUILD_IPP_IW)
- status(" Use Intel IPP IW:" "sources (${IW_VERSION_MAJOR}.${IW_VERSION_MINOR}.${IW_VERSION_UPDATE})")
+ status(" Intel IPP IW:" "sources (${IW_VERSION_MAJOR}.${IW_VERSION_MINOR}.${IW_VERSION_UPDATE})")
else()
- status(" Use Intel IPP IW:" "binaries (${IW_VERSION_MAJOR}.${IW_VERSION_MINOR}.${IW_VERSION_UPDATE})")
+ status(" Intel IPP IW:" "binaries (${IW_VERSION_MAJOR}.${IW_VERSION_MINOR}.${IW_VERSION_UPDATE})")
endif()
- status(" at:" "${IPP_IW_PATH}")
+ status(" at:" "${IPP_IW_PATH}")
else()
- status(" Use Intel IPP IW:" NO)
+ status(" Intel IPP IW:" NO)
endif()
-else()
- status(" Use Intel IPP:" WITH_IPP AND NOT HAVE_IPP THEN "IPP not found or implicitly disabled" ELSE NO)
- status(" Use Intel IPP IW:" WITH_IPP AND NOT HAVE_IPP AND HAVE_IPP_IW THEN "IPP not found or implicitly disabled" ELSE NO)
endif()
-if(DEFINED WITH_VA)
-status(" Use VA:" HAVE_VA THEN "YES" ELSE NO)
-endif(DEFINED WITH_VA)
+if(WITH_VA OR HAVE_VA)
+ status(" VA:" HAVE_VA THEN "YES" ELSE NO)
+endif()
-if(DEFINED WITH_VA_INTEL)
-status(" Use Intel VA-API/OpenCL:" HAVE_VA_INTEL THEN "YES (MSDK: ${VA_INTEL_MSDK_ROOT} OpenCL: ${VA_INTEL_IOCL_ROOT})" ELSE NO)
-endif(DEFINED WITH_VA_INTEL)
+if(WITH_VA_INTEL OR HAVE_VA_INTEL)
+ status(" Intel VA-API/OpenCL:" HAVE_VA_INTEL THEN "YES (MSDK: ${VA_INTEL_MSDK_ROOT} OpenCL: ${VA_INTEL_IOCL_ROOT})" ELSE NO)
+endif()
-if(DEFINED WITH_LAPACK)
-status(" Use Lapack:" HAVE_LAPACK THEN "YES (${LAPACK_LIBRARIES})" ELSE NO)
-endif(DEFINED WITH_LAPACK)
+if(WITH_LAPACK OR HAVE_LAPACK)
+ status(" Lapack:" HAVE_LAPACK THEN "YES (${LAPACK_LIBRARIES})" ELSE NO)
+endif()
-status(" Use Eigen:" HAVE_EIGEN THEN "YES (ver ${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION})" ELSE NO)
-status(" Use Cuda:" HAVE_CUDA THEN "YES (ver ${CUDA_VERSION_STRING})" ELSE NO)
-status(" Use OpenCL:" HAVE_OPENCL THEN YES ELSE NO)
if(WITH_HALIDE OR HAVE_HALIDE)
-status(" Use Halide:" HAVE_HALIDE THEN "YES (${HALIDE_LIBRARIES} ${HALIDE_INCLUDE_DIRS})" ELSE NO)
+ status(" Halide:" HAVE_HALIDE THEN "YES (${HALIDE_LIBRARIES} ${HALIDE_INCLUDE_DIRS})" ELSE NO)
endif()
-status(" Use OpenVX:" HAVE_OPENVX THEN "YES (${OPENVX_LIBRARIES})" ELSE "NO")
-status(" Use custom HAL:" OpenCV_USED_HAL THEN "YES (${OpenCV_USED_HAL})" ELSE "NO")
-if(HAVE_CUDA)
- status("")
- status(" NVIDIA CUDA")
+if(WITH_EIGEN OR HAVE_EIGEN)
+ status(" Eigen:" HAVE_EIGEN THEN "YES (ver ${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION})" ELSE NO)
+endif()
- status(" Use CUFFT:" HAVE_CUFFT THEN YES ELSE NO)
- status(" Use CUBLAS:" HAVE_CUBLAS THEN YES ELSE NO)
- status(" USE NVCUVID:" HAVE_NVCUVID THEN YES ELSE NO)
- status(" NVIDIA GPU arch:" ${OPENCV_CUDA_ARCH_BIN})
- status(" NVIDIA PTX archs:" ${OPENCV_CUDA_ARCH_PTX})
- status(" Use fast math:" CUDA_FAST_MATH THEN YES ELSE NO)
+if(WITH_OPENVX OR HAVE_OPENVX)
+ status(" OpenVX:" HAVE_OPENVX THEN "YES (${OPENVX_LIBRARIES})" ELSE "NO")
endif()
-if(HAVE_OPENCL)
+status(" Custom HAL:" OpenCV_USED_HAL THEN "YES (${OpenCV_USED_HAL})" ELSE "NO")
+
+if(WITH_CUDA OR HAVE_CUDA)
+ ocv_build_features_string(cuda_features
+ IF HAVE_CUFFT THEN "CUFFT"
+ IF HAVE_CUBLAS THEN "CUBLAS"
+ IF HAVE_NVCUVID THEN "NVCUVID"
+ IF CUDA_FAST_MATH THEN "FAST_MATH"
+ ELSE "no extra features")
status("")
- if(HAVE_OPENCL_STATIC)
- set(__opencl_type "<Link with OpenCL library>")
- else()
- set(__opencl_type "<Dynamic loading of OpenCL library>")
- endif()
- status(" OpenCL:" ${__opencl_type})
- if(OPENCL_INCLUDE_DIRS)
- status(" Include path:" ${OPENCL_INCLUDE_DIRS})
+ status(" NVIDIA CUDA:" HAVE_CUDA THEN "YES (ver ${CUDA_VERSION_STRING}, ${cuda_features})" ELSE NO)
+ if(HAVE_CUDA)
+ status(" NVIDIA GPU arch:" ${OPENCV_CUDA_ARCH_BIN})
+ status(" NVIDIA PTX archs:" ${OPENCV_CUDA_ARCH_PTX})
endif()
- if(OPENCL_LIBRARIES)
- set(__libs "")
- foreach(l ${OPENCL_LIBRARIES})
- if(TARGET ${l})
- get_target_property(p ${l} IMPORTED_LOCATION)
- if(p MATCHES NOTFOUND)
- list(APPEND __libs "${l}")
- else()
- list(APPEND __libs "${p}")
- endif()
- else()
- list(APPEND __libs "${l}")
- endif()
- endforeach()
- status(" Link libraries:" ${__libs})
+endif()
+
+if(WITH_OPENCL OR HAVE_OPENCL)
+ ocv_build_features_string(opencl_features
+ IF HAVE_OPENCL_SVM THEN "SVM"
+ IF HAVE_CLAMDFFT THEN "AMDFFT"
+ IF HAVE_CLAMDBLAS THEN "AMDBLAS"
+ ELSE "no extra features")
+ status("")
+ status(" OpenCL:" HAVE_OPENCL THEN "YES (${opencl_features})" ELSE "NO")
+ if(HAVE_OPENCL)
+ status(" Include path:" OPENCL_INCLUDE_DIRS THEN "${OPENCL_INCLUDE_DIRS}" ELSE "NO")
+ status(" Link libraries:" OPENCL_LIBRARIES THEN "${OPENCL_LIBRARIES}" ELSE "Dynamic load")
endif()
- status(" Use AMDFFT:" HAVE_CLAMDFFT THEN YES ELSE NO)
- status(" Use AMDBLAS:" HAVE_CLAMDBLAS THEN YES ELSE NO)
endif()
# ========================== python ==========================
-status("")
-status(" Python 2:")
-status(" Interpreter:" PYTHON2INTERP_FOUND THEN "${PYTHON2_EXECUTABLE} (ver ${PYTHON2_VERSION_STRING})" ELSE NO)
if(BUILD_opencv_python2)
+ status("")
+ status(" Python 2:")
+ status(" Interpreter:" PYTHON2INTERP_FOUND THEN "${PYTHON2_EXECUTABLE} (ver ${PYTHON2_VERSION_STRING})" ELSE NO)
if(PYTHON2LIBS_VERSION_STRING)
status(" Libraries:" HAVE_opencv_python2 THEN "${PYTHON2_LIBRARIES} (ver ${PYTHON2LIBS_VERSION_STRING})" ELSE NO)
else()
status(" packages path:" PYTHON2_EXECUTABLE THEN "${PYTHON2_PACKAGES_PATH}" ELSE "-")
endif()
-status("")
-status(" Python 3:")
-status(" Interpreter:" PYTHON3INTERP_FOUND THEN "${PYTHON3_EXECUTABLE} (ver ${PYTHON3_VERSION_STRING})" ELSE NO)
if(BUILD_opencv_python3)
+ status("")
+ status(" Python 3:")
+ status(" Interpreter:" PYTHON3INTERP_FOUND THEN "${PYTHON3_EXECUTABLE} (ver ${PYTHON3_VERSION_STRING})" ELSE NO)
if(PYTHON3LIBS_VERSION_STRING)
status(" Libraries:" HAVE_opencv_python3 THEN "${PYTHON3_LIBRARIES} (ver ${PYTHON3LIBS_VERSION_STRING})" ELSE NO)
else()
status("")
status(" Python (for build):" PYTHON_DEFAULT_AVAILABLE THEN "${PYTHON_DEFAULT_EXECUTABLE}" ELSE NO)
if(PYLINT_FOUND AND PYLINT_EXECUTABLE)
-status(" Pylint:" PYLINT_FOUND THEN "${PYLINT_EXECUTABLE} (ver: ${PYLINT_VERSION}, checks: ${PYLINT_TOTAL_TARGETS})" ELSE NO)
+ status(" Pylint:" PYLINT_FOUND THEN "${PYLINT_EXECUTABLE} (ver: ${PYLINT_VERSION}, checks: ${PYLINT_TOTAL_TARGETS})" ELSE NO)
endif()
# ========================== java ==========================
-status("")
-status(" Java:")
-status(" ant:" ANT_EXECUTABLE THEN "${ANT_EXECUTABLE} (ver ${ANT_VERSION})" ELSE NO)
-if(NOT ANDROID)
- status(" JNI:" JNI_INCLUDE_DIRS THEN "${JNI_INCLUDE_DIRS}" ELSE NO)
+if(BUILD_opencv_java)
+ status("")
+ status(" Java:")
+ status(" ant:" ANT_EXECUTABLE THEN "${ANT_EXECUTABLE} (ver ${ANT_VERSION})" ELSE NO)
+ if(NOT ANDROID)
+ status(" JNI:" JNI_INCLUDE_DIRS THEN "${JNI_INCLUDE_DIRS}" ELSE NO)
+ endif()
+ status(" Java wrappers:" HAVE_opencv_java THEN YES ELSE NO)
+ status(" Java tests:" BUILD_TESTS AND opencv_test_java_BINARY_DIR THEN YES ELSE NO)
endif()
-status(" Java wrappers:" HAVE_opencv_java THEN YES ELSE NO)
-status(" Java tests:" BUILD_TESTS AND opencv_test_java_BINARY_DIR THEN YES ELSE NO)
# ========================= matlab =========================
-status("")
-if(MATLAB_FOUND)
- status(" Matlab:")
- status(" mex:" MATLAB_MEX_SCRIPT THEN "${MATLAB_MEX_SCRIPT}" ELSE NO)
- status(" Compiler/generator:" MEX_WORKS THEN "Working" ELSE "Not working (bindings will not be generated)")
-else()
- status(" Matlab:" WITH_MATLAB AND NOT MATLAB_FOUND THEN "Matlab not found or implicitly disabled" ELSE NO)
-endif()
-
-# ========================== documentation ==========================
-if(BUILD_DOCS)
+if(WITH_MATLAB OR MATLAB_FOUND)
status("")
- status(" Documentation:")
- status(" Doxygen:" DOXYGEN_FOUND THEN "${DOXYGEN_EXECUTABLE} (ver ${DOXYGEN_VERSION})" ELSE NO)
+ status(" Matlab:" MATLAB_FOUND THEN "YES" ELSE "NO")
+ if(MATLAB_FOUND)
+ status(" mex:" MATLAB_MEX_SCRIPT THEN "${MATLAB_MEX_SCRIPT}" ELSE NO)
+ status(" Compiler/generator:" MEX_WORKS THEN "Working" ELSE "Not working (bindings will not be generated)")
+ endif()
endif()
-# ========================== samples and tests ==========================
-status("")
-status(" Tests and samples:")
-status(" Tests:" BUILD_TESTS AND HAVE_opencv_ts THEN YES ELSE NO)
-status(" Performance tests:" BUILD_PERF_TESTS AND HAVE_opencv_ts THEN YES ELSE NO)
-status(" C/C++ Examples:" BUILD_EXAMPLES THEN YES ELSE NO)
-
# ========================== auxiliary ==========================
status("")
-status(" Install path:" "${CMAKE_INSTALL_PREFIX}")
-status("")
-status(" cvconfig.h is in:" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}")
+status(" Install to:" "${CMAKE_INSTALL_PREFIX}")
status("-----------------------------------------------------------------")
status("")
+
ocv_finalize_status()
# ----------------------------------------------------------------------------