# libbinder_headers_platform_shared

add_library(libbinder_headers_platform_shared INTERFACE)
add_library(android::libbinder_headers_platform_shared ALIAS libbinder_headers_platform_shared)

set(libbinder_headers_platform_shared_INCLUDES
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/include_cpp
)
target_include_directories(libbinder_headers_platform_shared INTERFACE ${libbinder_headers_platform_shared_INCLUDES})


# libbinder_ndk_sdk

set(libbinder_ndk_sdk_SRCS
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/ibinder.cpp
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/libbinder.cpp
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/parcel.cpp
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/stability.cpp
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/status.cpp
)
add_library(libbinder_ndk_sdk ${libbinder_ndk_sdk_SRCS})
add_library(android::libbinder_ndk_sdk ALIAS libbinder_ndk_sdk)

set(libbinder_ndk_sdk_INCLUDES
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/include_cpp
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/include_ndk
    ${ANDROID_BUILD_TOP}/frameworks/native/libs/binder/ndk/include_platform
)
target_include_directories(libbinder_ndk_sdk PUBLIC ${libbinder_ndk_sdk_INCLUDES})

set(libbinder_ndk_sdk_CFLAGS
    -DBINDER_ENABLE_LIBLOG_ASSERT
    -DBINDER_DISABLE_NATIVE_HANDLE
    -DBINDER_DISABLE_BLOB
    -DBINDER_NO_LIBBASE
    -Wall
    -Wextra
    -Wextra-semi
    -Werror
)
target_compile_options(libbinder_ndk_sdk PRIVATE ${libbinder_ndk_sdk_CFLAGS})

set(libbinder_ndk_sdk_DEPENDENCIES
    android::libbinder_sdk
    android::liblog_stub
    android::libutils_binder_sdk
)
target_link_libraries(libbinder_ndk_sdk ${libbinder_ndk_sdk_DEPENDENCIES})
