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