diff options
author | Markus Mützel <markus.muetzel@gmx.de> | 2022-06-21 19:12:42 +0200 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2022-06-21 13:56:29 -0400 |
commit | a31b27078595fce911b2469937ac12934555644a (patch) | |
tree | e31c2797767669fdcc4b1a09186ec1456567ea2b /Modules/FindGLEW.cmake | |
parent | c93d3cf0b7823020bef358eff809b5590ba5c572 (diff) | |
download | cmake-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.cmake | 24 |
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() |