1 # ----------------------------------------------------------------------------
2 # Detect 3rd-party GUI libraries
3 # ----------------------------------------------------------------------------
6 ocv_clear_vars(HAVE_WIN32UI)
8 try_compile(HAVE_WIN32UI
10 "${OpenCV_SOURCE_DIR}/cmake/checks/win32uitest.cpp"
11 CMAKE_FLAGS "-DLINK_LIBRARIES:STRING=user32;gdi32")
15 ocv_clear_vars(HAVE_QT HAVE_QT5)
17 if(NOT WITH_QT EQUAL 4)
18 find_package(Qt5 COMPONENTS Core Gui Widgets Test Concurrent REQUIRED NO_MODULE)
22 find_package(Qt5 COMPONENTS OpenGL QUIET)
24 set(QT_QTOPENGL_FOUND ON)
30 find_package(Qt4 REQUIRED QtCore QtGui QtTest)
38 ocv_clear_vars(HAVE_GTK HAVE_GTK3 HAVE_GTHREAD HAVE_GTKGLEXT)
39 if(WITH_GTK AND NOT HAVE_QT)
41 ocv_check_modules(GTK3 gtk+-3.0)
43 ocv_append_build_options(HIGHGUI GTK3)
48 ocv_check_modules(GTK2 gtk+-2.0)
50 if (GTK2_VERSION VERSION_LESS MIN_VER_GTK)
51 message (FATAL_ERROR "GTK support requires a minimum version of ${MIN_VER_GTK} (${GTK2_VERSION} found)")
53 ocv_append_build_options(HIGHGUI GTK2)
58 ocv_check_modules(GTHREAD gthread-2.0)
59 if(HAVE_GTK AND NOT HAVE_GTHREAD)
60 message(FATAL_ERROR "gthread not found. This library is required when building with GTK support")
62 ocv_append_build_options(HIGHGUI GTHREAD)
64 if(WITH_OPENGL AND NOT HAVE_GTK3)
65 ocv_check_modules(GTKGLEXT gtkglext-1.0)
67 ocv_append_build_options(HIGHGUI GTKGLEXT)
73 ocv_clear_vars(HAVE_OPENGL HAVE_QT_OPENGL)
75 if(WITH_WIN32UI OR (HAVE_QT AND QT_QTOPENGL_FOUND) OR HAVE_GTKGLEXT)
76 find_package (OpenGL QUIET)
79 list(APPEND OPENCV_LINKER_LIBS ${OPENGL_LIBRARIES})
81 set(HAVE_QT_OPENGL TRUE)
83 ocv_include_directories(${OPENGL_INCLUDE_DIR})
91 if(NOT IOS AND CV_CLANG)