mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-31 05:52:55 +08:00
Fix build issues when building for RP2040 from pico-examples/pico-sdk.
* include_guard requires GLOBAL as family.cmake is included in multiple non child places * the following recently added check is suprfluous (family_configure_host_example for rp2040 should do this already), and breaks if pico_pio_usb is not avaialble, so i have removed # Add pico-pio-usb for rp2040 since user can choose to run on bit-banging host if(FAMILY STREQUAL "rp2040") family_add_pico_pio_usb(${PROJECT}) endif() * added new familt_example_missing_dependency functino to print missing dependency warning, so pico-examples can override it to be less in your face, and also more contextual to pico-examples
This commit is contained in:
parent
f1e006d09b
commit
3678a25baa
@ -2,15 +2,15 @@ cmake_minimum_required(VERSION 3.17)
|
|||||||
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/../../../hw/bsp/family_support.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/../../../hw/bsp/family_support.cmake)
|
||||||
|
|
||||||
set(LWIP ${TOP}/lib/lwip)
|
|
||||||
if (NOT EXISTS ${LWIP}/src)
|
|
||||||
MESSAGE(WARNING "lib/lwip submodule not found, please run 'python tools/get_deps.py lib/lwip' to fetch it")
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# 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})
|
||||||
|
|
||||||
|
set(LWIP ${TOP}/lib/lwip)
|
||||||
|
if (NOT EXISTS ${LWIP}/src)
|
||||||
|
family_example_missing_dependency(${PROJECT} "lib/lwip")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
project(${PROJECT} C CXX ASM)
|
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
|
||||||
|
@ -25,8 +25,3 @@ target_include_directories(${PROJECT} PUBLIC
|
|||||||
# Configure compilation flags and libraries for the example without RTOS.
|
# Configure compilation flags and libraries for the example without RTOS.
|
||||||
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
|
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
|
||||||
family_configure_host_example(${PROJECT} noos)
|
family_configure_host_example(${PROJECT} noos)
|
||||||
|
|
||||||
# Add pico-pio-usb for rp2040 since user can choose to run on bit-banging host
|
|
||||||
if(FAMILY STREQUAL "rp2040")
|
|
||||||
family_add_pico_pio_usb(${PROJECT})
|
|
||||||
endif()
|
|
||||||
|
@ -28,8 +28,3 @@ target_include_directories(${PROJECT} PUBLIC
|
|||||||
# Configure compilation flags and libraries for the example without RTOS.
|
# Configure compilation flags and libraries for the example without RTOS.
|
||||||
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
|
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
|
||||||
family_configure_host_example(${PROJECT} noos)
|
family_configure_host_example(${PROJECT} noos)
|
||||||
|
|
||||||
# Add pico-pio-usb for rp2040 since user can choose to run on bit-banging host
|
|
||||||
if(FAMILY STREQUAL "rp2040")
|
|
||||||
family_add_pico_pio_usb(${PROJECT})
|
|
||||||
endif()
|
|
||||||
|
@ -26,8 +26,3 @@ target_include_directories(${PROJECT} PUBLIC
|
|||||||
# Configure compilation flags and libraries for the example without RTOS.
|
# Configure compilation flags and libraries for the example without RTOS.
|
||||||
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
|
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
|
||||||
family_configure_host_example(${PROJECT} noos)
|
family_configure_host_example(${PROJECT} noos)
|
||||||
|
|
||||||
# Add pico-pio-usb for rp2040 since user can choose to run on bit-banging host
|
|
||||||
if(FAMILY STREQUAL "rp2040")
|
|
||||||
family_add_pico_pio_usb(${PROJECT})
|
|
||||||
endif()
|
|
||||||
|
@ -38,8 +38,3 @@ target_include_directories(${PROJECT} PUBLIC
|
|||||||
# Configure compilation flags and libraries for the example without RTOS.
|
# Configure compilation flags and libraries for the example without RTOS.
|
||||||
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
|
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
|
||||||
family_configure_host_example(${PROJECT} noos)
|
family_configure_host_example(${PROJECT} noos)
|
||||||
|
|
||||||
# Add pico-pio-usb for rp2040 since user can choose to run on bit-banging host
|
|
||||||
if(FAMILY STREQUAL "rp2040")
|
|
||||||
family_add_pico_pio_usb(${PROJECT})
|
|
||||||
endif()
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
include_guard()
|
include_guard(GLOBAL)
|
||||||
|
|
||||||
include(CMakePrintHelpers)
|
include(CMakePrintHelpers)
|
||||||
|
|
||||||
@ -36,12 +36,14 @@ if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${FAMILY}/family.cmake)
|
|||||||
message(FATAL_ERROR "Family '${FAMILY}' is not known/supported")
|
message(FATAL_ERROR "Family '${FAMILY}' is not known/supported")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# enable LTO if supported
|
if (NOT TINYUSB_OPT_SKIP_CHECK_IPO_SUPPORTED)
|
||||||
include(CheckIPOSupported)
|
# enable LTO if supported
|
||||||
check_ipo_supported(RESULT IPO_SUPPORTED)
|
include(CheckIPOSupported)
|
||||||
if (IPO_SUPPORTED)
|
check_ipo_supported(RESULT IPO_SUPPORTED)
|
||||||
|
if (IPO_SUPPORTED)
|
||||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||||
endif ()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
set(WARNING_FLAGS_GNU
|
set(WARNING_FLAGS_GNU
|
||||||
-Wall
|
-Wall
|
||||||
@ -278,6 +280,10 @@ function(family_configure_dual_usb_example TARGET RTOS)
|
|||||||
family_configure_example(${TARGET} ${RTOS})
|
family_configure_example(${TARGET} ${RTOS})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(family_example_missing_dependency TARGET DEPENDENCY)
|
||||||
|
message(WARNING "${DEPENDENCY} submodule needed by ${TARGET} not found, please run 'python tools/get_deps.py ${DEPENDENCY}' to fetch it")
|
||||||
|
endfunction()
|
||||||
|
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
# RPI specific: refactor later
|
# RPI specific: refactor later
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
cmake_minimum_required(VERSION 3.13)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
include_guard()
|
include_guard(GLOBAL)
|
||||||
|
|
||||||
if (NOT BOARD)
|
if (NOT BOARD)
|
||||||
message("BOARD not specified, defaulting to pico_sdk")
|
message("BOARD not specified, defaulting to pico_sdk")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user