cmake_minimum_required(VERSION 3.15) set(FLATUSB_TARGET flatUSB) if (FLATUSB_TARGET_TAG) set(FLATUSB_TARGET "${FLATUSB_TARGET}_${FLATUSB_TARGET_TAG}") message("Custom flatUSB target: ${FLATUSB_TARGET}") endif() set(FLATUSB_CLASSES_SRC "") if ("CDC_ACM" IN_LIST FLATUSB_CLASSES) list(APPEND FLATUSB_CLASSES_SRC class/cdc.c class/cdc.h ) endif() if ("CDC_EEM" IN_LIST FLATUSB_CLASSES) list(APPEND FLATUSB_CLASSES_SRC class/eem.c class/eem.h ) endif() message("flatUSB classes selected: ${FLATUSB_CLASSES}") set(FLATUSB_SRC ${FLATUSB_CLASSES_SRC} desc/usb_desc.c desc/usb_desc.h usb.c usb_callback_event.h usb_common_defs.h usb_common.h usb_common_types.h usb_core_types.h usb_device_types.h usb_driver.c usb_driver.h usb.h # utils/gen_queue.c # utils/gen_queue.h ) add_library(${FLATUSB_TARGET} STATIC ${FLATUSB_SRC}) target_include_directories(${FLATUSB_TARGET} PRIVATE ${FLATUSB_INCLUDES}) target_compile_options(${FLATUSB_TARGET} PRIVATE ${FLATUSB_CPU_PARAMS}) target_compile_definitions(${FLATUSB_TARGET} PRIVATE ${FLATUSB_COMPILE_DEFS})