CMake script supplying ICU libraries conveniently, encapsulating the
ICU build system on various platforms.
See the CI configuration for examples on (cross) compiling.
- Allows usage of system ICU
- Allows trivial and complex building of ICU
- Allows cross compilation, especially for Android
- Defaults to prebuilt binaries
To use the system ICU, simply set SYSTEM_ICU=ON.
Default behaviour is the download of a prebuilt binary. This is only intended as a convenience for debugging purposes and NOT for production use. Available prebuilt binaries can be viewed here. The prebuilt Windows binaries are built with MinGW-w64, so they may not be compatible with MSVC.
In order to build ICU, set BUILD_ICU=ON along with the version, for example ICU_BUILD_VERSION=61.1.
For source package integrity, an optional SHA256 ICU_BUILD_HASH can be supplied.
Cross compilation is enabled using ICU_CROSS_ARCH=<architecture triplet> to specify the target.
Android requires the cross compile triplet as well as standard Android CMake toolchain configuration options.
These options are not required when using ICU-CMake from Gradle's native build system.
- Add
ICU-CMakeas a submodule to your Git project usinggit submodule add <URL> external/icu-cmake - Initialize the submodule using
git submodule update --init --recursive - In your
CMakeLists.txtinclude the directory usingadd_subdirectory(external/icu-cmake) - Link against the
icutarget, which will also include the headers
These scripts, unless otherwise stated, are subject to the MIT license.