mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-21 03:40:52 +00:00
minor update
This commit is contained in:
parent
9858d45815
commit
5254202b20
@ -16,4 +16,39 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_SYSTEM_PROCESSOR)
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/../cpu/${CMAKE_SYSTEM_PROCESSOR}.cmake)
|
||||
|
||||
# enable all possible warnings for building examples
|
||||
list(APPEND TOOLCHAIN_COMMON_FLAGS
|
||||
-fdata-sections
|
||||
-ffunction-sections
|
||||
-fsingle-precision-constant
|
||||
-fno-strict-aliasing
|
||||
)
|
||||
|
||||
set(TOOLCHAIN_WARNING_FLAGS
|
||||
-Wall
|
||||
-Wextra
|
||||
-Werror
|
||||
-Wfatal-errors
|
||||
-Wdouble-promotion
|
||||
-Wstrict-prototypes
|
||||
-Wstrict-overflow
|
||||
-Werror-implicit-function-declaration
|
||||
-Wfloat-equal
|
||||
-Wundef
|
||||
-Wshadow
|
||||
-Wwrite-strings
|
||||
-Wsign-compare
|
||||
-Wmissing-format-attribute
|
||||
-Wunreachable-code
|
||||
-Wcast-align
|
||||
-Wcast-function-type
|
||||
-Wcast-qual
|
||||
-Wnull-dereference
|
||||
-Wuninitialized
|
||||
-Wunused
|
||||
-Wreturn-type
|
||||
-Wredundant-decls
|
||||
)
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/set_flags.cmake)
|
||||
|
@ -1,22 +1,20 @@
|
||||
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
|
||||
|
||||
# join the toolchain flags into a single string
|
||||
list(JOIN TOOLCHAIN_COMMON_FLAGS " " TOOLCHAIN_COMMON_FLAGS)
|
||||
|
||||
include(CMakePrintHelpers)
|
||||
foreach(LANG IN ITEMS C CXX ASM)
|
||||
set(CMAKE_${LANG}_FLAGS_INIT "${TOOLCHAIN_COMMON_FLAGS}")
|
||||
if (PICO_DEOPTIMIZED_DEBUG)
|
||||
set(CMAKE_${LANG}_FLAGS_DEBUG_INIT "-O0")
|
||||
else()
|
||||
set(CMAKE_${LANG}_FLAGS_DEBUG_INIT "-Og")
|
||||
endif()
|
||||
set(CMAKE_${LANG}_LINK_FLAGS "-Wl,--build-id=none")
|
||||
# join the toolchain flags into a single string
|
||||
list(APPEND TOOLCHAIN_${LANG}_FLAGS ${TOOLCHAIN_COMMON_FLAGS})
|
||||
list(JOIN TOOLCHAIN_${LANG}_FLAGS " " TOOLCHAIN_${LANG}_FLAGS)
|
||||
set(CMAKE_${LANG}_FLAGS_INIT "${TOOLCHAIN_${LANG}_FLAGS}")
|
||||
|
||||
# try_compile is where the feature testing is done, and at that point,
|
||||
# pico_standard_link is not ready to be linked in to provide essential
|
||||
# functions like _exit. So pass -nostdlib so it doesn't link in an exit()
|
||||
# function at all.
|
||||
if(IS_IN_TRY_COMPILE)
|
||||
set(CMAKE_${LANG}_LINK_FLAGS "${CMAKE_${LANG}_LINK_FLAGS} -nostdlib")
|
||||
endif()
|
||||
#cmake_print_variables(CMAKE_${LANG}_FLAGS_INIT)
|
||||
|
||||
# optimization flags
|
||||
set(CMAKE_${LANG}_FLAGS_DEBUG_INIT "-Og")
|
||||
endforeach()
|
||||
|
||||
# try_compile is cmake test compiling its own example,
|
||||
# pass -nostdlib to skip stdlib linking
|
||||
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
|
||||
if(IS_IN_TRY_COMPILE)
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
|
||||
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
|
||||
endif()
|
||||
|
@ -19,8 +19,6 @@ function(family_configure_target TARGET)
|
||||
|
||||
include(${CMAKE_CURRENT_FUNCTION_LIST_DIR}/boards/${BOARD}/board.cmake)
|
||||
|
||||
cmake_print_variables(TOP CMAKE_CURRENT_FUNCTION_LIST_DIR)
|
||||
|
||||
target_compile_definitions(${TARGET} PUBLIC
|
||||
CFG_TUSB_MCU=OPT_MCU_MIMXRT
|
||||
__ARMVFP__=0
|
||||
@ -77,6 +75,8 @@ function(family_configure_target TARGET)
|
||||
|
||||
# include tinyusb cmake
|
||||
include(${TOP}/src/CMakeLists.txt)
|
||||
add_tinyusb(${TARGET})
|
||||
|
||||
endfunction()
|
||||
|
||||
function(family_add_freertos_config TARGET)
|
||||
|
@ -1,25 +1,33 @@
|
||||
# cmake_minimum_required(VERSION 3.17)
|
||||
# TODO make tinyusb as library that depends on 'tusb_config' interface that exposes the tusb_config.h file
|
||||
|
||||
target_sources(${PROJECT} PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}/tusb.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/common/tusb_fifo.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/device/usbd.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/device/usbd_control.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/audio/audio_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/cdc/cdc_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/dfu/dfu_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/dfu/dfu_rt_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/hid/hid_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/midi/midi_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/msc/msc_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/net/ecm_rndis_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/net/ncm_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/usbtmc/usbtmc_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/vendor/vendor_device.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/class/video/video_device.c
|
||||
)
|
||||
function(add_tinyusb TARGET)
|
||||
target_sources(${TARGET} PUBLIC
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/tusb.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/common/tusb_fifo.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/device/usbd.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/device/usbd_control.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/audio/audio_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/cdc/cdc_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/dfu/dfu_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/dfu/dfu_rt_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/hid/hid_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/midi/midi_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/msc/msc_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/net/ecm_rndis_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/net/ncm_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/usbtmc/usbtmc_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/vendor/vendor_device.c
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/class/video/video_device.c
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT} PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}
|
||||
)
|
||||
target_include_directories(${TARGET} PUBLIC
|
||||
${CMAKE_CURRENT_FUNCTION_LIST_DIR}
|
||||
)
|
||||
|
||||
# enable all possible warnings
|
||||
target_compile_options(${TARGET} PUBLIC
|
||||
|
||||
)
|
||||
|
||||
endfunction()
|
||||
|
Loading…
x
Reference in New Issue
Block a user