From 02e34de2b6c27ee5d367be4fa280ffd3ad1965ba Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 1 Dec 2014 16:01:09 -0500 Subject: [PATCH] FindOpenGL: Revert support for imported targets (#15267) Revert the feature added by commit v3.1.0-rc1~420^2~2 (FindOpenGL: Provide imported targets for GL and GLU, 2014-05-31). Unfortunately it does not work on Windows because the full path to each library file is not actually known. The IMPORTED_LOCATION of an imported target must be a full path, but OPENGL_gl_LIBRARY is just 'opengl32' on Windows because the actual library file is in some implicit link directory that we may know know. More infrastructure will be needed in CMake to allow a name-only imported library. Until that exists, we will not be able to provide imported targets in FindOpenGL. --- Help/release/3.1.0.rst | 3 --- Modules/FindOpenGL.cmake | 40 ---------------------------------------- 2 files changed, 43 deletions(-) diff --git a/Help/release/3.1.0.rst b/Help/release/3.1.0.rst index 65aae000b..1272d9195 100644 --- a/Help/release/3.1.0.rst +++ b/Help/release/3.1.0.rst @@ -230,9 +230,6 @@ Modules * The :module:`FindOpenCL` module was introduced. -* The :module:`FindOpenGL` module now provides imported targets - ``OpenGL::GL`` and ``OpenGL::GLU`` when the libraries are found. - * The :module:`FindOpenMP` module learned to support Fortran. * The :module:`FindPkgConfig` module learned to use the ``PKG_CONFIG`` diff --git a/Modules/FindOpenGL.cmake b/Modules/FindOpenGL.cmake index 2b3bd1413..a83a6c38f 100644 --- a/Modules/FindOpenGL.cmake +++ b/Modules/FindOpenGL.cmake @@ -4,16 +4,6 @@ # # FindModule for OpenGL and GLU. # -# IMPORTED Targets -# ^^^^^^^^^^^^^^^^ -# -# This module defines the :prop_tgt:`IMPORTED` targets: -# -# ``OpenGL::GL`` -# Defined if the system has OpenGL. -# ``OpenGL::GLU`` -# Defined if the system has GLU. -# # Result Variables # ^^^^^^^^^^^^^^^^ # @@ -191,36 +181,6 @@ include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenGL REQUIRED_VARS ${_OpenGL_REQUIRED_VARS}) unset(_OpenGL_REQUIRED_VARS) -# OpenGL:: targets -if(OPENGL_FOUND) - if(NOT TARGET OpenGL::GL) - add_library(OpenGL::GL UNKNOWN IMPORTED) - set_target_properties(OpenGL::GL PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${OPENGL_INCLUDE_DIR}") - if(OPENGL_gl_LIBRARY MATCHES "/([^/]+)\\.framework$") - set_target_properties(OpenGL::GL PROPERTIES - IMPORTED_LOCATION "${OPENGL_gl_LIBRARY}/${CMAKE_MATCH_1}") - else() - set_target_properties(OpenGL::GL PROPERTIES - IMPORTED_LOCATION "${OPENGL_gl_LIBRARY}") - endif() - endif() - - if(OPENGL_GLU_FOUND AND NOT TARGET OpenGL::GLU) - add_library(OpenGL::GLU UNKNOWN IMPORTED) - set_target_properties(OpenGL::GLU PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${OPENGL_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES OpenGL::GL) - if(OPENGL_glu_LIBRARY MATCHES "/([^/]+)\\.framework$") - set_target_properties(OpenGL::GLU PROPERTIES - IMPORTED_LOCATION "${OPENGL_glu_LIBRARY}/${CMAKE_MATCH_1}") - else() - set_target_properties(OpenGL::GLU PROPERTIES - IMPORTED_LOCATION "${OPENGL_glu_LIBRARY}") - endif() - endif() -endif() - mark_as_advanced( OPENGL_INCLUDE_DIR OPENGL_xmesa_INCLUDE_DIR