Hao Chen | 1c8ea5b | 2023-10-20 23:03:45 +0000 | [diff] [blame] | 1 | <<$srcs := getSources .M>> |
| 2 | <<$includeDirs := getIncludeDirs .Ctx .M>> |
Cole Faust | e96c16a | 2024-06-13 14:51:14 -0700 | [diff] [blame] | 3 | <<$cflags := getCflagsProperty .Ctx .M>> |
Tomasz Wasilczyk | 1e831bf | 2024-05-10 15:15:21 -0700 | [diff] [blame] | 4 | <<$deps := mapLibraries .Ctx .M (concat5 |
Cole Faust | f0006e7 | 2024-08-19 14:39:19 -0700 | [diff] [blame] | 5 | (getWholeStaticLibsProperty .Ctx .M) |
| 6 | (getStaticLibsProperty .Ctx .M) |
| 7 | (getSharedLibsProperty .Ctx .M) |
| 8 | (getHeaderLibsProperty .Ctx .M) |
Hao Chen | 1c8ea5b | 2023-10-20 23:03:45 +0000 | [diff] [blame] | 9 | (getExtraLibs .M) |
| 10 | ) .Pprop.LibraryMapping>> |
Tomasz Wasilczyk | c3177e0 | 2024-06-10 14:38:45 -0700 | [diff] [blame] | 11 | <<$moduleType := getModuleType .M>> |
| 12 | <<$moduleTypeCmake := "executable">> |
| 13 | <<if eq $moduleType "library">> |
| 14 | <<$moduleTypeCmake = "library">> |
| 15 | <<end>> |
Hao Chen | 1c8ea5b | 2023-10-20 23:03:45 +0000 | [diff] [blame] | 16 | |
| 17 | # <<.M.Name>> |
| 18 | <<if $srcs>> |
| 19 | <<setList .M.Name "_SRCS" "${ANDROID_BUILD_TOP}/" (toStrings $srcs)>> |
Tomasz Wasilczyk | c3177e0 | 2024-06-10 14:38:45 -0700 | [diff] [blame] | 20 | add_<<$moduleTypeCmake>>(<<.M.Name>> ${<<.M.Name>>_SRCS}) |
Hao Chen | 1c8ea5b | 2023-10-20 23:03:45 +0000 | [diff] [blame] | 21 | <<- else>> |
Tomasz Wasilczyk | c3177e0 | 2024-06-10 14:38:45 -0700 | [diff] [blame] | 22 | add_<<$moduleTypeCmake>>(<<.M.Name>> INTERFACE) |
Hao Chen | 1c8ea5b | 2023-10-20 23:03:45 +0000 | [diff] [blame] | 23 | <<- end>> |
Tomasz Wasilczyk | c3177e0 | 2024-06-10 14:38:45 -0700 | [diff] [blame] | 24 | <<- if eq $moduleType "library">> |
| 25 | add_library(android::<<.M.Name>> ALIAS <<.M.Name>>) |
| 26 | <<- else if eq $moduleType "test">> |
| 27 | add_test(NAME <<.M.Name>> COMMAND <<.M.Name>>) |
| 28 | <<- end>> |
Hao Chen | 1c8ea5b | 2023-10-20 23:03:45 +0000 | [diff] [blame] | 29 | <<print "">> |
| 30 | |
| 31 | <<- if $includeDirs>> |
| 32 | <<setList .M.Name "_INCLUDES" "${ANDROID_BUILD_TOP}/" $includeDirs>> |
| 33 | target_include_directories(<<.M.Name>> <<if $srcs>>PUBLIC<<else>>INTERFACE<<end>> ${<<.M.Name>>_INCLUDES}) |
| 34 | <<end>> |
| 35 | |
| 36 | <<- if and $srcs $cflags>> |
| 37 | <<cflagsList .M.Name "_CFLAGS" $cflags .Snapshot.Properties.Unportable_flags .Snapshot.Properties.Cflags_ignored>> |
| 38 | target_compile_options(<<.M.Name>> PRIVATE ${<<.M.Name>>_CFLAGS}) |
| 39 | <<end>> |
| 40 | |
| 41 | <<- if $deps>> |
| 42 | <<setList .M.Name "_DEPENDENCIES" "" $deps>> |
| 43 | target_link_libraries(<<.M.Name>> <<if not $srcs>>INTERFACE <<end ->> ${<<.M.Name>>_DEPENDENCIES}) |
| 44 | <<end>> |