diff options
author | Francois Budin <francois.budin@kitware.com> | 2017-10-25 20:21:48 (GMT) |
---|---|---|
committer | Francois Budin <francois.budin@kitware.com> | 2017-10-25 20:21:48 (GMT) |
commit | 20696a53e4f3a85886c1266c45923ea67f0ad494 (patch) | |
tree | 0a84e5984ecd8c36fe68493e26bcb9d24f438831 /Modules/FindICU.cmake | |
parent | 606ece67ef971af6fcd11051ae9d5aab7c07027c (diff) | |
download | CMake-20696a53e4f3a85886c1266c45923ea67f0ad494.zip CMake-20696a53e4f3a85886c1266c45923ea67f0ad494.tar.gz CMake-20696a53e4f3a85886c1266c45923ea67f0ad494.tar.bz2 |
FindICU: Add support for static libraries on Windows
When compiling ICU statically on Windows with Visual Studio, the library
file names are prefixed with 's' [1].
[1] http://source.icu-project.org/repos/icu/trunk/icu4c/source/icudefs.mk.in
`STATIC_PREFIX_WHEN_USED = s`
Diffstat (limited to 'Modules/FindICU.cmake')
-rw-r--r-- | Modules/FindICU.cmake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Modules/FindICU.cmake b/Modules/FindICU.cmake index 3021167..aa531d5 100644 --- a/Modules/FindICU.cmake +++ b/Modules/FindICU.cmake @@ -172,6 +172,11 @@ function(_ICU_FIND) # Find all ICU libraries list(APPEND icu_library_suffixes "${_lib64}" "lib") set(ICU_REQUIRED_LIBS_FOUND ON) + set(static_prefix ) + # static icu libraries compiled with MSVC have the prefix 's' + if(MSVC) + set(static_prefix "s") + endif() foreach(component ${ICU_FIND_COMPONENTS}) string(TOUPPER "${component}" component_upcase) set(component_cache "ICU_${component_upcase}_LIBRARY") @@ -206,6 +211,20 @@ function(_ICU_FIND) list(APPEND component_debug_libnames "icui18nd") endif() + if(static_prefix) + unset(static_component_libnames) + unset(static_component_debug_libnames) + foreach(component_libname ${component_libnames}) + list(APPEND static_component_libnames + ${static_prefix}${component_libname}) + endforeach() + foreach(component_libname ${component_debug_libnames}) + list(APPEND static_component_debug_libnames + ${static_prefix}${component_libname}) + endforeach() + list(APPEND component_libnames ${static_component_libnames}) + list(APPEND component_debug_libnames ${static_component_debug_libnames}) + endif() find_library("${component_cache_release}" ${component_libnames} HINTS ${icu_roots} PATH_SUFFIXES ${icu_library_suffixes} |