Fix ICU build in CMake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f7e5c7..6b67010 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,7 +68,7 @@
endif()
if(LIBXML2_WITH_ICU)
- find_package(ICU REQUIRED)
+ find_package(ICU REQUIRED COMPONENTS data i18n uc)
endif()
if(LIBXML2_WITH_LZMA)
@@ -463,7 +463,7 @@
endif()
if(LIBXML2_WITH_ICU)
- target_link_libraries(LibXml2 PRIVATE ICU::i18n)
+ target_link_libraries(LibXml2 PRIVATE ICU::data ICU::i18n ICU::uc)
if(WIN32)
set(ICU_LIBS "-licudt -licuin -licuuc")
else()
diff --git a/libxml2-config.cmake.cmake.in b/libxml2-config.cmake.cmake.in
index 8614f21..f176057 100644
--- a/libxml2-config.cmake.cmake.in
+++ b/libxml2-config.cmake.cmake.in
@@ -95,7 +95,7 @@
endif()
if(@LIBXML2_WITH_ICU@)
- find_dependency(ICU)
+ find_dependency(ICU COMPONENTS data i18n uc)
list(APPEND LIBXML2_LIBRARIES ${ICU_LIBRARIES})
list(APPEND LIBXML2_INCLUDE_DIRS ${ICU_INCLUDE_DIRS})
endif()
diff --git a/libxml2-config.cmake.in b/libxml2-config.cmake.in
index 73112ef..cc5972e 100644
--- a/libxml2-config.cmake.in
+++ b/libxml2-config.cmake.in
@@ -57,10 +57,10 @@
endif()
if(@WITH_ICU@)
- find_dependency(ICU)
+ find_dependency(ICU COMPONENTS data i18n uc)
list(APPEND LIBXML2_LIBRARIES ${ICU_LIBRARIES})
list(APPEND LIBXML2_INCLUDE_DIRS ${ICU_INCLUDE_DIRS})
- list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ICU::i18n>")
+ list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ICU::data>;\$<LINK_ONLY:ICU::i18n>;\$<LINK_ONLY:ICU::uc>")
endif()
if(@WITH_LZMA@)