summaryrefslogtreecommitdiffstats
path: root/Modules/FindIce.cmake
diff options
context:
space:
mode:
authorRoger Leigh <rleigh@codelibre.net>2016-06-16 10:21:15 (GMT)
committerRoger Leigh <rleigh@codelibre.net>2016-06-16 11:23:37 (GMT)
commit86bcdbcde52988fe32e017700d2d0f759a2c2570 (patch)
tree6429017a699836df95ccb040f68de83b53a196e6 /Modules/FindIce.cmake
parent83ae79442c8bc16cca72977e0671845efe191696 (diff)
downloadCMake-86bcdbcde52988fe32e017700d2d0f759a2c2570.zip
CMake-86bcdbcde52988fe32e017700d2d0f759a2c2570.tar.gz
CMake-86bcdbcde52988fe32e017700d2d0f759a2c2570.tar.bz2
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.
Diffstat (limited to 'Modules/FindIce.cmake')
-rw-r--r--Modules/FindIce.cmake42
1 files changed, 36 insertions, 6 deletions
diff --git a/Modules/FindIce.cmake b/Modules/FindIce.cmake
index 3fa6cab..4bd6d3c 100644
--- a/Modules/FindIce.cmake
+++ b/Modules/FindIce.cmake
@@ -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)