summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-06-21 17:57:11 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-06-21 17:57:11 (GMT)
commite260f30d23b3fd89fc7f47603adde3dc03d21601 (patch)
treebbe9f1b4770e0124ec6d31b2cb88729241be701b
parent91392a66e1dffac4b3bd5bfe1080e44f38ca6643 (diff)
parent6087b9e439fd74e82730657a104b7d991eb08d72 (diff)
downloadCMake-e260f30d23b3fd89fc7f47603adde3dc03d21601.zip
CMake-e260f30d23b3fd89fc7f47603adde3dc03d21601.tar.gz
CMake-e260f30d23b3fd89fc7f47603adde3dc03d21601.tar.bz2
Merge topic 'FindGLEW-debug'
6087b9e4 FindGLEW: Search for debug and release configurations separately
-rw-r--r--Modules/FindGLEW.cmake43
1 files changed, 34 insertions, 9 deletions
diff --git a/Modules/FindGLEW.cmake b/Modules/FindGLEW.cmake
index f42182f..7413289 100644
--- a/Modules/FindGLEW.cmake
+++ b/Modules/FindGLEW.cmake
@@ -35,20 +35,45 @@
# License text for the above reference.)
find_path(GLEW_INCLUDE_DIR GL/glew.h)
-find_library(GLEW_LIBRARY NAMES GLEW glew32 glew glew32s PATH_SUFFIXES lib64)
-set(GLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIR})
-set(GLEW_LIBRARIES ${GLEW_LIBRARY})
+if(NOT GLEW_LIBRARY)
+ find_library(GLEW_LIBRARY_RELEASE NAMES GLEW glew32 glew glew32s PATH_SUFFIXES lib64)
+ find_library(GLEW_LIBRARY_DEBUG NAMES GLEWd glew32d glewd PATH_SUFFIXES lib64)
+
+ include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+ select_library_configurations(GLEW)
+endif ()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(GLEW
REQUIRED_VARS GLEW_INCLUDE_DIR GLEW_LIBRARY)
-if(GLEW_FOUND AND NOT TARGET GLEW::GLEW)
- add_library(GLEW::GLEW UNKNOWN IMPORTED)
- set_target_properties(GLEW::GLEW PROPERTIES
- IMPORTED_LOCATION "${GLEW_LIBRARY}"
- INTERFACE_INCLUDE_DIRECTORIES "${GLEW_INCLUDE_DIRS}")
+if(GLEW_FOUND)
+ set(GLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIR})
+
+ if(NOT GLEW_LIBRARIES)
+ set(GLEW_LIBRARIES ${GLEW_LIBRARY})
+ endif()
+
+ if (NOT TARGET GLEW::GLEW)
+ add_library(GLEW::GLEW UNKNOWN IMPORTED)
+ set_target_properties(GLEW::GLEW PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${GLEW_INCLUDE_DIRS}")
+
+ if(GLEW_LIBRARY_RELEASE)
+ set_property(TARGET GLEW::GLEW APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ set_target_properties(GLEW::GLEW PROPERTIES IMPORTED_LOCATION_RELEASE "${GLEW_LIBRARY_RELEASE}")
+ endif()
+
+ if(GLEW_LIBRARY_DEBUG)
+ set_property(TARGET GLEW::GLEW APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ set_target_properties(GLEW::GLEW PROPERTIES IMPORTED_LOCATION_DEBUG "${GLEW_LIBRARY_DEBUG}")
+ endif()
+
+ if(NOT GLEW_LIBRARY_RELEASE AND NOT GLEW_LIBRARY_DEBUG)
+ set_property(TARGET GLEW::GLEW APPEND PROPERTY IMPORTED_LOCATION "${GLEW_LIBRARY}")
+ endif()
+ endif()
endif()
-mark_as_advanced(GLEW_INCLUDE_DIR GLEW_LIBRARY)
+mark_as_advanced(GLEW_INCLUDE_DIR)