44 lines
1.3 KiB
Diff
44 lines
1.3 KiB
Diff
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}")
|