cmake_minimum_required(VERSION 3.18) project(binder_sdk CXX) set(CMAKE_CXX_STANDARD 20) enable_testing() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") include(AddAidlLibrary) include(AppendCxxFlagsIfSupported) include(FindThreads) if (NOT ANDROID_BUILD_TOP) set(ANDROID_BUILD_TOP "${CMAKE_CURRENT_SOURCE_DIR}") endif() set(binder_sdk_CFLAGS -DNDEBUG -DBINDER_ENABLE_LIBLOG_ASSERT -DBINDER_DISABLE_NATIVE_HANDLE -DBINDER_DISABLE_BLOB -DBINDER_NO_LIBBASE -DBINDER_NO_KERNEL_IPC_TESTING -Wno-missing-field-initializers -Wno-unknown-pragmas -Wno-attributes -Wno-psabi ) append_cxx_flags_if_supported(binder_sdk_CFLAGS -Wno-c99-designator ) add_subdirectory("${ANDROID_BUILD_TOP}/external/boringssl" "external/boringssl/build" EXCLUDE_FROM_ALL) add_subdirectory("${ANDROID_BUILD_TOP}/external/googletest" "external/googletest/build" EXCLUDE_FROM_ALL) add_compile_options(${binder_sdk_CFLAGS}) link_libraries(${CMAKE_THREAD_LIBS_INIT}) add_subdirectory(frameworks/native/libs/binder) add_subdirectory(frameworks/native/libs/binder/liblog_stub) add_subdirectory(frameworks/native/libs/binder/ndk) add_subdirectory(frameworks/native/libs/binder/tests) add_subdirectory(system/core/libutils/binder)