summaryrefslogtreecommitdiff
path: root/icu4c/source/common/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'icu4c/source/common/CMakeLists.txt')
-rw-r--r--icu4c/source/common/CMakeLists.txt52
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)
+