diff options
Diffstat (limited to 'icu4c/source/common/CMakeLists.txt')
-rw-r--r-- | icu4c/source/common/CMakeLists.txt | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/icu4c/source/common/CMakeLists.txt b/icu4c/source/common/CMakeLists.txt new file mode 100644 index 000000000..8ff8bced7 --- /dev/null +++ b/icu4c/source/common/CMakeLists.txt @@ -0,0 +1,52 @@ +# Minimum CMake required +cmake_minimum_required(VERSION 3.1.3) + +# Project +project(icuuc C CXX) + +add_definitions("-DANDROID_LINK_SHARED_ICU4C") +add_definitions("-DU_COMMON_IMPLEMENTATION") +add_definitions("-D_REENTRANT") + +# To suppress deprecated declarations for 'uidna_toASCII_68' +add_definitions("-Wno-deprecated-declarations") + +# Compile icuuc_stubdata +set(ICUUC_STUB_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../stubdata") +set(ICUUC_STUB_TARGET_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/libicuuc_stubdata-target") +add_subdirectory(${ICUUC_STUB_SOURCE_DIR} ${ICUUC_STUB_TARGET_BINARY_DIR}) + +# Compile androidicuinit +set(ANDROIDICUINIT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../libandroidicuinit") +set(ANDROIDICUINIT_TARGET_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/androidicu_init-target") +add_subdirectory(${ANDROIDICUINIT_SOURCE_DIR} ${ANDROIDICUINIT_TARGET_BINARY_DIR}) + +# Add android_icu4c headers +set(ICU_CONFIG_LOCAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../android_icu4c/include") + +# Glob icu common source files +file( + GLOB_RECURSE + ICU_COMMON_CC_SOURCES + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "*.h" "*.cpp" +) +message(STATUS "ICU_COMMON_CC_SOURCES=${ICU_COMMON_CC_SOURCES}") + +add_library( + # name + icuuc + + # SHARED or STATIC + STATIC + + # Provides a relative path to your source file(s). + ${ICU_COMMON_CC_SOURCES} +) +target_include_directories(icuuc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(icuuc PRIVATE ${ICU_CONFIG_LOCAL_SOURCE_DIR}) +target_include_directories(icuuc PRIVATE "${ANDROIDICUINIT_SOURCE_DIR}/include") +target_link_libraries(icuuc icuuc_stubdata androidicuinit) + +set_target_properties(icuuc PROPERTIES LINKER_LANGUAGE CXX) + |