@@ -3,44 +3,60 @@ if (NOT ( (FREERTOS_PLUS_TCP_NETWORK_IF STREQUAL "STM32") ) )
33endif ()
44
55#------------------------------------------------------------------------------
6- add_library ( freertos_plus_tcp_network_if STATIC )
7-
8- set ( FREERTOS_PLUS_TCP_STM32_IF_DRIVER "None" CACHE STRING "The driver sources to use with STM32 Network interface" )
9-
10- target_sources ( freertos_plus_tcp_network_if
11- PRIVATE
12- NetworkInterface.c
13- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,F4>:
14- Drivers/F4/stm32f4xx_hal_eth.c>
15- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,F7>:
16- Drivers/F7/stm32f7xx_hal_eth.c>
17- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H5>:
18- Drivers/H5/stm32h5xx_hal_eth_ex.c>
19- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H5>:
20- Drivers/H5/stm32h5xx_hal_eth.c>
21- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H7>:
22- Drivers/H7/stm32h7xx_hal_eth_ex.c>
23- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H7>:
24- Drivers/H7/stm32h7xx_hal_eth.c>
6+ add_library (freertos_plus_tcp_network_if STATIC )
7+
8+ set (FREERTOS_PLUS_TCP_STM32_IF_DRIVER "None" CACHE STRING "The driver sources to use with STM32 Network interface" )
9+ set_property (CACHE FREERTOS_PLUS_TCP_STM32_IF_DRIVER PROPERTY STRINGS F4 F7 H5 H7 None)
10+
11+ set (_repo "" )
12+ set (_tag "" )
13+ if (FREERTOS_PLUS_TCP_STM32_IF_DRIVER STREQUAL "F4" )
14+ set (_repo https://github.com/STMicroelectronics/stm32f4xx-hal-driver.git)
15+ set (_tag v1.8.4)
16+ elseif (FREERTOS_PLUS_TCP_STM32_IF_DRIVER STREQUAL "F7" )
17+ set (_repo https://github.com/STMicroelectronics/stm32f7xx-hal-driver.git)
18+ set (_tag v1.3.2)
19+ elseif (FREERTOS_PLUS_TCP_STM32_IF_DRIVER STREQUAL "H5" )
20+ set (_repo https://github.com/STMicroelectronics/stm32h5xx-hal-driver.git)
21+ set (_tag v1.5.0)
22+ elseif (FREERTOS_PLUS_TCP_STM32_IF_DRIVER STREQUAL "H7" )
23+ set (_repo https://github.com/STMicroelectronics/stm32h7xx-hal-driver.git)
24+ set (_tag v1.11.5)
25+ endif ()
26+
27+ if (_repo STREQUAL "" )
28+ message (FATAL_ERROR "Set FREERTOS_PLUS_TCP_STM32_IF_DRIVER to one of: F4, F7, H5, H7." )
29+ endif ()
30+
31+ include (FetchContent)
32+ FetchContent_Declare(stm32_eth_driver
33+ GIT_REPOSITORY ${_repo}
34+ GIT_TAG ${_tag}
35+ GIT_SHALLOW TRUE
36+ )
37+ FetchContent_MakeAvailable(stm32_eth_driver)
38+
39+ target_sources (freertos_plus_tcp_network_if
40+ PRIVATE
41+ NetworkInterface.c
42+ $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,F4>:${stm32_eth_driver_SOURCE_DIR} /Src/stm32f4xx_hal_eth.c>
43+ $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,F7>:${stm32_eth_driver_SOURCE_DIR} /Src/stm32f7xx_hal_eth.c>
44+ $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H5>:${stm32_eth_driver_SOURCE_DIR} /Src/stm32h5xx_hal_eth_ex.c>
45+ $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H5>:${stm32_eth_driver_SOURCE_DIR} /Src/stm32h5xx_hal_eth.c>
46+ $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H7>:${stm32_eth_driver_SOURCE_DIR} /Src/stm32h7xx_hal_eth_ex.c>
47+ $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H7>:${stm32_eth_driver_SOURCE_DIR} /Src/stm32h7xx_hal_eth.c>
2548)
2649
27- target_include_directories ( freertos_plus_tcp_network_if
28- PUBLIC
29- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,F4>:
30- Drivers/F4>
31- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,F7>:
32- Drivers/F7>
33- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H5>:
34- Drivers/H5>
35- $<$<STREQUAL :${FREERTOS_PLUS_TCP_STM32_IF_DRIVER} ,H7>:
36- Drivers/H7>
50+ target_include_directories (freertos_plus_tcp_network_if
51+ PUBLIC
52+ ${stm32_eth_driver_SOURCE_DIR} /Inc
3753)
3854
3955target_link_libraries ( freertos_plus_tcp_network_if
40- PUBLIC
41- freertos_plus_tcp_port
42- freertos_plus_tcp_network_if_common
43- PRIVATE
44- freertos_kernel
45- freertos_plus_tcp
56+ PUBLIC
57+ freertos_plus_tcp_port
58+ freertos_plus_tcp_network_if_common
59+ PRIVATE
60+ freertos_kernel
61+ freertos_plus_tcp
4662)
0 commit comments