platform_build_soong/cc/cmake_module_cc.txt
Tomasz Wasilczyk 1e831bfa87 cc_cmake_snapshot: improve support for AIDL
- link correct libbinder for AIDL modules
- fix building AIDL interfaces with non-empty AidlRoot
- don't silently drop non-existent dependencies

Bug: 302718225
Test: aosp/3081709
      atest binder_sdk_docker_test_clang
Change-Id: I181ef5a994f728f8af19134a6697b065a9aee261
2024-05-14 13:45:34 -07:00

35 lines
1.2 KiB
Text

<<$srcs := getSources .M>>
<<$includeDirs := getIncludeDirs .Ctx .M>>
<<$cflags := (getCompilerProperties .M).Cflags>>
<<$deps := mapLibraries .Ctx .M (concat5
(getLinkerProperties .M).Whole_static_libs
(getLinkerProperties .M).Static_libs
(getLinkerProperties .M).Shared_libs
(getLinkerProperties .M).Header_libs
(getExtraLibs .M)
) .Pprop.LibraryMapping>>
# <<.M.Name>>
<<if $srcs>>
<<setList .M.Name "_SRCS" "${ANDROID_BUILD_TOP}/" (toStrings $srcs)>>
add_<<getModuleType .M>>(<<.M.Name>> ${<<.M.Name>>_SRCS})
<<- else>>
add_<<getModuleType .M>>(<<.M.Name>> INTERFACE)
<<- end>>
add_<<getModuleType .M>>(android::<<.M.Name>> ALIAS <<.M.Name>>)
<<print "">>
<<- if $includeDirs>>
<<setList .M.Name "_INCLUDES" "${ANDROID_BUILD_TOP}/" $includeDirs>>
target_include_directories(<<.M.Name>> <<if $srcs>>PUBLIC<<else>>INTERFACE<<end>> ${<<.M.Name>>_INCLUDES})
<<end>>
<<- if and $srcs $cflags>>
<<cflagsList .M.Name "_CFLAGS" $cflags .Snapshot.Properties.Unportable_flags .Snapshot.Properties.Cflags_ignored>>
target_compile_options(<<.M.Name>> PRIVATE ${<<.M.Name>>_CFLAGS})
<<end>>
<<- if $deps>>
<<setList .M.Name "_DEPENDENCIES" "" $deps>>
target_link_libraries(<<.M.Name>> <<if not $srcs>>INTERFACE <<end ->> ${<<.M.Name>>_DEPENDENCIES})
<<end>>