]> begriffs open source - freertos/blob - portable/CMakeLists.txt
RISC-V: Add support for RV32E extension in GCC port (#543)
[freertos] / portable / CMakeLists.txt
1 # FreeRTOS internal cmake file. Do not use it in user top-level project
2
3 add_library(freertos_kernel_port STATIC
4     $<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_FLSH186>:
5         BCC/16BitDOS/common/portcomn.c
6         BCC/16BitDOS/Flsh186/port.c>
7     $<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_PC>:
8         BCC/16BitDOS/common/portcomn.c
9         BCC/16BitDOS/PC/port.c>
10     $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CM3>:
11         CCS/ARM_CM3/port.c
12         CCS/ARM_CM3/portasm.asm>
13     $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CM4F>:
14         CCS/ARM_CM4F/port.c
15         CCS/ARM_CM4F/portasm.asm>
16     $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CR4>:
17         CCS/ARM_Cortex-R4/port.c
18         CCS/ARM_Cortex-R4/portASM.asm>
19     $<$<STREQUAL:${FREERTOS_PORT},CCS_MSP430X>:
20         CCS/MSP430X/port.c
21         CCS/MSP430X/portext.asm>
22     $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_COLDFIRE_V1>:
23         CodeWarrior/ColdFire_V1/port.c
24         CodeWarrior/ColdFire_V1/portasm.S>
25     $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_COLDFIRE_V2>:
26         CodeWarrior/ColdFire_V2/port.c
27         CodeWarrior/ColdFire_V2/portasm.S>
28     $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_HCS12>:
29         CodeWarrior/HCS12/port.c>
30     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CA9>:
31         GCC/ARM_CA9/port.c
32         GCC/ARM_CA9/portASM.S>
33     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CA53_64_BIT>:
34         GCC/ARM_CA53_64_BIT/port.c
35         GCC/ARM_CA53_64_BIT/portASM.S>
36     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CA53_64_BIT_SRE>:
37         GCC/ARM_CA53_64_BIT_SRE/port.c
38         GCC/ARM_CA53_64_BIT_SRE/portASM.S>
39     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM0>:
40         GCC/ARM_CM0/port.c>
41     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3>:
42         GCC/ARM_CM3/port.c>
43     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3_MPU>:
44         GCC/ARM_CM3_MPU/port.c>
45     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4_MPU>:
46         GCC/ARM_CM4_MPU/port.c>
47     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4F>:
48         GCC/ARM_CM4F/port.c>
49     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM7>:
50         GCC/ARM_CM7/r0p1/port.c>
51     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NONSECURE>:
52         GCC/ARM_CM23/non_secure/port.c
53         GCC/ARM_CM23/non_secure/portasm.c>
54     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_SECURE>:
55         GCC/ARM_CM23/secure/secure_context_port.c
56         GCC/ARM_CM23/secure/secure_context.c
57         GCC/ARM_CM23/secure/secure_heap.c
58         GCC/ARM_CM23/secure/secure_init.c>
59     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NTZ_NONSECURE>:
60         GCC/ARM_CM23_NTZ/non_secure/port.c
61         GCC/ARM_CM23_NTZ/non_secure/portasm.c>
62     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NONSECURE>:
63         GCC/ARM_CM33/non_secure/port.c
64         GCC/ARM_CM33/non_secure/portasm.c>
65     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_SECURE>:
66         GCC/ARM_CM33/secure/secure_context_port.c
67         GCC/ARM_CM33/secure/secure_context.c
68         GCC/ARM_CM33/secure/secure_heap.c
69         GCC/ARM_CM33/secure/secure_init.c>
70     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NTZ_NONSECURE>:
71         GCC/ARM_CM33_NTZ/non_secure/port.c
72         GCC/ARM_CM33_NTZ/non_secure/portasm.c>
73     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CR5>:
74         GCC/ARM_CR5/port.c
75         GCC/ARM_CR5/portASM.S>
76     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CRX_NOGIC>:
77         GCC/ARM_CRx_No_GIC/port.c
78         GCC/ARM_CRx_No_GIC/portASM.S>
79     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91FR40008>:
80         GCC/ARM7_AT91FR40008/port.c
81         GCC/ARM7_AT91FR40008/portISR.c>
82     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91SAM7S>:
83         GCC/ARM7_AT91SAM7S/lib_AT91SAM7X256.c
84         GCC/ARM7_AT91SAM7S/port.c
85         GCC/ARM7_AT91SAM7S/portISR.c>
86     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_LPC2000>:
87         GCC/ARM7_LPC2000/port.c
88         GCC/ARM7_LPC2000/portISR.c>
89     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_LPC23XX>:
90         GCC/ARM7_LPC23xx/port.c
91         GCC/ARM7_LPC23xx/portISR.c>
92     $<$<STREQUAL:${FREERTOS_PORT},GCC_ATMEGA323>:
93         GCC/ATMega323/port.c>
94     $<$<STREQUAL:${FREERTOS_PORT},GCC_AVR32_UC3>:
95         GCC/AVR32_UC3/exception.S
96         GCC/AVR32_UC3/port.c>
97     $<$<STREQUAL:${FREERTOS_PORT},GCC_COLDFIRE_V2>:
98         GCC/ColdFire_V2/port.c
99         GCC/ColdFire_V2/portasm.S>
100     $<$<STREQUAL:${FREERTOS_PORT},GCC_CORTUS_APS3>:
101         GCC/CORTUS_APS3/port.c>
102     $<$<STREQUAL:${FREERTOS_PORT},GCC_H8S2329>:
103         GCC/H8S2329/port.c>
104     $<$<STREQUAL:${FREERTOS_PORT},GCC_HCS12>:
105         GCC/HCS12/port.c>
106     $<$<STREQUAL:${FREERTOS_PORT},GCC_IA32_FLAT>:
107         GCC/IA32_flat/port.c
108         GCC/IA32_flat/portASM.S>
109     $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE>:
110         GCC/MicroBlaze/port.c
111         GCC/MicroBlaze/portasm.s>
112     $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE_V8>:
113         GCC/MicroBlazeV8/port.c
114         GCC/MicroBlazeV8/port_exceptions.c
115         GCC/MicroBlazeV8/portasm.S>
116     $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE_V9>:
117         GCC/MicroBlazeV9/port.c
118         GCC/MicroBlazeV9/port_exceptions.c
119         GCC/MicroBlazeV9/portasm.S>
120     $<$<STREQUAL:${FREERTOS_PORT},GCC_MSP430F449>:
121         GCC/MSP430F449/port.c>
122     $<$<STREQUAL:${FREERTOS_PORT},GCC_NIOSII>:
123         GCC/NiosII/port.c
124         GCC/NiosII/port_asm.S>
125     $<$<STREQUAL:${FREERTOS_PORT},GCC_PPC405_XILINX>:
126         GCC/PPC405_Xilinx/port.c
127         GCC/PPC405_Xilinx/portasm.S>
128     $<$<STREQUAL:${FREERTOS_PORT},GCC_PPC440_XILINX>:
129         GCC/PPC440_Xilinx/port.c
130         GCC/PPC440_Xilinx/portasm.S>
131     $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V>:
132         GCC/RISC-V/port.c
133         GCC/RISC-V/portASM.S>
134     $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V_PULPINO_VEGA_RV32M1RM>:
135         GCC/RISC-V/port.c
136         GCC/RISC-V/portASM.S>
137     $<$<STREQUAL:${FREERTOS_PORT},GCC_RL78>:
138         GCC/RL78/port.c
139         GCC/RL78/portasm.S>
140     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX100>:
141         GCC/RX100/port.c>
142     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX200>:
143         GCC/RX200/port.c>
144     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX600>:
145         GCC/RX600/port.c>
146     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX600_V2>:
147         GCC/RX600v2/port.c>
148     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX700_V3_DPFPU>:
149         GCC/RX700v3_DPFPU/port.c>
150     $<$<STREQUAL:${FREERTOS_PORT},GCC_STR75X>:
151         GCC/STR75x/port.c
152         GCC/STR75x/portISR.c>
153     $<$<STREQUAL:${FREERTOS_PORT},GCC_TRICORE_1782>:
154         GCC/TriCore_1782/port.c
155         GCC/TriCore_1782/porttrap.c>
156     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARC_EM_HS>:
157         ThirdParty/GCC/ARC_EM_HS/arc_freertos_exceptions.c
158         ThirdParty/GCC/ARC_EM_HS/arc_support.s
159         ThirdParty/GCC/ARC_EM_HS/freertos_tls.c
160         ThirdParty/GCC/ARC_EM_HS/port.c>
161     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARC_V1>:
162         ThirdParty/GCC/ARC_v1/arc_freertos_exceptions.c
163         ThirdParty/GCC/ARC_v1/arc_support.s
164         ThirdParty/GCC/ARC_v1/port.c>
165     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_TFM>:
166         ThirdParty/GCC/ARM_CM33_TFM/os_wrapper_freertos.c>
167     $<$<STREQUAL:${FREERTOS_PORT},GCC_ATMEGA>:
168         ThirdParty/GCC/ATmega/port.c>
169     $<$<STREQUAL:${FREERTOS_PORT},GCC_POSIX>:
170         ThirdParty/GCC/Posix/port.c
171         ThirdParty/GCC/Posix/utils/wait_for_event.c>
172     $<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:
173         ThirdParty/GCC/RP2040/idle_task_static_memory.c
174         ThirdParty/GCC/RP2040/port.c>
175     $<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>:
176         ThirdParty/GCC/Xtensa_ESP32/FreeRTOS-openocd.c
177         ThirdParty/GCC/Xtensa_ESP32/port.c
178         ThirdParty/GCC/Xtensa_ESP32/portasm.S
179         ThirdParty/GCC/Xtensa_ESP32/xtensa_context.S
180         ThirdParty/GCC/Xtensa_ESP32/xtensa_init.c
181         ThirdParty/GCC/Xtensa_ESP32/xtensa_intr_asm.S
182         ThirdParty/GCC/Xtensa_ESP32/xtensa_intr.c
183         ThirdParty/GCC/Xtensa_ESP32/xtensa_loadstore_handler.S
184         ThirdParty/GCC/Xtensa_ESP32/xtensa_overlay_os_hook.c
185         ThirdParty/GCC/Xtensa_ESP32/xtensa_vector_defaults.S
186         ThirdParty/GCC/Xtensa_ESP32/xtensa_vectors.S>
187     $<$<STREQUAL:${FREERTOS_PORT},GCC_AVRDX>:
188         ThirdParty/Partner-Supported-Ports/GCC/AVR_AVRDx/port.c>
189     $<$<STREQUAL:${FREERTOS_PORT},GCC_AVR_MEGA0>:
190         ThirdParty/Partner-Supported-Ports/GCC/AVR_Mega0/port.c>
191     $<$<STREQUAL:${FREERTOS_PORT},IAR_78K0K>:
192         IAR/78K0R/port.c
193         IAR/78K0R/portasm.s26>
194     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CA5_NOGIC>:
195         IAR/ARM_CA5_No_GIC/port.c
196         IAR/ARM_CA5_No_GIC/portASM.s>
197     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CA9>:
198         IAR/ARM_CA9/port.c
199         IAR/ARM_CA9/portASM.s>
200     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM0>:
201         IAR/ARM_CM0/port.c
202         IAR/ARM_CM0/portasm.s>
203     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM3>:
204         IAR/ARM_CM3/port.c
205         IAR/ARM_CM3/portasm.s>
206     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F>:
207         IAR/ARM_CM4F/port.c
208         IAR/ARM_CM4F/portasm.s>
209     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F_MPU>:
210         IAR/ARM_CM4F_MPU/port.c
211         IAR/ARM_CM4F_MPU/portasm.s>
212     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM7>:
213         IAR/ARM_CM7/r0p1/port.c
214         IAR/ARM_CM7/r0p1/portasm.s>
215     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NONSECURE>:
216         IAR/ARM_CM23/non_secure/port.c
217         IAR/ARM_CM23/non_secure/portasm.s>
218     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_SECURE>:
219         IAR/ARM_CM23/secure/secure_context_port_asm.s
220         IAR/ARM_CM23/secure/secure_context.c
221         IAR/ARM_CM23/secure/secure_heap.c
222         IAR/ARM_CM23/secure/secure_init.c>
223     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NTZ_NONSECURE>:
224         IAR/ARM_CM23_NTZ/non_secure/port.c
225         IAR/ARM_CM23_NTZ/non_secure/portasm.s>
226     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NONSECURE>:
227         IAR/ARM_CM33/non_secure/port.c
228         IAR/ARM_CM33/non_secure/portasm.s>
229     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_SECURE>:
230         IAR/ARM_CM33/secure/secure_context_port_asm.s
231         IAR/ARM_CM33/secure/secure_context.c
232         IAR/ARM_CM33/secure/secure_heap.c
233         IAR/ARM_CM33/secure/secure_init.c>
234     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NTZ_NONSECURE>:
235         IAR/ARM_CM33_NTZ/non_secure/port.c
236         IAR/ARM_CM33_NTZ/non_secure/portasm.s>
237     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CRX_NOGIC>:
238         IAR/ARM_CRx_No_GIC/port.c
239         IAR/ARM_CRx_No_GIC/portASM.s>
240     $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEGA323>:
241         IAR/ATMega323/port.c
242         IAR/ATMega323/portmacro.s90>
243     $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEL_SAM7S64>:
244         IAR/AtmelSAM7S64/port.c
245         IAR/AtmelSAM7S64/portasm.s79>
246     $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEL_SAM9XE>:
247         IAR/AtmelSAM9XE/port.c
248         IAR/AtmelSAM9XE/portasm.s79>
249     $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR_AVRDX>:
250         IAR/AVR_AVRDx/port.c
251         IAR/AVR_AVRDx/portmacro.s90>
252     $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR_MEGA0>:
253         IAR/AVR_Mega0/port.c
254         IAR/AVR_Mega0/portmacro.s90>
255     $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR32_UC3>:
256         IAR/AVR32_UC3/exception.s82
257         IAR/AVR32_UC3/port.c
258         IAR/AVR32_UC3/read.c
259         IAR/AVR32_UC3/write.c>
260     $<$<STREQUAL:${FREERTOS_PORT},IAR_LPC2000>:
261         IAR/LPC2000/port.c
262         IAR/LPC2000/portasm.s79>
263     $<$<STREQUAL:${FREERTOS_PORT},IAR_MSP430>:
264         IAR/MSP430/port.c
265         IAR/MSP430/portext.s43>
266     $<$<STREQUAL:${FREERTOS_PORT},IAR_MSP430X>:
267         IAR/MSP430X/port.c
268         IAR/MSP430X/portext.s43>
269     $<$<STREQUAL:${FREERTOS_PORT},IAR_RISC_V>:
270         IAR/RISC-V/port.c
271         IAR/RISC-V/portASM.s>
272     $<$<STREQUAL:${FREERTOS_PORT},IAR_RL78>:
273         IAR/RL78/port.c
274         IAR/RL78/portasm.s87>
275     $<$<STREQUAL:${FREERTOS_PORT},IAR_RX100>:
276         IAR/RX100/port.c
277         IAR/RX100/port_asm.s>
278     $<$<STREQUAL:${FREERTOS_PORT},IAR_RX600>:
279         IAR/RX600/port.c
280         IAR/RX600/port_asm.s>
281     $<$<STREQUAL:${FREERTOS_PORT},IAR_RX700_V3_DPFPU>:
282         IAR/RX700v3_DPFPU/port.c>
283     $<$<STREQUAL:${FREERTOS_PORT},IAR_RX_V2>:
284         IAR/RXv2/port.c
285         IAR/RXv2/port_asm.s>
286     $<$<STREQUAL:${FREERTOS_PORT},IAR_STR71X>:
287         IAR/STR71x/port.c
288         IAR/STR71x/portasm.s79>
289     $<$<STREQUAL:${FREERTOS_PORT},IAR_STR75X>:
290         IAR/STR75x/port.c
291         IAR/STR75x/portasm.s79>
292     $<$<STREQUAL:${FREERTOS_PORT},IAR_STR91X>:
293         IAR/STR91x/port.c
294         IAR/STR91x/portasm.s79>
295     $<$<STREQUAL:${FREERTOS_PORT},IAR_V850ES_FX3>:
296         IAR/V850ES/port.c
297         IAR/V850ES/portasm_Fx3.s85>
298     $<$<STREQUAL:${FREERTOS_PORT},IAR_V850ES_HX3>:
299         IAR/V850ES/port.c
300         IAR/V850ES/portasm_Hx2.s85>
301     $<$<STREQUAL:${FREERTOS_PORT},MIKROC_ARM_CM4F>:
302         MikroC/ARM_CM4F/port.c>
303     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC18F>:
304         MPLAB/PIC18F/port.c>
305     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC24>:
306         MPLAB/PIC24_dsPIC/port.c
307         MPLAB/PIC24_dsPIC/portasm_PIC24.S> # TODO: What to do with portasm_dsPIC.S ?
308     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MEC14XX>:
309         MPLAB/PIC32MEC14xx/port.c
310         MPLAB/PIC32MEC14xx/port_asm.S>
311     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MX>:
312         MPLAB/PIC32MX/port.c
313         MPLAB/PIC32MX/port_asm.S>
314     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MZ>:
315         MPLAB/PIC32MZ/port.c
316         MPLAB/PIC32MZ/port_asm.S>
317     $<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>:
318         MSVC-MingW/port.c>
319     $<$<STREQUAL:${FREERTOS_PORT},OWATCOM_16BIT_DOS_FLSH186>:
320         oWatcom/16BitDOS/common/portcomn.c
321         oWatcom/16BitDOS/Flsh186/port.c>
322     $<$<STREQUAL:${FREERTOS_PORT},OWATCOM_16BIT_DOS_PC>:
323         oWatcom/16BitDOS/common/portcomn.c
324         oWatcom/16BitDOS/PC/port.c>
325     $<$<STREQUAL:${FREERTOS_PORT},PARADIGM_TERN_EE_LARGE>:
326         Paradigm/Tern_EE/large_untested/port.c>
327     $<$<STREQUAL:${FREERTOS_PORT},PARADIGM_TERN_EE_SMALL>:
328         Paradigm/Tern_EE/small/port.c>
329     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX100>:
330         Renesas/RX100/port.c
331         Renesas/RX100/port_asm.src>
332     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX200>:
333         Renesas/RX200/port.c
334         Renesas/RX200/port_asm.src>
335     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX600>:
336         Renesas/RX600/port.c
337         Renesas/RX600/port_asm.src>
338     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX600_V2>:
339         Renesas/RX600v2/port.c
340         Renesas/RX600v2/port_asm.src>
341     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX700_V3_DPFPU>:
342         Renesas/RX700v3_DPFPU/port.c
343         Renesas/RX700v3_DPFPU/port_asm.src>
344     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_SH2A_FPU>:
345         Renesas/SH2A_FPU/port.c
346         Renesas/SH2A_FPU/portasm.src>
347     $<$<STREQUAL:${FREERTOS_PORT},ROWLEY_MSP430F449>:
348         Rowley/MSP430F449/port.c
349         Rowley/MSP430F449/portext.asm>
350     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CA9>:
351         RVDS/ARM_CA9/port.c
352         RVDS/ARM_CA9/portASM.s>
353     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM0>:
354         RVDS/ARM_CM0/port.c>
355     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM3>:
356         RVDS/ARM_CM3/port.c>
357     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4_MPU>:
358         RVDS/ARM_CM4_MPU/port.c>
359     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4F>:
360         RVDS/ARM_CM4F/port.c>
361     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM7>:
362         RVDS/ARM_CM7/r0p1/port.c>
363     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM7_LPC21XX>:
364         RVDS/ARM7_LPC21xx/port.c
365         RVDS/ARM7_LPC21xx/portASM.s>
366     $<$<STREQUAL:${FREERTOS_PORT},SDCC_CYGNAL>:
367         SDCC/Cygnal/port.c>
368     $<$<STREQUAL:${FREERTOS_PORT},SOFTUNE_MB91460>:
369         Softune/MB91460/__STD_LIB_sbrk.c
370         Softune/MB91460/port.c>
371     $<$<STREQUAL:${FREERTOS_PORT},SOFTUNE_MB96340>:
372         Softune/MB96340/__STD_LIB_sbrk.c
373         Softune/MB96340/port.c>
374     $<$<STREQUAL:${FREERTOS_PORT},TASKING_ARM_CM4F>:
375         Tasking/ARM_CM4F/port.c
376         Tasking/ARM_CM4F/port_asm.asm>
377     $<$<STREQUAL:${FREERTOS_PORT},CDK_THEAD_CK802>:
378         ThirdParty/CDK/T-HEAD_CK802/port.c
379         ThirdParty/CDK/T-HEAD_CK802/portasm.S>
380     $<$<STREQUAL:${FREERTOS_PORT},XCC_XTENSA>:
381         ThirdParty/XCC/Xtensa/port.c
382         ThirdParty/XCC/Xtensa/portasm.S
383         ThirdParty/XCC/Xtensa/portclib.c
384         ThirdParty/XCC/Xtensa/xtensa_context.S
385         ThirdParty/XCC/Xtensa/xtensa_init.c
386         ThirdParty/XCC/Xtensa/xtensa_intr_asm.S
387         ThirdParty/XCC/Xtensa/xtensa_intr.c
388         ThirdParty/XCC/Xtensa/xtensa_overlay_os_hook.c
389         ThirdParty/XCC/Xtensa/xtensa_vectors.S>
390     $<$<STREQUAL:${FREERTOS_PORT},WIZC_PIC18>:
391         WizC/PIC18/port.c
392         WizC/PIC18/Drivers/Tick/isrTick.c
393         WizC/PIC18/Drivers/Tick/Tick.c>
394 )
395
396 if(
397     FREERTOS_PORT STREQUAL "GCC_ARM_CM23_NTZ_NONSECURE" OR
398     FREERTOS_PORT STREQUAL "GCC_ARM_CM23_NONSECURE" OR
399     FREERTOS_PORT STREQUAL "GCC_ARM_CM33_NTZ_NONSECURE" OR
400     FREERTOS_PORT STREQUAL "GCC_ARM_CM3_MPU" OR
401     FREERTOS_PORT STREQUAL "GCC_ARM_CM4_MPU" OR
402     FREERTOS_PORT STREQUAL "GCC_ARM_CM33_NONSECURE" OR
403     FREERTOS_PORT STREQUAL "IAR_ARM_CM23_NTZ_NONSECURE" OR
404     FREERTOS_PORT STREQUAL "IAR_ARM_CM23_NONSECURE" OR
405     FREERTOS_PORT STREQUAL "IAR_ARM_CM33_NTZ_NONSECURE" OR
406     FREERTOS_PORT STREQUAL "IAR_ARM_CM4F_MPU" OR
407     FREERTOS_PORT STREQUAL "IAR_ARM_CM33_NONSECURE" OR
408     FREERTOS_PORT STREQUAL "RVDS_ARM_CM4_MPU"
409 )
410     target_sources(freertos_kernel_port PRIVATE Common/mpu_wrappers.c)
411 endif()
412
413 target_include_directories(freertos_kernel_port PUBLIC
414     $<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_FLSH186>:
415         ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/common
416         ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/Flsh186>
417     $<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_PC>:
418         ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/common
419         ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/PC>
420     $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CM3>:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_CM3>
421     $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_CM4F>
422     $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CR4>:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_Cortex-R4>
423     $<$<STREQUAL:${FREERTOS_PORT},CCS_MSP430X>:${CMAKE_CURRENT_LIST_DIR}/CCS/MSP430X>
424     $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_COLDFIRE_V1>:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/ColdFire_V1>
425     $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_COLDFIRE_V2>:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/ColdFire_V2>
426     $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_HCS12>:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/HCS12>
427     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CA9>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CA9>
428     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CA53_64_BIT>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CA53_64_BIT>
429     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CA53_64_BIT_SRE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CA53_64_BIT_SRE>
430     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM0>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM0>
431     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM3>
432     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3_MPU>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM3_MPU>
433     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4_MPU>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM4_MPU>
434     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM4F>
435     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM7>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM7/r0p1>
436     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23/non_secure>
437     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23/secure>
438     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23_NTZ/non_secure>
439     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33/non_secure>
440     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33/secure>
441     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33_NTZ/non_secure>
442     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CR5>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CR5>
443     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CRX_NOGIC>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CRx_No_GIC>
444     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91FR40008>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_AT91FR40008>
445     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91SAM7S>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_AT91SAM7S>
446     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_LPC2000>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_LPC2000>
447     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_LPC23XX>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_LPC23xx>
448     $<$<STREQUAL:${FREERTOS_PORT},GCC_ATMEGA323>:${CMAKE_CURRENT_LIST_DIR}/GCC/ATMega323>
449     $<$<STREQUAL:${FREERTOS_PORT},GCC_AVR32_UC3>:${CMAKE_CURRENT_LIST_DIR}/GCC/AVR32_UC3>
450     $<$<STREQUAL:${FREERTOS_PORT},GCC_COLDFIRE_V2>:${CMAKE_CURRENT_LIST_DIR}/GCC/ColdFire_V2>
451     $<$<STREQUAL:${FREERTOS_PORT},GCC_CORTUS_APS3>:${CMAKE_CURRENT_LIST_DIR}/GCC/CORTUS_APS3>
452     $<$<STREQUAL:${FREERTOS_PORT},GCC_H8S2329>:${CMAKE_CURRENT_LIST_DIR}/GCC/H8S2329>
453     $<$<STREQUAL:${FREERTOS_PORT},GCC_HCS12>:${CMAKE_CURRENT_LIST_DIR}/GCC/HCS12>
454     $<$<STREQUAL:${FREERTOS_PORT},GCC_IA32_FLAT>:${CMAKE_CURRENT_LIST_DIR}/GCC/IA32_flat>
455     $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE>:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlaze>
456     $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE_V8>:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlazeV8>
457     $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE_V9>:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlazeV9>
458     $<$<STREQUAL:${FREERTOS_PORT},GCC_MSP430F449>:${CMAKE_CURRENT_LIST_DIR}/GCC/MSP430F449>
459     $<$<STREQUAL:${FREERTOS_PORT},GCC_NIOSII>:${CMAKE_CURRENT_LIST_DIR}/GCC/NiosII>
460     $<$<STREQUAL:${FREERTOS_PORT},GCC_PPC405_XILINX>:${CMAKE_CURRENT_LIST_DIR}/GCC/PPC405_Xilinx>
461     $<$<STREQUAL:${FREERTOS_PORT},GCC_PPC440_XILINX>:${CMAKE_CURRENT_LIST_DIR}/GCC/PPC440_Xilinx>
462     $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V>:
463         ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V
464         ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V/chip_specific_extensions/RISCV_MTIME_CLINT_no_extensions>
465     $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V_PULPINO_VEGA_RV32M1RM>:
466         ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V
467         ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM>
468     $<$<STREQUAL:${FREERTOS_PORT},GCC_RL78>:${CMAKE_CURRENT_LIST_DIR}/GCC/RL78>
469     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX100>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX100>
470     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX200>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX200>
471     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX600>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX600>
472     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX600_V2>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX600v2>
473     $<$<STREQUAL:${FREERTOS_PORT},GCC_RX700_V3_DPFPU>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX700v3_DPFPU>
474     $<$<STREQUAL:${FREERTOS_PORT},GCC_STR75X>:${CMAKE_CURRENT_LIST_DIR}/GCC/STR75x>
475     $<$<STREQUAL:${FREERTOS_PORT},GCC_TRICORE_1782>:${CMAKE_CURRENT_LIST_DIR}/GCC/TriCore_1782>
476     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARC_EM_HS>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ARC_EM_HS>
477     $<$<STREQUAL:${FREERTOS_PORT},GCC_ARC_V1>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ARC_v1>
478     $<$<STREQUAL:${FREERTOS_PORT},GCC_ATMEGA>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ATmega>
479     $<$<STREQUAL:${FREERTOS_PORT},GCC_POSIX>:
480         ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Posix
481         ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Posix/utils>
482     $<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/RP2040/include>
483     $<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>:
484         ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Xtensa_ESP32
485         ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Xtensa_ESP32/include>
486     $<$<STREQUAL:${FREERTOS_PORT},GCC_AVRDX>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/Partner-Supported-Ports/GCC/AVR_AVRDx>
487     $<$<STREQUAL:${FREERTOS_PORT},GCC_AVR_MEGA0>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/Partner-Supported-Ports/GCC/AVR_Mega0>
488     $<$<STREQUAL:${FREERTOS_PORT},IAR_78K0K>:${CMAKE_CURRENT_LIST_DIR}/IAR/78K0R>
489     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CA5_NOGIC>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CA5_No_GIC>
490     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CA9>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CA9>
491     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM0>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM0>
492     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM3>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM3>
493     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM4F>
494     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F_MPU>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM4F_MPU>
495     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM7>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM7/r0p1>
496     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23/non_secure>
497     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23/secure>
498     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23_NTZ/non_secure>
499     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33/non_secure>
500     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33/secure>
501     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33_NTZ/non_secure>
502     $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CRX_NOGIC>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CRx_No_GIC>
503     $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEGA323>:${CMAKE_CURRENT_LIST_DIR}/IAR/ATMega323>
504     $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEL_SAM7S64>:${CMAKE_CURRENT_LIST_DIR}/IAR/AtmelSAM7S64>
505     $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEL_SAM9XE>:${CMAKE_CURRENT_LIST_DIR}/IAR/AtmelSAM9XE>
506     $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR_AVRDX>:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR_AVRDx>
507     $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR_MEGA0>:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR_Mega0>
508     $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR32_UC3>:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR32_UC3>
509     $<$<STREQUAL:${FREERTOS_PORT},IAR_LPC2000>:${CMAKE_CURRENT_LIST_DIR}/IAR/LPC2000>
510     $<$<STREQUAL:${FREERTOS_PORT},IAR_MSP430>:${CMAKE_CURRENT_LIST_DIR}/IAR/MSP430>
511     $<$<STREQUAL:${FREERTOS_PORT},IAR_MSP430X>:${CMAKE_CURRENT_LIST_DIR}/IAR/MSP430X>
512     $<$<STREQUAL:${FREERTOS_PORT},IAR_RISC_V>:
513         ${CMAKE_CURRENT_LIST_DIR}/IAR/RISC-V
514         ${CMAKE_CURRENT_LIST_DIR}/IAR/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions>
515     $<$<STREQUAL:${FREERTOS_PORT},IAR_RL78>:${CMAKE_CURRENT_LIST_DIR}/IAR/RL78>
516     $<$<STREQUAL:${FREERTOS_PORT},IAR_RX100>:${CMAKE_CURRENT_LIST_DIR}/IAR/RX100>
517     $<$<STREQUAL:${FREERTOS_PORT},IAR_RX600>:${CMAKE_CURRENT_LIST_DIR}/IAR/RX600>
518     $<$<STREQUAL:${FREERTOS_PORT},IAR_RX700_V3_DPFPU>:${CMAKE_CURRENT_LIST_DIR}/IAR/RX700v3_DPFPU>
519     $<$<STREQUAL:${FREERTOS_PORT},IAR_RX_V2>:${CMAKE_CURRENT_LIST_DIR}/IAR/RXv2>
520     $<$<STREQUAL:${FREERTOS_PORT},IAR_STR71X>:${CMAKE_CURRENT_LIST_DIR}/IAR/STR71x>
521     $<$<STREQUAL:${FREERTOS_PORT},IAR_STR75X>:${CMAKE_CURRENT_LIST_DIR}/IAR/STR75x>
522     $<$<STREQUAL:${FREERTOS_PORT},IAR_STR91X>:${CMAKE_CURRENT_LIST_DIR}/IAR/STR91x>
523     $<$<STREQUAL:${FREERTOS_PORT},IAR_V850ES_FX3>:${CMAKE_CURRENT_LIST_DIR}/IAR/V850ES>
524     $<$<STREQUAL:${FREERTOS_PORT},IAR_V850ES_HX3>:${CMAKE_CURRENT_LIST_DIR}/IAR/V850ES>
525     $<$<STREQUAL:${FREERTOS_PORT},MIKROC_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/MikroC/ARM_CM4F>
526     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC18F>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC18F>
527     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC24>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC24_dsPIC>
528     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MEC14XX>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MEC14xx>
529     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MX>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MX>
530     $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MZ>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MZ>
531     $<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>:${CMAKE_CURRENT_LIST_DIR}/MSVC-MingW>
532     $<$<STREQUAL:${FREERTOS_PORT},OWATCOM_16BIT_DOS_FLSH186>:
533         ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/common
534         ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/Flsh186>
535     $<$<STREQUAL:${FREERTOS_PORT},OWATCOM_16BIT_DOS_PC>:
536         ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/common
537         ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/PC>
538     $<$<STREQUAL:${FREERTOS_PORT},PARADIGM_TERN_EE_LARGE>:${CMAKE_CURRENT_LIST_DIR}/Paradigm/Tern_EE/large_untested>
539     $<$<STREQUAL:${FREERTOS_PORT},PARADIGM_TERN_EE_SMALL>:${CMAKE_CURRENT_LIST_DIR}/Paradigm/Tern_EE/small>
540     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX100>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX100>
541     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX200>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX200>
542     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX600>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX600>
543     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX600_V2>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX600v2>
544     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX700_V3_DPFPU>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX700v3_DPFPU>
545     $<$<STREQUAL:${FREERTOS_PORT},RENESAS_SH2A_FPU>:${CMAKE_CURRENT_LIST_DIR}/Renesas/SH2A_FPU>
546     $<$<STREQUAL:${FREERTOS_PORT},ROWLEY_MSP430F449>:${CMAKE_CURRENT_LIST_DIR}/Rowley/MSP430F449>
547     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CA9>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CA9>
548     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM0>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM0>
549     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM3>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM3>
550     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4_MPU>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM4_MPU>
551     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM4F>
552     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM7>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM7/r0p1>
553     $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM7_LPC21XX>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM7_LPC21xx>
554     $<$<STREQUAL:${FREERTOS_PORT},SDCC_CYGNAL>:${CMAKE_CURRENT_LIST_DIR}/SDCC/Cygnal>
555     $<$<STREQUAL:${FREERTOS_PORT},SOFTUNE_MB91460>:${CMAKE_CURRENT_LIST_DIR}/Softune/MB91460>
556     $<$<STREQUAL:${FREERTOS_PORT},SOFTUNE_MB96340>:${CMAKE_CURRENT_LIST_DIR}/Softune/MB96340>
557     $<$<STREQUAL:${FREERTOS_PORT},TASKING_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/Tasking/ARM_CM4F>
558     $<$<STREQUAL:${FREERTOS_PORT},CDK_THEAD_CK802>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/CDK/T-HEAD_CK802>
559     $<$<STREQUAL:${FREERTOS_PORT},XCC_XTENSA>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/XCC/Xtensa>
560     $<$<STREQUAL:${FREERTOS_PORT},WIZC_PIC18>:${CMAKE_CURRENT_LIST_DIR}/WizC/PIC18>
561 )
562
563 target_link_libraries(freertos_kernel_port
564     PUBLIC
565         $<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:pico_base_headers>
566         $<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>:idf::esp32>
567     PRIVATE
568         freertos_kernel
569         "$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:hardware_clocks;hardware_exception>"
570         $<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>:winmm> # Windows library which implements timers
571 )