diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2019-09-06 22:54:59 +0200 |
|---|---|---|
| committer | Griffin Downs <35574547+grdowns@users.noreply.github.com> | 2019-09-06 13:54:59 -0700 |
| commit | 257bd7a60f0a906dc71c26146fc106babca4fb6d (patch) | |
| tree | a5782dfef61b24a4ec19c146c147a235075cf8df | |
| parent | ab51cc9aa13010d60c4adf2f16578c85b3a4a7b6 (diff) | |
| download | vcpkg-257bd7a60f0a906dc71c26146fc106babca4fb6d.tar.gz vcpkg-257bd7a60f0a906dc71c26146fc106babca4fb6d.zip | |
[VTK/GLEW] Fix Regression of VTK with newer CMake Versions (#7967)
* Add glew variables lost by cmakes new FindGLEW to wrapper
The variables are required by ports like VTK
* fix file location.
* completly refactor wrapper. Static case was not handled correctly
* add singular variables for pangolin
| -rw-r--r-- | ports/glew/CONTROL | 2 | ||||
| -rw-r--r-- | ports/glew/portfile.cmake | 1 | ||||
| -rw-r--r-- | ports/glew/vcpkg-cmake-wrapper.cmake | 25 |
3 files changed, 27 insertions, 1 deletions
diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL index 41df4d08c..011b631b4 100644 --- a/ports/glew/CONTROL +++ b/ports/glew/CONTROL @@ -1,4 +1,4 @@ Source: glew -Version: 2.1.0-5 +Version: 2.1.0-6 Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. Homepage: https://github.com/nigels-com/glew diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake index 818ee52ea..1a3bd2a10 100644 --- a/ports/glew/portfile.cmake +++ b/ports/glew/portfile.cmake @@ -63,5 +63,6 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/glew ) file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/glew RENAME copyright) file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/glew/vcpkg-cmake-wrapper.cmake b/ports/glew/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..6ad9ae434 --- /dev/null +++ b/ports/glew/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,25 @@ +include(SelectLibraryConfigurations)
+_find_package(GLEW CONFIG)
+if(GLEW_FOUND AND TARGET GLEW::GLEW AND NOT DEFINED GLEW_INCLUDE_DIRS)
+ 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)
+endif()
\ No newline at end of file |
