blob: bd4d719234c8b0a5be1eea00796ff73287aa7b4a [file] [log] [blame]
diff --git a/cmake/modules/FindICU.cmake b/cmake/modules/FindICU.cmake
index e62f737..ebfdadb 100644
--- a/cmake/modules/FindICU.cmake
+++ b/cmake/modules/FindICU.cmake
@@ -13,6 +13,29 @@
# ICO_MINOR_VERSION - ICU minor version
#
+find_package(PkgConfig)
+if(PKG_CONFIG_FOUND)
+ pkg_check_modules(_pc_icu icu-i18n)
+ if(_pc_icu_FOUND)
+ set(ICU_FOUND 1)
+ set(ICU_I18N_FOUND 1)
+ string(REPLACE ";" " " ICU_LDFLAGS "${_pc_icu_LDFLAGS}")
+ set(ICU_LIBRARIES ${ICU_LDFLAGS})
+ set(ICU_LIBRARY ${ICU_LDFLAGS})
+ set(ICU_I18N_LIBRARY ${ICU_LDFLAGS})
+ mark_as_advanced(ICU_LIBRARY)
+ mark_as_advanced(ICU_I18N_LIBRARY)
+ set(ICU_INCLUDE_DIRS ${_pc_icu_CFLAGS})
+ set(ICU_INCLUDE_DIR ${_pc_icu_INCLUDE_DIRS})
+ mark_as_advanced(ICU_INCLUDE_DIR)
+ set(ICU_VERSION ${_pc_icu_VERSION})
+ string(REGEX REPLACE "([0-9]+)[.].*" "\\1" ICU_MAJOR_VERSION "${ICU_VERSION}")
+ string(REGEX REPLACE ".*[.]([0-9]+)" "\\1" ICU_MINOR_VERSION "${ICU_VERSION}")
+ endif()
+endif()
+
+if(NOT ICU_FOUND)
+
if(WIN32)
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _program_FILES_DIR)
endif()
@@ -95,6 +118,8 @@ else()
set(ICU_MINOR_VERSION)
endif()
+endif()
+
if(ICU_FOUND)
if(NOT ICU_FIND_QUIETLY)
message(STATUS "Found ICU version ${ICU_VERSION}")