xref: /FreeRTOS-Plus-TCP-v4.0.0/source/portable/NetworkInterface/Zynq/CMakeLists.txt (revision 89269454b9187e8693e94eb3f6cb0df5da9ee4c3)
1if (NOT (FREERTOS_PLUS_TCP_NETWORK_IF STREQUAL "ZYNQ") )
2    return()
3endif()
4
5if(NOT TARGET xil_bsp)
6    message(FATAL_ERROR "For FREERTOS_PLUS_TCP_NETWORK_IF=ZYNQ must have a target for the xil_bsp")
7endif()
8
9# ZYNQ port shares uncached_memory.c and .h with FreeRTOS-Plus-FAT.
10# Separating out so it can potentially be included there as well.
11#------------------------------------------------------------------------------
12add_library(freertos_xil_uncached_memory STATIC)
13
14target_sources(freertos_xil_uncached_memory
15  PRIVATE
16    uncached_memory.c
17    uncached_memory.h
18)
19
20target_include_directories(freertos_xil_uncached_memory
21  PUBLIC
22    .
23  PRIVATE
24    ..
25)
26
27target_link_libraries(freertos_xil_uncached_memory
28  PRIVATE
29    freertos_kernel
30    freertos_plus_tcp
31    freertos_plus_tcp_network_if
32    xil_bsp
33)
34
35#------------------------------------------------------------------------------
36add_library( freertos_plus_tcp_network_if STATIC )
37set_property(TARGET freertos_plus_tcp_network_if PROPERTY C_STANDARD 99)
38
39target_sources( freertos_plus_tcp_network_if
40  PRIVATE
41    NetworkInterface.c
42    x_emacpsif_dma.c
43    x_emacpsif_hw.c
44    x_emacpsif_hw.h
45    x_emacpsif_physpeed.c
46    x_emacpsif.h
47    x_topology.h
48)
49
50target_include_directories( freertos_plus_tcp_network_if
51  PRIVATE
52    ..
53)
54
55target_compile_options( freertos_plus_tcp_network_if
56  PRIVATE
57    $<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-cast-align>
58    $<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-declaration-after-statement>
59    $<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wno-padded>
60    $<$<COMPILE_LANG_AND_ID:C,GNU>:-Wno-pedantic>
61    $<$<COMPILE_LANG_AND_ID:C,GNU>:-Wno-unused-parameter>
62)
63
64target_link_libraries( freertos_plus_tcp_network_if
65  PUBLIC
66    freertos_plus_tcp_port
67    freertos_plus_tcp_network_if_common
68  PRIVATE
69    freertos_kernel
70    freertos_plus_tcp
71    freertos_xil_uncached_memory
72    xil_bsp
73)
74