blob: f6e21a6c6b808dd0668f595dfc7de2c6e6c87a76 [file] [log] [blame]
Hao Chen1c8ea5b2023-10-20 23:03:45 +00001cmake_minimum_required(VERSION 3.18)
2project(<<.M.Name>> CXX)
3set(CMAKE_CXX_STANDARD 20)
Tomasz Wasilczykc3177e02024-06-10 14:38:45 -07004enable_testing()
Hao Chen1c8ea5b2023-10-20 23:03:45 +00005
6set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
7include(AddAidlLibrary)
8include(AppendCxxFlagsIfSupported)
9
10if (NOT ANDROID_BUILD_TOP)
11 set(ANDROID_BUILD_TOP "${CMAKE_CURRENT_SOURCE_DIR}")
12endif()
13
Tomasz Wasilczyk2493fcc2024-06-20 15:29:09 -070014if ("${CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES "^(arm|aarch)")
15 set(PREBUILTS_BIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/prebuilts/host/linux_musl-arm64/bin")
16else()
17 set(PREBUILTS_BIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/prebuilts/host/linux-x86/bin")
18endif()
Hao Chen1c8ea5b2023-10-20 23:03:45 +000019if (NOT AIDL_BIN)
20 find_program(AIDL_BIN aidl REQUIRED HINTS "${PREBUILTS_BIN_DIR}")
21endif()
22
23<<cflagsList .M.Name "_CFLAGS" .M.Properties.Cflags .M.Properties.Unportable_flags .M.Properties.Cflags_ignored>>
24
25<<range .Pprop.SystemPackages ->>
26find_package(<<.>> REQUIRED)
27<<end >>
28<<range .Pprop.PregeneratedPackages ->>
29add_subdirectory("${ANDROID_BUILD_TOP}/<<.>>" "<<.>>/build" EXCLUDE_FROM_ALL)
30<<end>>
31add_compile_options(${<<.M.Name>>_CFLAGS})
32<<range $moduleDir, $value := .ModuleDirs ->>
33add_subdirectory(<<$moduleDir>>)
34<<end>>