diff options
Diffstat (limited to 'libandroidicu/static_shim/CMakeLists.txt')
-rw-r--r-- | libandroidicu/static_shim/CMakeLists.txt | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/libandroidicu/static_shim/CMakeLists.txt b/libandroidicu/static_shim/CMakeLists.txt new file mode 100644 index 000000000..472f3d88a --- /dev/null +++ b/libandroidicu/static_shim/CMakeLists.txt @@ -0,0 +1,48 @@ +# Minimum CMake required +cmake_minimum_required(VERSION 3.1.3) + +# Project +project(libandroidicu C CXX) + +add_definitions("-DANDROID_LINK_SHARED_ICU4C") + +# Add other source dirs that icuuc uses +set(ICU_CONFIG_LOCAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../android_icu4c/include") + +# Compile icuuc +set(ICUUC_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../icu4c/source/common") + +# Compile icui18n +set(ICU_I18N_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../icu4c/source/i18n") +set(ICU_I18N_TARGET_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/libicui18n-target") +add_subdirectory(${ICU_I18N_SOURCE_DIR} ${ICU_I18N_TARGET_BINARY_DIR}) + +# Glob shim sources +set(ICU_SHIM_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") +file( + GLOB_RECURSE + ICU_STATIC_SHIM_CC_SOURCES + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "${ICU_SHIM_SOURCE_DIR}/*.cpp" + "${ICU_SHIM_SOURCE_DIR}/*.h" +) +message(STATUS "ICU_STATIC_SHIM_CC_SOURCES=${ICU_STATIC_SHIM_CC_SOURCES}") + +add_library( + # name + libandroidicu + + # SHARED or STATIC + STATIC + + # Provides a relative path to your source file(s). + ${ICU_STATIC_SHIM_CC_SOURCES} +) +target_include_directories(libandroidicu PRIVATE ${ICUUC_SOURCE_DIR}) +target_include_directories(libandroidicu PRIVATE ${ICU_CONFIG_LOCAL_SOURCE_DIR}) +target_include_directories(libandroidicu PRIVATE ${ICU_I18N_SOURCE_DIR}) +target_include_directories(libandroidicu PRIVATE ${ICU_STATIC_SHIM_CC_SOURCES}) +target_link_libraries(libandroidicu icui18n) + +set_target_properties(libandroidicu PROPERTIES LINKER_LANGUAGE CXX) + |