1cmake_minimum_required(VERSION 3.18) 2project(binder_sdk CXX) 3set(CMAKE_CXX_STANDARD 20) 4enable_testing() 5 6set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") 7include(AddAidlLibrary) 8include(AppendCxxFlagsIfSupported) 9include(FindThreads) 10 11if (NOT ANDROID_BUILD_TOP) 12 set(ANDROID_BUILD_TOP "${CMAKE_CURRENT_SOURCE_DIR}") 13endif() 14 15set(binder_sdk_CFLAGS 16 -DNDEBUG 17 -DBINDER_ENABLE_LIBLOG_ASSERT 18 -DBINDER_DISABLE_NATIVE_HANDLE 19 -DBINDER_DISABLE_BLOB 20 -DBINDER_NO_LIBBASE 21 -DBINDER_NO_KERNEL_IPC_TESTING 22 -Wno-missing-field-initializers 23 -Wno-unknown-pragmas 24 -Wno-attributes 25 -Wno-psabi 26) 27append_cxx_flags_if_supported(binder_sdk_CFLAGS 28 -Wno-c99-designator 29) 30 31 32add_subdirectory("${ANDROID_BUILD_TOP}/external/boringssl" "external/boringssl/build" EXCLUDE_FROM_ALL) 33add_subdirectory("${ANDROID_BUILD_TOP}/external/googletest" "external/googletest/build" EXCLUDE_FROM_ALL) 34 35add_compile_options(${binder_sdk_CFLAGS}) 36link_libraries(${CMAKE_THREAD_LIBS_INIT}) 37add_subdirectory(frameworks/native/libs/binder) 38add_subdirectory(frameworks/native/libs/binder/liblog_stub) 39add_subdirectory(frameworks/native/libs/binder/ndk) 40add_subdirectory(frameworks/native/libs/binder/tests) 41add_subdirectory(system/core/libutils/binder) 42