CMakeLists.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. cmake_minimum_required(VERSION 3.5)
  2. project(opencv_highgui_gtk)
  3. get_filename_component(OpenCV_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../../.." ABSOLUTE)
  4. include("${OpenCV_SOURCE_DIR}/cmake/OpenCVPluginStandalone.cmake")
  5. # scan dependencies
  6. set(WITH_GTK ON)
  7. include("${OpenCV_SOURCE_DIR}/modules/highgui/cmake/init.cmake")
  8. if(NOT HAVE_GTK)
  9. message(FATAL_ERROR "GTK: NO")
  10. endif()
  11. ocv_warnings_disable(CMAKE_CXX_FLAGS -Wno-deprecated-declarations)
  12. set(OPENCV_PLUGIN_DEPS core imgproc imgcodecs)
  13. if(TARGET ocv.3rdparty.gtk3)
  14. set(__deps ocv.3rdparty.gtk3)
  15. elseif(TARGET ocv.3rdparty.gtk2)
  16. set(__deps ocv.3rdparty.gtk2)
  17. elseif(TARGET ocv.3rdparty.gtk)
  18. set(__deps ocv.3rdparty.gtk)
  19. else()
  20. message(FATAL_ERROR "Missing dependency target for GTK libraries")
  21. endif()
  22. ocv_create_plugin(highgui "opencv_highgui_gtk" "${__deps}" "GTK" "src/window_gtk.cpp")
  23. if(WITH_OPENGL)
  24. if(HAVE_GTK2
  25. AND TARGET ocv.3rdparty.gtkglext
  26. AND TARGET ocv.3rdparty.gtk_opengl
  27. AND NOT OPENCV_GTK_DISABLE_GTKGLEXT
  28. AND NOT OPENCV_GTK_DISABLE_OPENGL
  29. )
  30. message(STATUS "OpenGL: YES")
  31. target_link_libraries(${OPENCV_PLUGIN_NAME} PRIVATE
  32. ocv.3rdparty.gtkglext ocv.3rdparty.gtk_opengl
  33. )
  34. else()
  35. message(WARNING "OpenGL dependencies are not available!")
  36. endif()
  37. endif()
  38. if(HAVE_GTK3)
  39. message(STATUS "GTK3+: ver ${GTK3_VERSION}")
  40. elseif(HAVE_GTK3)
  41. message(STATUS "GTK2+: ver ${GTK2_VERSION}")
  42. elseif(DEFINED GTK_VERSION)
  43. message(STATUS "GTK+: ver ${GTK_VERSION}")
  44. else()
  45. message(STATUS "GTK+: YES")
  46. endif()
  47. if(HAVE_GTHREAD)
  48. message(STATUS "GThread : YES (ver ${GTHREAD_VERSION})")
  49. else()
  50. message(STATUS "GThread : NO")
  51. endif()