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