diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c748588..ec19cbcf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,56 +1,57 @@ -## Script for hpmicro ## -sdk_inc(common) -sdk_inc(osal) -sdk_inc(core) -sdk_inc(class/cdc) -sdk_inc(class/hid) -sdk_inc(class/msc) -sdk_inc(class/audio) -sdk_inc(class/video) -sdk_inc(class/hub) +add_library(cherryusb STATIC) + +target_include_directories(cherryusb PUBLIC +common +core +osal +class/cdc +class/hid +class/msc +class/audio +class/video +class/hub +class/wireless +) if(CONFIG_CHERRYUSB_DEVICE) -sdk_src(core/usbd_core.c) -sdk_src(port/hpm/usb_dc_hpm.c) -sdk_compile_definitions(-DCONFIG_USB_HS) -if(CONFIG_CHERRYUSB_DEVICE_CDC) -sdk_src(class/cdc/usbd_cdc.c) -endif() -if(CONFIG_CHERRYUSB_DEVICE_HID) -sdk_src(class/hid/usbd_hid.c) -endif() -if(CONFIG_CHERRYUSB_DEVICE_MSC) -sdk_src(class/msc/usbd_msc.c) -endif() -if(CONFIG_CHERRYUSB_DEVICE_AUDIO) -sdk_src(class/audio/usbd_audio.c) -endif() -if(CONFIG_CHERRYUSB_DEVICE_VIDEO) -sdk_src(class/video/usbd_video.c) + target_sources(cherryusb PRIVATE core/usbd_core.c) + if(CONFIG_CHERRYUSB_DEVICE_CDC) + target_sources(cherryusb PRIVATE class/cdc/usbd_cdc.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_HID) + target_sources(cherryusb PRIVATE class/hid/usbd_hid.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_MSC) + target_sources(cherryusb PRIVATE class/msc/usbd_msc.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_AUDIO) + target_sources(cherryusb PRIVATE class/audio/usbd_audio.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_VIDEO) + target_sources(cherryusb PRIVATE class/video/usbd_video.c) + endif() endif() -if(CONFIG_CHERRYUSB_DEVICE_DEMO_CDC) -sdk_src(demo/cdc_acm_template.c) -endif() - -if(CONFIG_CHERRYUSB_DEVICE_DEMO_CDC_MSC) -sdk_src(demo/cdc_acm_msc_template.c) -endif() - -elseif(CONFIG_CHERRYUSB_HOST) -sdk_src(core/usbh_core.c) -sdk_src(class/hub/usbh_hub.c) -sdk_src(port/ehci/usb_hc_ehci.c) -sdk_src(port/ehci/usb_glue_hpm.c) -sdk_src(osal/usb_osal_freertos.c) -sdk_src(class/cdc/usbh_cdc_acm.c) -sdk_src(class/msc/usbh_msc.c) -sdk_src(class/hid/usbh_hid.c) -sdk_src(class/wireless/usbh_rndis.c) -if(CONFIG_CHERRYUSB_HOST_DEMO) -sdk_src(demo/usb_host.c) -endif() +if(CONFIG_CHERRYUSB_HOST) + target_sources(cherryusb PRIVATE + core/usbh_core.c + class/hub/usbh_hub.c + class/cdc/usbh_cdc_acm.c + class/hid/usbh_hid.c + class/msc/usbh_msc.c + class/audio/usbh_audio.c + class/video/usbh_video.c + class/wireless/usbh_rndis.c + ) endif() - +if(DEFINED CONFIG_CHERRYUSB_OSAL) + if("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "freertos") + target_sources(cherryusb PRIVATE osal/usb_osal_freertos.c) + elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "rtthread") + target_sources(cherryusb PRIVATE osal/usb_osal_rtthread.c) + elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "yoc") + target_sources(cherryusb PRIVATE osal/usb_osal_yoc.c) + endif() +endif() \ No newline at end of file