Skip to content

CMake warning about LEGACY and GLVND libraries for OpenGL on Linux #22835

@kallaballa

Description

@kallaballa

System Information

OpenCV version: 4.x
Operating System / Platform: openSUSE Tumbleweed (20221102) / Linux
Compiler & compiler version: g++ (SUSE Linux) 12.2.1 20221020 [revision 0aaef83351473e8f4eb774f8f999bbe87a4866d7]

Detailed description

When invoking cmake to configure the build of OpenCV there is a warning when configured with OpenGL:

CMake Warning (dev) at /usr/share/cmake/Modules/FindOpenGL.cmake:315 (message):
  Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
  available.  Run "cmake --help-policy CMP0072" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  FindOpenGL found both a legacy GL library:

    OPENGL_gl_LIBRARY: /lib64/libGL.so

  and GLVND libraries for OpenGL and GLX:

    OPENGL_opengl_LIBRARY: /lib64/libOpenGL.so
    OPENGL_glx_LIBRARY: /lib64/libGLX.so

  OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
  compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
  modules/highgui/cmake/detect_gtk.cmake:40 (find_package)
  modules/highgui/cmake/init.cmake:35 (include)
  modules/highgui/cmake/init.cmake:39 (add_backend)
  cmake/OpenCVModule.cmake:298 (include)
  cmake/OpenCVModule.cmake:361 (_add_modules_1)
  cmake/OpenCVModule.cmake:385 (ocv_glob_modules)
  CMakeLists.txt:945 (ocv_register_modules)
This warning is for project developers.  Use -Wno-dev to suppress it.

Steps to reproduce

Reproducer:

git clone -b 4.x https://github.com/opencv/opencv.git
mkdir opencv/build
cd opencv/build
cmake -DWITH_OPENGL=ON ..

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 any solution
  • I updated to the 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

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions