FindICU.cmake

main 29 lines · 1.5 KB Raw
Alex Alex Commit Client Upload Part 2 19/10/2026 00:06
1# Try to find the ICU library
2# ICU_FOUND - system has ICU
3# ICU_INCLUDE_DIR - the ICU include directory
4# ICU_LIBRARY - the ICU library
5
6FIND_PATH(ICU_INCLUDE_DIR NAMES unicode/utf8.h)
7SET(_ICUIO_STATIC_LIBS libicuio.a)
8SET(_ICUIO_SHARED_LIBS libicuio.dll.a icuio)
9SET(_ICUI18N_STATIC_LIBS libicui18n.a)
10SET(_ICUI18N_SHARED_LIBS libicui18n.dll.a icui18n)
11SET(_ICUUC_STATIC_LIBS libicuuc.a)
12SET(_ICUUC_SHARED_LIBS libicuuc.dll.a icuuc)
13SET(_ICUDATA_STATIC_LIBS libicudata.a)
14SET(_ICUDATA_SHARED_LIBS libicudata.dll.a icudata)
15IF(USE_STATIC_LIBS)
16 FIND_LIBRARY(ICUIO_LIBRARY NAMES ${_ICUIO_STATIC_LIBS} ${_ICUIO_SHARED_LIBS})
17 FIND_LIBRARY(ICUI18N_LIBRARY NAMES ${_ICUI18N_STATIC_LIBS} ${_ICUI18N_SHARED_LIBS})
18 FIND_LIBRARY(ICUUC_LIBRARY NAMES ${_ICUUC_STATIC_LIBS} ${_ICUUC_SHARED_LIBS})
19 FIND_LIBRARY(ICUDATA_LIBRARY NAMES ${_ICUDATA_STATIC_LIBS} ${_ICUDATA_SHARED_LIBS})
20ELSE()
21 FIND_LIBRARY(ICUIO_LIBRARY NAMES ${_ICUIO_SHARED_LIBS} ${_ICUIO_STATIC_LIBS})
22 FIND_LIBRARY(ICUI18N_LIBRARY NAMES ${_ICUI18N_SHARED_LIBS} ${_ICUI18N_STATIC_LIBS})
23 FIND_LIBRARY(ICUUC_LIBRARY NAMES ${_ICUUC_SHARED_LIBS} ${_ICUUC_STATIC_LIBS})
24 FIND_LIBRARY(ICUDATA_LIBRARY NAMES ${_ICUDATA_SHARED_LIBS} ${_ICUDATA_STATIC_LIBS})
25ENDIF()
26SET(ICU_LIBRARIES ${ICUIO_LIBRARY} ${ICUI18N_LIBRARY} ${ICUUC_LIBRARY} ${ICUDATA_LIBRARY})
27INCLUDE(FindPackageHandleStandardArgs)
28FIND_PACKAGE_HANDLE_STANDARD_ARGS(ICU DEFAULT_MSG ICU_LIBRARIES ICU_INCLUDE_DIR)
29MARK_AS_ADVANCED(ICU_LIBRARIES ICU_INCLUDE_DIR)
Top