Skip to content

A strange logic when checking opengl support in OpenCVFindLibsGUI.cmake #20001

@zjuwyz

Description

@zjuwyz
System information (version)
  • OpenCV => master (latest)
  • Operating System / Platform => ubuntu 20.04
  • Compiler => gcc 9.3.0
Detailed description

Code below is from cmake/OpenCVFindLibsGUI.cmake

The condition to decide whether to check opengl support is

if(WITH_WIN32UI OR (HAVE_QT AND QT_QTOPENGL_FOUND) OR HAVE_GTKGLEXT)
    find_package (OpenGL QUIET)
  ...

and the condition for gtkglext is here

if(WITH_OPENGL AND NOT HAVE_GTK3)
  ocv_check_modules(GTKGLEXT gtkglext-1.0)
  if(HAVE_GTKGLEXT)
    ocv_append_build_options(HIGHGUI GTKGLEXT)
  endif()
endif()

Thus, If I have GTK3 installed, gtkglext will not be checked, and opengl will not be checked too.

I'm not familiar with both GTK3 and gtkglext. Is this behaviour intentional? Or just a bug that opengl support is disabled when GTK3 is installed?

Issue submission checklist
  • I report the issue, it's not a question
  • I checked the problem with documentation, FAQ, open issues,
    forum.opencv.org, Stack Overflow, etc and have not found solution
  • I updated to latest OpenCV version and the issue is still there
  • There is reproducer code and related data files: videos, images, onnx, etc

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions