| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- 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(USBDevice_SRC
- Core/Src/usbd_ctlreq.c
- Core/Src/usbd_core.c
- Core/Src/usbd_ioreq.c
- # Core/Src/usbd_conf_template.c
- )
- SET(USBDevice_INC
- Core/Inc/usbd_ctlreq.h
- Core/Inc/usbd_ioreq.h
- Core/Inc/usbd_core.h
- # Core/Inc/usbd_conf_template.h
- Core/Inc/usbd_def.h
- )
- SET(USBDevice_COMPONENTS CDC DFU AUDIO Template MSC HID CustomHID)
- SET(USBDevice_COMPONENTS_CDC_HEADERS
- Class/CDC/Inc/usbd_cdc.h
- # Class/CDC/Inc/usbd_cdc_if_template.h
- )
- SET(USBDevice_COMPONENTS_CDC_SOURCES
- Class/CDC/Src/usbd_cdc.c
- # Class/CDC/Src/usbd_cdc_if_template.c
- )
- SET(USBDevice_COMPONENTS_DFU_HEADERS
- # Class/DFU/Inc/usbd_dfu_media_template.h
- Class/DFU/Inc/usbd_dfu.h
- )
- SET(USBDevice_COMPONENTS_DFU_SOURCES
- Class/DFU/Src/usbd_dfu.c
- # Class/DFU/Src/usbd_dfu_media_template.c
- )
- SET(USBDevice_COMPONENTS_AUDIO_HEADERS
- Class/AUDIO/Inc/usbd_audio.h
- # Class/AUDIO/Inc/usbd_audio_if_template.h
- )
- SET(USBDevice_COMPONENTS_AUDIO_SOURCES
- # Class/AUDIO/Src/usbd_audio_if_template.c
- Class/AUDIO/Src/usbd_audio.c
- )
- SET(USBDevice_COMPONENTS_Template_HEADERS
- Class/Template/Inc/usbd_template.h
- )
- SET(USBDevice_COMPONENTS_Template_SOURCES
- Class/Template/Src/usbd_template.c
- )
- SET(USBDevice_COMPONENTS_MSC_HEADERS
- Class/MSC/Inc/usbd_msc_scsi.h
- # Class/MSC/Inc/usbd_msc_storage_template.h
- Class/MSC/Inc/usbd_msc_data.h
- Class/MSC/Inc/usbd_msc.h
- Class/MSC/Inc/usbd_msc_bot.h
- )
- SET(USBDevice_COMPONENTS_MSC_SOURCES
- Class/MSC/Src/usbd_msc.c
- Class/MSC/Src/usbd_msc_data.c
- Class/MSC/Src/usbd_msc_bot.c
- Class/MSC/Src/usbd_msc_scsi.c
- # Class/MSC/Src/usbd_msc_storage_template.c
- )
- SET(USBDevice_COMPONENTS_HID_HEADERS
- Class/HID/Inc/usbd_hid.h
- )
- SET(USBDevice_COMPONENTS_HID_SOURCES
- Class/HID/Src/usbd_hid.c
- )
- SET(USBDevice_COMPONENTS_CustomHID_HEADERS
- # Class/CustomHID/Inc/usbd_customhid_if_template.h
- Class/CustomHID/Inc/usbd_customhid.h
- )
- SET(USBDevice_COMPONENTS_CustomHID_SOURCES
- Class/CustomHID/Src/usbd_customhid.c
- # Class/CustomHID/Src/usbd_customhid_if_template.c
- )
- IF(NOT USBDevice_FIND_COMPONENTS)
- SET(USBDevice_FIND_COMPONENTS ${USBDevice_COMPONENTS})
- MESSAGE(STATUS "No USBDevice components selected, using all: ${USBDevice_FIND_COMPONENTS}")
- ENDIF()
- FOREACH(cmp ${USBDevice_FIND_COMPONENTS})
- LIST(FIND USBDevice_COMPONENTS ${cmp} USBDevice_FOUND_INDEX)
- IF(${USBDevice_FOUND_INDEX} LESS 0)
- MESSAGE(FATAL_ERROR "Unknown USBDevice component: ${cmp}. Available components: ${USBDevice_COMPONENTS}")
- ENDIF()
- LIST(FIND USBDevice_COMPONENTS ${cmp} USBDevice_FOUND_INDEX)
- IF(NOT (${USBDevice_FOUND_INDEX} LESS 0))
- LIST(APPEND USBDevice_INC ${USBDevice_COMPONENTS_${cmp}_HEADERS})
- LIST(APPEND USBDevice_SRC ${USBDevice_COMPONENTS_${cmp}_SOURCES})
- ENDIF()
- ENDFOREACH()
- LIST(REMOVE_DUPLICATES USBDevice_INC)
- LIST(REMOVE_DUPLICATES USBDevice_SRC)
- FOREACH(INC ${USBDevice_INC})
- SET(INC_FILE INC_FILE-NOTFOUND)
- GET_FILENAME_COMPONENT(INC_FILE ${STM32Cube_DIR}/Middlewares/ST/STM32_USB_Device_Library/${INC} DIRECTORY)
- MESSAGE(STATUS "Found ${INC}: ${INC_FILE}")
- LIST(APPEND USBDevice_INCLUDE_DIR ${INC_FILE})
- ENDFOREACH()
- LIST(REMOVE_DUPLICATES USBDevice_INCLUDE_DIR)
- FOREACH(SRC ${USBDevice_SRC})
- SET(SRC_FILE SRC_FILE-NOTFOUND)
- FIND_FILE(SRC_FILE ${SRC}
- HINTS ${STM32Cube_DIR}/Middlewares/ST/STM32_USB_Device_Library
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- MESSAGE(STATUS "Found ${SRC}: ${SRC_FILE}")
- LIST(APPEND USBDevice_SOURCES ${SRC_FILE})
- ENDFOREACH()
- INCLUDE(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(USBDevice DEFAULT_MSG USBDevice_INCLUDE_DIR USBDevice_SOURCES)
|