55 lines
1.5 KiB
CMake
55 lines
1.5 KiB
CMake
set(srcs
|
|
"descriptors_control.c"
|
|
"tinyusb.c"
|
|
"usb_descriptors.c"
|
|
)
|
|
|
|
if(NOT CONFIG_TINYUSB_NO_DEFAULT_TASK)
|
|
list(APPEND srcs "tusb_tasks.c")
|
|
endif() # CONFIG_TINYUSB_NO_DEFAULT_TASK
|
|
|
|
if(CONFIG_TINYUSB_CDC_ENABLED)
|
|
list(APPEND srcs
|
|
"cdc.c"
|
|
"tusb_cdc_acm.c"
|
|
)
|
|
if(CONFIG_VFS_SUPPORT_IO)
|
|
list(APPEND srcs
|
|
"tusb_console.c"
|
|
"vfs_tinyusb.c"
|
|
)
|
|
endif() # CONFIG_VFS_SUPPORT_IO
|
|
endif() # CONFIG_TINYUSB_CDC_ENABLED
|
|
|
|
if(CONFIG_TINYUSB_MSC_ENABLED)
|
|
list(APPEND srcs
|
|
tusb_msc_storage.c
|
|
)
|
|
endif() # CONFIG_TINYUSB_MSC_ENABLED
|
|
|
|
if(CONFIG_TINYUSB_NET_MODE_NCM)
|
|
list(APPEND srcs
|
|
tinyusb_net.c
|
|
)
|
|
endif() # CONFIG_TINYUSB_NET_MODE_NCM
|
|
|
|
idf_component_register(SRCS ${srcs}
|
|
INCLUDE_DIRS "include"
|
|
PRIV_INCLUDE_DIRS "include_private"
|
|
PRIV_REQUIRES usb
|
|
REQUIRES fatfs vfs
|
|
REQUIRED_IDF_TARGETS esp32s2 esp32s3
|
|
)
|
|
|
|
# Determine whether tinyusb is fetched from component registry or from local path
|
|
idf_build_get_property(build_components BUILD_COMPONENTS)
|
|
if(tinyusb IN_LIST build_components)
|
|
set(tinyusb_name tinyusb) # Local component
|
|
else()
|
|
set(tinyusb_name espressif__tinyusb) # Managed component
|
|
endif()
|
|
|
|
# Pass tusb_config.h from this component to TinyUSB
|
|
idf_component_get_property(tusb_lib ${tinyusb_name} COMPONENT_LIB)
|
|
target_include_directories(${tusb_lib} PRIVATE "include")
|