blob: 4f380c832bd41cfe428ad51d832d03ad5a44084e [file] [log] [blame]
# Find libicu's libraries
include(FindPackageHandleStandardArgs)
find_package(PkgConfig)
set(ICU_REQUIRED)
foreach(MODULE ${ICU_FIND_COMPONENTS})
string(TOUPPER "${MODULE}" MODULE)
string(TOLOWER "${MODULE}" module)
list(APPEND ICU_REQUIRED
ICU_${MODULE}_INCLUDE_DIR ICU_${MODULE}_LIBRARIES)
pkg_check_modules(PC_ICU_${MODULE} QUIET icu-${module})
if(NOT ${PKGCONFIG_FOUND})
# PkgConfig doesn't exist on this system, so we manually provide hints via CMake.
set(PC_ICU_${MODULE}_INCLUDE_DIRS "${ICU_${MODULE}_INCLUDE_DIRS}")
set(PC_ICU_${MODULE}_LIBRARY_DIRS "${ICU_${MODULE}_LIBRARY_DIRS}")
endif()
if((${PC_ICU_${MODULE}_FOUND}) OR (NOT ${PKGCONFIG_FOUND}))
set(ICU_${MODULE}_DEFINITIONS ${PC_ICU_${MODULE}_CFLAGS_OTHER})
find_path(ICU_${MODULE}_INCLUDE_DIR unicode
HINTS ${PC_ICU_${MODULE}_INCLUDEDIR} ${PC_ICU_${MODULE}_INCLUDE_DIRS})
set(ICU_${MODULE}_INCLUDE_DIRS ${ICU_${MODULE}_INCLUDE_DIR})
find_library(ICU_${MODULE}_LIBRARY NAMES icu${module} ${ICU_${MODULE}_LIB_NAME}
HINTS ${PC_ICU_${MODULE}_LIBDIR} ${PC_ICU_${MODULE}_LIBRARY_DIRS})
set(ICU_${MODULE}_LIBRARIES ${ICU_${MODULE}_LIBRARY})
endif()
endforeach()
foreach(sdk ANDROID;FREEBSD;LINUX;WINDOWS;HAIKU)
foreach(MODULE ${ICU_FIND_COMPONENTS})
string(TOUPPER "${MODULE}" MODULE)
if("${SWIFT_${sdk}_ICU_${MODULE}_INCLUDE}" STREQUAL "")
set(SWIFT_${sdk}_ICU_${MODULE}_INCLUDE ${ICU_${MODULE}_INCLUDE_DIRS})
endif()
if("${SWIFT_${sdk}_ICU_${MODULE}}" STREQUAL "")
set(SWIFT_${sdk}_ICU_${MODULE} ${ICU_${MODULE}_LIBRARY})
endif()
endforeach()
endforeach()
find_package_handle_standard_args(ICU DEFAULT_MSG ${ICU_REQUIRED})
mark_as_advanced(${ICU_REQUIRED})