forked from thesofproject/sof
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
125 lines (112 loc) · 4.06 KB
/
CMakeLists.txt
File metadata and controls
125 lines (112 loc) · 4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# SPDX-License-Identifier: BSD-3-Clause
is_zephyr(zephyr)
if(zephyr) ### Zephyr ###
set(THIRD_PARTY ${SOF_ROOT_SOURCE_DIRECTORY}/third_party)
if(CONFIG_IPC_MAJOR_3)
set(ipc_suffix ipc3)
elseif(CONFIG_IPC_MAJOR_4)
set(ipc_suffix ipc4)
endif()
zephyr_library_sources_ifdef(CONFIG_COMP_GOOGLE_HOTWORD_DETECT
google_hotword_detect.c
)
if(CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING STREQUAL "m" AND DEFINED CONFIG_LLEXT)
add_subdirectory(llext_rtc
${PROJECT_BINARY_DIR}/google_rtc_audio_processing_llext)
add_dependencies(app google_rtc_audio_processing)
elseif(CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING)
zephyr_library_sources(google_rtc_audio_processing.c)
zephyr_library_sources_ifdef(CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK
google_rtc_audio_processing_mock.c
)
if(NOT CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK)
zephyr_include_directories(${THIRD_PARTY}/include)
target_link_directories(SOF INTERFACE ${THIRD_PARTY}/lib)
target_link_libraries(SOF INTERFACE google_rtc_audio_processing)
target_link_libraries(SOF INTERFACE c++)
target_link_libraries(SOF INTERFACE c++abi)
target_link_libraries(SOF INTERFACE m)
target_link_libraries(SOF INTERFACE c)
target_link_libraries(SOF INTERFACE gcc)
endif()
endif()
if(CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING STREQUAL "m" AND DEFINED CONFIG_LLEXT)
add_subdirectory(llext_ctc
${PROJECT_BINARY_DIR}/google_ctc_audio_processing_llext)
add_dependencies(app google_ctc_audio_processing)
elseif(CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING)
zephyr_library_sources(
google_ctc_audio_processing.c
google_ctc_audio_processing_${ipc_suffix}.c
)
zephyr_library_sources_ifdef(CONFIG_GOOGLE_CTC_AUDIO_PROCESSING_MOCK
google_ctc_audio_processing_mock.c
)
if(NOT CONFIG_GOOGLE_CTC_AUDIO_PROCESSING_MOCK)
zephyr_include_directories(${THIRD_PARTY}/include)
target_link_directories(SOF INTERFACE ${THIRD_PARTY}/lib)
target_link_libraries(SOF INTERFACE google_ctc_audio_processing)
target_link_libraries(SOF INTERFACE c++)
target_link_libraries(SOF INTERFACE c++abi)
target_link_libraries(SOF INTERFACE m)
target_link_libraries(SOF INTERFACE c)
target_link_libraries(SOF INTERFACE gcc)
endif()
endif()
return()
endif()
### Library build rules ###
if(CONFIG_LIBRARY_STATIC)
if(CONFIG_COMP_GOOGLE_HOTWORD_DETECT)
add_local_sources(sof
google_hotword_detect.c
)
target_link_libraries(sof PRIVATE libhifi3_google_hotword_dsp_api.a)
target_link_libraries(sof PRIVATE c)
target_link_libraries(sof PRIVATE m)
endif()
if(CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING)
target_include_directories(sof PRIVATE ${CMAKE_SOURCE_DIR}/third_party/include)
add_local_sources(sof
google_rtc_audio_processing.c
)
if(CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK)
add_local_sources(sof
google_rtc_audio_processing_mock.c
)
else()
message(INFO "Link with google_rtc_audio_processing")
target_link_directories(sof PRIVATE ${CMAKE_SOURCE_DIR}/third_party/lib)
target_link_libraries(sof PRIVATE google_rtc_audio_processing)
target_link_libraries(sof PRIVATE c++)
target_link_libraries(sof PRIVATE c++abi)
target_link_libraries(sof PRIVATE m)
target_link_libraries(sof PRIVATE c)
endif()
endif()
if(CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING)
target_include_directories(sof PRIVATE ${CMAKE_SOURCE_DIR}/third_party/include)
add_local_sources(sof
google_ctc_audio_processing.c
)
if(CONFIG_IPC_MAJOR_3)
add_local_sources(sof google_ctc_audio_processing_ipc3.c)
elseif(CONFIG_IPC_MAJOR_4)
add_local_sources(sof google_ctc_audio_processing_ipc4.c)
endif()
if(CONFIG_GOOGLE_CTC_AUDIO_PROCESSING_MOCK)
add_local_sources(sof
google_ctc_audio_processing_mock.c
)
else()
message(INFO "Link with google_ctc_audio_processing")
target_link_directories(sof PRIVATE ${CMAKE_SOURCE_DIR}/third_party/lib)
target_link_libraries(sof PRIVATE google_ctc_audio_processing)
target_link_libraries(sof PRIVATE c++)
target_link_libraries(sof PRIVATE c++abi)
target_link_libraries(sof PRIVATE m)
target_link_libraries(sof PRIVATE c)
endif()
endif()
return()
endif()