summaryrefslogtreecommitdiff
path: root/Modules/FindGLEW.cmake
diff options
context:
space:
mode:
authorMarkus Mützel <markus.muetzel@gmx.de>2022-06-21 19:12:42 +0200
committerBrad King <brad.king@kitware.com>2022-06-21 13:56:29 -0400
commita31b27078595fce911b2469937ac12934555644a (patch)
treee31c2797767669fdcc4b1a09186ec1456567ea2b /Modules/FindGLEW.cmake
parentc93d3cf0b7823020bef358eff809b5590ba5c572 (diff)
downloadcmake-a31b27078595fce911b2469937ac12934555644a.tar.gz
FindGLEW: Set documented variables when found via upstream package
When GLEW is found by `find_package` (most of) the variables described in the documentation of `FindGLEW` aren't set. That could lead to issues when building packages that rely on these variables. Fixes: #19662
Diffstat (limited to 'Modules/FindGLEW.cmake')
-rw-r--r--Modules/FindGLEW.cmake24
1 files changed, 24 insertions, 0 deletions
diff --git a/Modules/FindGLEW.cmake b/Modules/FindGLEW.cmake
index b9ebe08bd6..a0fda1fba8 100644
--- a/Modules/FindGLEW.cmake
+++ b/Modules/FindGLEW.cmake
@@ -68,6 +68,30 @@ find_package(GLEW CONFIG QUIET)
if(GLEW_FOUND)
find_package_handle_standard_args(GLEW DEFAULT_MSG GLEW_CONFIG)
+ get_target_property(GLEW_INCLUDE_DIRS GLEW::GLEW INTERFACE_INCLUDE_DIRECTORIES)
+ set(GLEW_INCLUDE_DIR ${GLEW_INCLUDE_DIRS})
+ get_target_property(_GLEW_DEFS GLEW::GLEW INTERFACE_COMPILE_DEFINITIONS)
+ if("${_GLEW_DEFS}" MATCHES "GLEW_STATIC")
+ get_target_property(GLEW_LIBRARY_DEBUG GLEW::GLEW IMPORTED_LOCATION_DEBUG)
+ get_target_property(GLEW_LIBRARY_RELEASE GLEW::GLEW IMPORTED_LOCATION_RELEASE)
+ else()
+ get_target_property(GLEW_LIBRARY_DEBUG GLEW::GLEW IMPORTED_IMPLIB_DEBUG)
+ get_target_property(GLEW_LIBRARY_RELEASE GLEW::GLEW IMPORTED_IMPLIB_RELEASE)
+ endif()
+ get_target_property(_GLEW_LINK_INTERFACE GLEW::GLEW IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE) # same for debug and release
+ list(APPEND GLEW_LIBRARIES ${_GLEW_LINK_INTERFACE})
+ list(APPEND GLEW_LIBRARY ${_GLEW_LINK_INTERFACE})
+ select_library_configurations(GLEW)
+ if("${_GLEW_DEFS}" MATCHES "GLEW_STATIC")
+ set(GLEW_STATIC_LIBRARIES ${GLEW_LIBRARIES})
+ else()
+ set(GLEW_SHARED_LIBRARIES ${GLEW_LIBRARIES})
+ endif()
+ unset(_GLEW_DEFS)
+ unset(_GLEW_LINK_INTERFACE)
+ unset(GLEW_LIBRARY)
+ unset(GLEW_LIBRARY_DEBUG)
+ unset(GLEW_LIBRARY_RELEASE)
return()
endif()