| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- IF(NOT STM32Cube_DIR)
- SET(STM32Cube_DIR "/opt/STM32Cube_FW_F1_V1.2.0")
- MESSAGE(STATUS "No STM32Cube_DIR specified, using default: " ${STM32Cube_DIR})
- ENDIF()
- SET(USBHost_HEADERS
- Core/Inc/usbh_ctlreq.h
- Core/Inc/usbh_ioreq.h
- Core/Inc/usbh_core.h
- Core/Src/usbh_pipes.h
- )
- SET(USBHost_SRC
- Core/Src/usbh_ctlreq.c
- Core/Src/usbh_core.c
- Core/Src/usbh_ioreq.c
- Core/Src/usbh_pipes.c
- )
- SET(USBHost_COMPONENTS CDC AUDIO MSC HID MTP)
- ADD_DEFINITIONS(-DUSE_USB_HS)
- ADD_DEFINITIONS(-DUSE_HAL_DRIVER)
- SET(USBHost_COMPONENTS_CDC_HEADERS
- Class/CDC/Inc/usbh_cdc.h
- )
- SET(USBHost_COMPONENTS_CDC_SOURCES
- Class/CDC/Src/usbh_cdc.c
- )
- SET(USBHost_COMPONENTS_AUDIO_HEADERS
- Class/AUDIO/Inc/usbh_audio.h
- )
- SET(USBHost_COMPONENTS_AUDIO_SOURCES
- Class/AUDIO/Src/usbh_audio.c
- )
- SET(USBHost_COMPONENTS_MSC_HEADERS
- Class/MSC/Inc/usbh_msc_scsi.h
- # Class/MSC/Inc/usbh_msc_data.h
- Class/MSC/Inc/usbh_msc.h
- Class/MSC/Inc/usbh_msc_bot.h
- )
- SET(USBHost_COMPONENTS_MSC_SOURCES
- Class/MSC/Src/usbh_msc.c
- # Class/MSC/Src/usbh_msc_data.c
- Class/MSC/Src/usbh_msc_bot.c
- Class/MSC/Src/usbh_msc_scsi.c
- )
- SET(USBHost_COMPONENTS_HID_HEADERS
- Class/HID/Inc/usbh_hid_keybd.h
- Class/HID/Inc/usbh_hid_mouse.h
- Class/HID/Inc/usbh_hid_parser.h
- Class/HID/Inc/usbh_hid_usage.h
- Class/HID/Inc/usbh_hid.h
- )
- SET(USBHost_COMPONENTS_HID_SOURCES
- Class/HID/Src/usbh_hid_keybd.c
- Class/HID/Src/usbh_hid_mouse.c
- Class/HID/Src/usbh_hid_parser.c
- Class/HID/Src/usbh_hid.c
- )
- SET(USBHost_COMPONENTS_MTP_HEADERS
- Class/MTP/Inc/usbh_mtp_ptp.h
- Class/MTP/Inc/usbh_mtp.h
- )
- SET(USBHost_COMPONENTS_MTP_SOURCES
- Class/MTP/Src/usbh_mtp_ptp.c
- Class/MTP/Src/usbh_mtp.c
- )
- IF(NOT USBHost_FIND_COMPONENTS)
- SET(USBHost_FIND_COMPONENTS ${USBHost_COMPONENTS})
- MESSAGE(STATUS "No USBHost components selected, using all: ${USBHost_FIND_COMPONENTS}")
- ENDIF()
- MESSAGE(STATUS "USBHost components: ${USBHost_FIND_COMPONENTS}")
- FOREACH(cmp ${USBHost_FIND_COMPONENTS})
- LIST(FIND USBHost_COMPONENTS ${cmp} USBHost_FOUND_INDEX)
- IF(${USBHost_FOUND_INDEX} LESS 0)
- MESSAGE(FATAL_ERROR "Unknown USBHost component: ${cmp}. Available components: ${USBHost_COMPONENTS}")
- ENDIF()
- LIST(FIND USBHost_COMPONENTS ${cmp} USBHost_FOUND_INDEX)
- IF(NOT (${USBHost_FOUND_INDEX} LESS 0))
- LIST(APPEND USBHost_HEADERS ${USBHost_COMPONENTS_${cmp}_HEADERS})
- LIST(APPEND USBHost_SRC ${USBHost_COMPONENTS_${cmp}_SOURCES})
- ENDIF()
- ENDFOREACH()
- LIST(REMOVE_DUPLICATES USBHost_HEADERS)
- LIST(REMOVE_DUPLICATES USBHost_SRC)
- FOREACH(INC ${USBHost_HEADERS})
- SET(INC_FILE INC_FILE-NOTFOUND)
- GET_FILENAME_COMPONENT(INC_FILE ${STM32Cube_DIR}/Middlewares/ST/STM32_USB_Host_Library/${INC} DIRECTORY)
- MESSAGE(STATUS "Found ${INC}: ${INC_FILE}")
- LIST(APPEND USBHost_INCLUDE_DIRS ${INC_FILE})
- ENDFOREACH()
- LIST(REMOVE_DUPLICATES USBHost_INCLUDE_DIRS)
- FOREACH(SRC ${USBHost_SRC})
- SET(SRC_FILE SRC_FILE-NOTFOUND)
- FIND_FILE(SRC_FILE ${SRC}
- HINTS ${STM32Cube_DIR}/Middlewares/ST/STM32_USB_Host_Library
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- MESSAGE(STATUS "Found ${SRC}: ${SRC_FILE}")
- LIST(APPEND USBHost_SOURCES ${SRC_FILE})
- ENDFOREACH()
- INCLUDE(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(USBHost DEFAULT_MSG USBHost_INCLUDE_DIRS USBHost_SOURCES)
|