xref: /aosp_15_r20/external/icu/libandroidicuinit/CMakeLists.txt (revision 0e209d3975ff4a8c132096b14b0e9364a753506e)
1# Minimum CMake required
2cmake_minimum_required(VERSION 3.1.3)
3
4# Project
5project(androidicuinit C CXX)
6
7add_definitions("-DANDROID_LINK_SHARED_ICU4C")
8add_definitions("-DANDROID_ICU_NO_DAT")
9add_definitions("-DNO_ANDROID_LIBLOG")
10
11# Glob libandroidicuinit source files
12file(
13   GLOB_RECURSE
14   ANDROIDICU_INIT_CC_SOURCES
15   RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
16   "${CMAKE_CURRENT_SOURCE_DIR}/*.h"
17   "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp"
18)
19message(STATUS "ANDROIDICU_INIT_CC_SOURCES=${ANDROIDICU_INIT_CC_SOURCES}")
20
21# Add icuuc, android_icu4c headers
22set(ICU_COMMON_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../icu4c/source/common")
23set(ICU_CONFIG_LOCAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../android_icu4c/include")
24
25add_library(
26   # name
27   androidicuinit
28
29   # SHARED or STATIC
30   STATIC
31
32   # Provides a relative path to your source file(s).
33   ${ANDROIDICU_INIT_CC_SOURCES}
34)
35target_include_directories(androidicuinit PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
36target_include_directories(androidicuinit PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include")
37target_include_directories(androidicuinit PRIVATE ${ICU_COMMON_SOURCE_DIR})
38target_include_directories(androidicuinit PRIVATE ${ICU_CONFIG_LOCAL_SOURCE_DIR})
39
40set_target_properties(androidicuinit PROPERTIES LINKER_LANGUAGE CXX)
41