# Overview

FindICU.cmake ============= :Author: Sergiu Dotenco :Date: October 17, 2011 Overview -------- This module allows to locate ICU_, and to determine the build configuration required to build against the library. Additionally, FindICU.cmake provides functionality that allows to automate the creation of resource bundles__. __ create-rb_ .. _ICU: http://www.icu-project.org Customizable variables ---------------------- ICU_ROOT_DIR Specifies ICU's root directory. On Windows the library location typically will have to be provided explicitly using the -D command-line option. Alternatively, the ICUROOT environment variable can be set. Read-only variables ------------------- ICU_FOUND Indicates whether the library has been found. ICU_INCLUDE_DIRS Points to the ICU include directory. ICU_LIBRARIES Points to the ICU libraries that should be passed to target_link_libararies. ICU_C_FLAGS, ICU_C_FLAGS_SHARED Required C compile flags when building against ICU. ICU_CXX_FLAGS, ICU_CXX_FLAGS_SHARED Required C++ compile flags when building against ICU. ICU_<COMPONENT>_FOUND Indicates whether the specified <COMPONENT> has been found. ICU_<PROGRAM>_EXECUTABLE The path to the specified ICU <PROGRAM>. .. _create-rb: Building resource bundles ------------------------- :: CREATE_ICU_RESOURCE_BUNDLE (TARGET target NAME name FILES file1 [file2 ...] [COMMON | STATIC | SHARED] [VERBOSE] [C_FLAGS VAR] [CXX_FLAGS VAR] [GENRB_ARGS arg1 [arg2 ...] [PKGDATA_ARGS arg1 [arg2 ...]] [RESOURCE_LOCATION VAR] [REVISION rev] [IMPORT_DIRECTORY dir]) This function wraps the functionality provided by ICU's *genrb* and *pkgdata* tools. These tools allow to create a resource bundle from a set of text files. The module adds the executables as a custom command to the specified target. The name of the resource bundle is determined by the name argument, the input files by file1, file2, etc. Resource bundles can be created either as an endian-specific, but portable common data file, or as a static/shared library. Unless explicitly specified, a common data resource bundle will be created. When creating a static or shared resource bundle, an imported library target will be added which can be referenced by bundle's name. In some situations it may be necessary to specify additional *genrb* or *pkgdata* command-line arguments. This can be achieved by setting the optional GENRB_ARGS or PKGDATA_ARGS argument, respectively. The standard output of both tools is suppressed by default. To prevent this behavior, the VERBOSE option can be used. The location of the resource can be determined using the RESOURCE_LOCATION option together with a variable name VAR that will store that path. When creating a shared library bundle on Unix-like system, library's revision has to be set. This can be done by supplying the appropriate version to the REVISION option. If the option is omitted, the revision will be set to 1.0. The option IMPORT_DIRECTORY can be used to specify the directory that contains the resources which are imported by the resource bundle. .. vi: spell spelllang=en