aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2019-09-06 22:54:59 +0200
committerGriffin Downs <35574547+grdowns@users.noreply.github.com>2019-09-06 13:54:59 -0700
commit257bd7a60f0a906dc71c26146fc106babca4fb6d (patch)
treea5782dfef61b24a4ec19c146c147a235075cf8df
parentab51cc9aa13010d60c4adf2f16578c85b3a4a7b6 (diff)
downloadvcpkg-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/CONTROL2
-rw-r--r--ports/glew/portfile.cmake1
-rw-r--r--ports/glew/vcpkg-cmake-wrapper.cmake25
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