• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if(NOT trout_ANDROID_SYSCORE_DIR)
2    set(trout_ANDROID_SYSCORE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/android/system_core")
3endif()
4
5set(_trout_ANDROID_CXX_FLAGS -Wall -Werror -Wextra -Wno-unknown-warning-option -Wno-c99-designator -std=c++17)
6
7set(trout_ANDROID_LIBLOG_DIR ${trout_ANDROID_SYSCORE_DIR}/liblog)
8set(trout_ANDROID_LIBLOG_INCLUDE_DIR ${trout_ANDROID_LIBLOG_DIR}/include)
9set(trout_ANDROID_LIBLOG_LIBRARY "android_liblog")
10
11set(trout_ANDROID_LIBBASE_DIR ${trout_ANDROID_SYSCORE_DIR}/base)
12set(trout_ANDROID_LIBBASE_INCLUDE_DIR ${trout_ANDROID_LIBBASE_DIR}/include)
13set(trout_ANDROID_LIBBASE_LIBRARY "android_libbase")
14
15set(trout_ANDROID_LIBUTILS_DIR ${trout_ANDROID_SYSCORE_DIR}/libutils)
16set(trout_ANDROID_LIBUTLS_INCLUDE_DIR ${trout_ANDROID_LIBUTILS_DIR}/include)
17set(trout_ANDROID_LIBUTILS_LIBRARY "android_libutils")
18
19set(trout_ANDROID_LIBCUTLS_INCLUDE_DIR ${trout_ANDROID_SYSCORE_DIR}/libcutils/include)
20
21
22# =========== libbase =================
23
24if (NOT TARGET ${trout_ANDROID_LIBBASE_LIBRARY})
25    add_library(${trout_ANDROID_LIBBASE_LIBRARY}
26        ${trout_ANDROID_LIBBASE_DIR}/liblog_symbols.cpp
27        ${trout_ANDROID_LIBBASE_DIR}/logging.cpp
28        ${trout_ANDROID_LIBBASE_DIR}/strings.cpp
29        ${trout_ANDROID_LIBBASE_DIR}/stringprintf.cpp
30        ${trout_ANDROID_LIBBASE_DIR}/threads.cpp
31    )
32
33    target_include_directories(${trout_ANDROID_LIBBASE_LIBRARY}
34        PUBLIC ${trout_ANDROID_LIBBASE_INCLUDE_DIR}
35        PRIVATE ${trout_FMTLIB_INCLUDE_DIRS}
36    )
37
38    target_link_libraries(${trout_ANDROID_LIBBASE_LIBRARY}
39        ${trout_ANDROID_LIBLOG_LIBRARY}
40        ${trout_FMTLIB_LIBRARIES}
41    )
42
43    target_compile_options(${trout_ANDROID_LIBBASE_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
44endif()
45
46
47# =========== liblog =================
48
49if (NOT TARGET ${trout_ANDROID_LIBLOG_LIBRARY})
50    add_library(${trout_ANDROID_LIBLOG_LIBRARY}
51        ${trout_ANDROID_LIBLOG_DIR}/logger_write.cpp
52        ${trout_ANDROID_LIBLOG_DIR}/properties.cpp
53    )
54
55    target_include_directories(${trout_ANDROID_LIBLOG_LIBRARY}
56        PUBLIC ${trout_ANDROID_LIBLOG_INCLUDE_DIR}
57        PRIVATE ${trout_ANDROID_LIBBASE_INCLUDE_DIR}
58        PRIVATE ${trout_ANDROID_LIBCUTLS_INCLUDE_DIR}
59    )
60
61    target_compile_options(${trout_ANDROID_LIBLOG_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
62endif()
63
64
65# =========== libutils =================
66
67if (NOT TARGET ${trout_ANDROID_LIBUTILS_LIBRARY})
68    add_library(${trout_ANDROID_LIBUTILS_LIBRARY}
69         ${trout_ANDROID_LIBUTILS_DIR}/SystemClock.cpp
70         ${trout_ANDROID_LIBUTILS_DIR}/Timers.cpp
71    )
72
73    target_include_directories(${trout_ANDROID_LIBUTILS_LIBRARY}
74        PUBLIC ${trout_ANDROID_LIBUTLS_INCLUDE_DIR}
75        PRIVATE ${trout_ANDROID_LIBCUTLS_INCLUDE_DIR}
76    )
77
78    target_link_libraries(${trout_ANDROID_LIBUTILS_LIBRARY}
79        ${trout_ANDROID_LIBLOG_LIBRARY}
80    )
81
82    target_compile_options(${trout_ANDROID_LIBUTILS_LIBRARY} PRIVATE ${_trout_ANDROID_CXX_FLAGS})
83endif()
84
85
86# =========== export libraries =================
87
88set(trout_ANDROID_INCLUDE_DIRS
89    ${trout_ANDROID_LIBBASE_INCLUDE_DIR}
90    ${trout_ANDROID_LIBCUTLS_INCLUDE_DIR}
91)
92
93set(trout_ANDROID_LIBRARIES
94	${trout_ANDROID_LIBBASE_LIBRARY}
95	${trout_ANDROID_LIBLOG_LIBRARY}
96	${trout_ANDROID_LIBUTILS_LIBRARY}
97)
98