mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
FindIce: Support finding both release and debug libraries
Search for both release and debug library variants, and use SelectLibraryConfigurations to choose the appropriate library. Also add both release and debug libraries to the imported targets.
This commit is contained in:
+36
-6
@@ -360,12 +360,20 @@ function(_Ice_FIND)
|
||||
foreach(component ${Ice_FIND_COMPONENTS})
|
||||
string(TOUPPER "${component}" component_upcase)
|
||||
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")
|
||||
find_library("${component_cache}" "${component}"
|
||||
find_library("${component_cache_release}" "${component}"
|
||||
HINTS ${ice_roots}
|
||||
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})
|
||||
set("${component_found}" ON)
|
||||
list(APPEND Ice_LIBRARY "${${component_cache}}")
|
||||
@@ -438,6 +446,8 @@ if(Ice_FOUND)
|
||||
foreach(_Ice_component ${Ice_FIND_COMPONENTS})
|
||||
string(TOUPPER "${_Ice_component}" _Ice_component_upcase)
|
||||
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_found "${_Ice_component_upcase}_FOUND")
|
||||
set(_Ice_imported_target "Ice::${_Ice_component}")
|
||||
@@ -445,9 +455,29 @@ if(Ice_FOUND)
|
||||
set("${_Ice_component_lib}" "${${_Ice_component_cache}}")
|
||||
if(NOT TARGET ${_Ice_imported_target})
|
||||
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()
|
||||
unset(_Ice_component_upcase)
|
||||
|
||||
Reference in New Issue
Block a user