# libutils_binder_sdk

set(libutils_binder_sdk_SRCS
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/Errors.cpp
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/RefBase.cpp
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/SharedBuffer.cpp
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/String16.cpp
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/String8.cpp
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/StrongPointer.cpp
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/Unicode.cpp
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/VectorImpl.cpp
)
add_library(libutils_binder_sdk ${libutils_binder_sdk_SRCS})
add_library(android::libutils_binder_sdk ALIAS libutils_binder_sdk)

set(libutils_binder_sdk_INCLUDES
    ${ANDROID_BUILD_TOP}/system/core/libutils/binder/include
)
target_include_directories(libutils_binder_sdk PUBLIC ${libutils_binder_sdk_INCLUDES})

set(libutils_binder_sdk_CFLAGS
    -Wall
    -Werror
    -DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION
    -Winvalid-offsetof
    -Wsequence-point
    -Wzero-as-null-pointer-constant
    -DANDROID_LOG_STUB_WEAK_PRINT
    -DANDROID_UTILS_CALLSTACK_ENABLED=0
)
append_cxx_flags_if_supported(libutils_binder_sdk_CFLAGS
    -Wno-exit-time-destructors
)
target_compile_options(libutils_binder_sdk PRIVATE ${libutils_binder_sdk_CFLAGS})

set(libutils_binder_sdk_DEPENDENCIES
    android::liblog_stub
)
target_link_libraries(libutils_binder_sdk ${libutils_binder_sdk_DEPENDENCIES})
