From 606ece67ef971af6fcd11051ae9d5aab7c07027c Mon Sep 17 00:00:00 2001 From: Francois Budin Date: Wed, 25 Oct 2017 16:20:19 -0400 Subject: FindICU: Search in 'sbin' directories for icu tools On Ubuntu, several binaries that FindICU.cmake searches for are installed in 'sbin' instead of 'bin' [1]. [1] https://packages.ubuntu.com/xenial/amd64/icu-devtools/filelist --- Modules/FindICU.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/FindICU.cmake b/Modules/FindICU.cmake index d9705d9..3021167 100644 --- a/Modules/FindICU.cmake +++ b/Modules/FindICU.cmake @@ -156,7 +156,7 @@ function(_ICU_FIND) # Find all ICU programs - list(APPEND icu_binary_suffixes "${_bin64}" "bin") + list(APPEND icu_binary_suffixes "${_bin64}" "bin" "sbin") foreach(program ${icu_programs}) string(TOUPPER "${program}" program_upcase) set(cache_var "ICU_${program_upcase}_EXECUTABLE") -- cgit v0.12 From 20696a53e4f3a85886c1266c45923ea67f0ad494 Mon Sep 17 00:00:00 2001 From: Francois Budin Date: Wed, 25 Oct 2017 16:21:48 -0400 Subject: 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` --- Modules/FindICU.cmake | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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} -- cgit v0.12