build all freertos, not able to build net lwip due to lack of sio_open()

This commit is contained in:
hathach 2023-04-21 22:07:58 +07:00
parent 11e1aff389
commit 9858d45815
3 changed files with 36 additions and 10 deletions

View File

@ -17,8 +17,6 @@ endif()
add_executable(${PROJECT}) add_executable(${PROJECT})
set(freertos_path ${CMAKE_CURRENT_SOURCE_DIR}/../../../lib/FreeRTOS-Kernel)
# Example source # Example source
target_sources(${PROJECT} PUBLIC target_sources(${PROJECT} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src/freertos_hook.c ${CMAKE_CURRENT_SOURCE_DIR}/src/freertos_hook.c
@ -30,15 +28,16 @@ target_sources(${PROJECT} PUBLIC
# Example include # Example include
target_include_directories(${PROJECT} PUBLIC target_include_directories(${PROJECT} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/src
${freertos_path}/include
) )
# Configure compilation flags and libraries for the example... see the corresponding function # Configure compilation flags and libraries for the example... see the corresponding function
# in hw/bsp/FAMILY/family.cmake for details. # in hw/bsp/FAMILY/family.cmake for details.
family_configure_device_example(${PROJECT}) family_configure_device_example(${PROJECT})
if (NOT TARGET freertos_kernel)
family_add_freertos_config(${PROJECT}) family_add_freertos_config(${PROJECT})
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../../lib/FreeRTOS-Kernel lib/FreeRTOS-Kernel) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../../lib/FreeRTOS-Kernel lib/FreeRTOS-Kernel)
endif()
target_link_libraries(${PROJECT} PUBLIC target_link_libraries(${PROJECT} PUBLIC
freertos_kernel freertos_kernel

View File

@ -1,16 +1,43 @@
cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.17)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
# gets PROJECT name for the example (e.g. <BOARD>-<DIR_NAME>) # gets PROJECT name for the example (e.g. <BOARD>-<DIR_NAME>)
family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR}) family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR})
project(${PROJECT}) project(${PROJECT} C CXX ASM)
# Checks this example is valid for the family and initializes the project # Checks this example is valid for the family and initializes the project
family_initialize_project(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}) family_initialize_project(${PROJECT} ${CMAKE_CURRENT_LIST_DIR})
# Check for -DFAMILY= # Espressif has its own cmake build system
if(NOT FAMILY STREQUAL "espressif") if(FAMILY STREQUAL "espressif")
message(FATAL_ERROR "Invalid FAMILY specified: ${FAMILY}") return()
endif() endif()
add_executable(${PROJECT})
# Example source
target_sources(${PROJECT} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src/freertos_hook.c
${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
)
# Example include
target_include_directories(${PROJECT} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src
)
# Configure compilation flags and libraries for the example... see the corresponding function
# in hw/bsp/FAMILY/family.cmake for details.
family_configure_device_example(${PROJECT})
if (NOT TARGET freertos_kernel)
family_add_freertos_config(${PROJECT})
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../../lib/FreeRTOS-Kernel lib/FreeRTOS-Kernel)
endif()
target_link_libraries(${PROJECT} PUBLIC
freertos_kernel
)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.17)
set(TOP "../../..") set(TOP "../../..")
get_filename_component(TOP "${TOP}" REALPATH) get_filename_component(TOP "${TOP}" REALPATH)
@ -9,7 +9,7 @@ if (EXISTS ${TOP}/lib/lwip/src)
# gets PROJECT name for the example (e.g. <BOARD>-<DIR_NAME>) # gets PROJECT name for the example (e.g. <BOARD>-<DIR_NAME>)
family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR}) family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR})
project(${PROJECT}) project(${PROJECT} C CXX ASM)
# Checks this example is valid for the family and initializes the project # Checks this example is valid for the family and initializes the project
family_initialize_project(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}) family_initialize_project(${PROJECT} ${CMAKE_CURRENT_LIST_DIR})