1
0
Эх сурвалжийг харах

Merge topic 'ice-debug'

86bcdbcd FindIce: Support finding both release and debug libraries
Brad King 9 жил өмнө
parent
commit
5889eb43ea

+ 36 - 6
Modules/FindIce.cmake

@@ -362,12 +362,20 @@ function(_Ice_FIND)
   foreach(component ${Ice_FIND_COMPONENTS})
   foreach(component ${Ice_FIND_COMPONENTS})
     string(TOUPPER "${component}" component_upcase)
     string(TOUPPER "${component}" component_upcase)
     set(component_cache "Ice_${component_upcase}_LIBRARY")
     set(component_cache "Ice_${component_upcase}_LIBRARY")
+    set(component_cache_release "${component_cache}_RELEASE")
+    set(component_cache_debug "${component_cache}_DEBUG")
     set(component_found "${component_upcase}_FOUND")
     set(component_found "${component_upcase}_FOUND")
-    find_library("${component_cache}" "${component}"
+    find_library("${component_cache_release}" "${component}"
       HINTS ${ice_roots}
       HINTS ${ice_roots}
       PATH_SUFFIXES ${ice_library_suffixes}
       PATH_SUFFIXES ${ice_library_suffixes}
-      DOC "Ice ${component} library")
-    mark_as_advanced("${component_cache}")
+      DOC "Ice ${component} library (release)")
+    find_library("${component_cache_debug}" "${component}d"
+      HINTS ${ice_roots}
+      PATH_SUFFIXES ${ice_library_suffixes}
+      DOC "Ice ${component} library (debug)")
+    include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+    select_library_configurations(Ice_${component_upcase})
+    mark_as_advanced("${component_cache_release}" "${component_cache_debug}")
     if(${component_cache})
     if(${component_cache})
       set("${component_found}" ON)
       set("${component_found}" ON)
       list(APPEND Ice_LIBRARY "${${component_cache}}")
       list(APPEND Ice_LIBRARY "${${component_cache}}")
@@ -440,6 +448,8 @@ if(Ice_FOUND)
   foreach(_Ice_component ${Ice_FIND_COMPONENTS})
   foreach(_Ice_component ${Ice_FIND_COMPONENTS})
     string(TOUPPER "${_Ice_component}" _Ice_component_upcase)
     string(TOUPPER "${_Ice_component}" _Ice_component_upcase)
     set(_Ice_component_cache "Ice_${_Ice_component_upcase}_LIBRARY")
     set(_Ice_component_cache "Ice_${_Ice_component_upcase}_LIBRARY")
+    set(_Ice_component_cache_release "Ice_${_Ice_component_upcase}_LIBRARY_RELEASE")
+    set(_Ice_component_cache_debug "Ice_${_Ice_component_upcase}_LIBRARY_DEBUG")
     set(_Ice_component_lib "Ice_${_Ice_component_upcase}_LIBRARIES")
     set(_Ice_component_lib "Ice_${_Ice_component_upcase}_LIBRARIES")
     set(_Ice_component_found "${_Ice_component_upcase}_FOUND")
     set(_Ice_component_found "${_Ice_component_upcase}_FOUND")
     set(_Ice_imported_target "Ice::${_Ice_component}")
     set(_Ice_imported_target "Ice::${_Ice_component}")
@@ -447,9 +457,29 @@ if(Ice_FOUND)
       set("${_Ice_component_lib}" "${${_Ice_component_cache}}")
       set("${_Ice_component_lib}" "${${_Ice_component_cache}}")
       if(NOT TARGET ${_Ice_imported_target})
       if(NOT TARGET ${_Ice_imported_target})
         add_library(${_Ice_imported_target} UNKNOWN IMPORTED)
         add_library(${_Ice_imported_target} UNKNOWN IMPORTED)
-        set_target_properties(${_Ice_imported_target} PROPERTIES
-          IMPORTED_LOCATION "${${_Ice_component_cache}}"
-          INTERFACE_INCLUDE_DIRECTORIES "${Ice_INCLUDE_DIR}")
+        if()
+          set_target_properties(${_Ice_imported_target} PROPERTIES
+            INTERFACE_INCLUDE_DIRECTORIES "${Ice_INCLUDE_DIR}")
+        endif()
+        if(EXISTS "${${_Ice_component_cache}}")
+          set_target_properties(${_Ice_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+            IMPORTED_LOCATION "${${_Ice_component_cache}}")
+        endif()
+        if(EXISTS "${${_Ice_component_cache_debug}}")
+          set_property(TARGET ${_Ice_imported_target} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS DEBUG)
+          set_target_properties(${_Ice_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
+            IMPORTED_LOCATION_DEBUG "${${_Ice_component_cache_debug}}")
+        endif()
+        if(EXISTS "${${_Ice_component_cache_release}}")
+          set_property(TARGET ${_Ice_imported_target} APPEND PROPERTY
+            IMPORTED_CONFIGURATIONS RELEASE)
+          set_target_properties(${_Ice_imported_target} PROPERTIES
+            IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
+            IMPORTED_LOCATION_RELEASE "${${_Ice_component_cache_release}}")
+        endif()
       endif()
       endif()
     endif()
     endif()
     unset(_Ice_component_upcase)
     unset(_Ice_component_upcase)