add optional COMPILE_DEFINE from cmake cli
This commit is contained in:
@@ -140,7 +140,6 @@ function(family_filter RESULT DIR)
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
function(family_add_subdirectory DIR)
|
function(family_add_subdirectory DIR)
|
||||||
family_filter(SHOULD_ADD "${DIR}")
|
family_filter(SHOULD_ADD "${DIR}")
|
||||||
if (SHOULD_ADD)
|
if (SHOULD_ADD)
|
||||||
@@ -148,13 +147,11 @@ function(family_add_subdirectory DIR)
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
function(family_get_project_name OUTPUT_NAME DIR)
|
function(family_get_project_name OUTPUT_NAME DIR)
|
||||||
get_filename_component(SHORT_NAME ${DIR} NAME)
|
get_filename_component(SHORT_NAME ${DIR} NAME)
|
||||||
set(${OUTPUT_NAME} ${TINYUSB_FAMILY_PROJECT_NAME_PREFIX}${SHORT_NAME} PARENT_SCOPE)
|
set(${OUTPUT_NAME} ${TINYUSB_FAMILY_PROJECT_NAME_PREFIX}${SHORT_NAME} PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
function(family_initialize_project PROJECT DIR)
|
function(family_initialize_project PROJECT DIR)
|
||||||
# set output suffix to .elf (skip espressif and rp2040)
|
# set output suffix to .elf (skip espressif and rp2040)
|
||||||
if(NOT FAMILY STREQUAL "espressif" AND NOT FAMILY STREQUAL "rp2040")
|
if(NOT FAMILY STREQUAL "espressif" AND NOT FAMILY STREQUAL "rp2040")
|
||||||
@@ -168,7 +165,6 @@ function(family_initialize_project PROJECT DIR)
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------
|
#-------------------------------------------------------------
|
||||||
# Common Target Configure
|
# Common Target Configure
|
||||||
# Most families use these settings except rp2040 and espressif
|
# Most families use these settings except rp2040 and espressif
|
||||||
@@ -194,7 +190,6 @@ function(family_add_rtos TARGET RTOS)
|
|||||||
endif ()
|
endif ()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
# Add common configuration to example
|
# Add common configuration to example
|
||||||
function(family_configure_common TARGET RTOS)
|
function(family_configure_common TARGET RTOS)
|
||||||
family_add_rtos(${TARGET} ${RTOS})
|
family_add_rtos(${TARGET} ${RTOS})
|
||||||
@@ -205,14 +200,12 @@ function(family_configure_common TARGET RTOS)
|
|||||||
BOARD_${BOARD_UPPER}
|
BOARD_${BOARD_UPPER}
|
||||||
)
|
)
|
||||||
|
|
||||||
# run size after build
|
# compile define from command line
|
||||||
find_program(SIZE_EXE ${CMAKE_SIZE})
|
if(DEFINED COMPILE_DEFINE)
|
||||||
if(NOT ${SIZE_EXE} STREQUAL SIZE_EXE-NOTFOUND)
|
#separate_arguments(COMPILE_DEFINE_LIST UNIX_COMMAND "${COMPILE_DEFINE}")
|
||||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
target_compile_definitions(${TARGET} PUBLIC ${COMPILE_DEFINE})
|
||||||
COMMAND ${SIZE_EXE} $<TARGET_FILE:${TARGET}>
|
endif()
|
||||||
)
|
|
||||||
endif ()
|
|
||||||
# Add warnings flags
|
|
||||||
target_compile_options(${TARGET} PUBLIC ${WARNING_FLAGS_${CMAKE_C_COMPILER_ID}})
|
target_compile_options(${TARGET} PUBLIC ${WARNING_FLAGS_${CMAKE_C_COMPILER_ID}})
|
||||||
|
|
||||||
# Generate linker map file
|
# Generate linker map file
|
||||||
@@ -235,7 +228,6 @@ function(family_configure_common TARGET RTOS)
|
|||||||
# LOGGER option
|
# LOGGER option
|
||||||
if (DEFINED LOGGER)
|
if (DEFINED LOGGER)
|
||||||
target_compile_definitions(${TARGET} PUBLIC LOGGER_${LOGGER})
|
target_compile_definitions(${TARGET} PUBLIC LOGGER_${LOGGER})
|
||||||
|
|
||||||
# Add segger rtt to example
|
# Add segger rtt to example
|
||||||
if(LOGGER STREQUAL "RTT" OR LOGGER STREQUAL "rtt")
|
if(LOGGER STREQUAL "RTT" OR LOGGER STREQUAL "rtt")
|
||||||
if (NOT TARGET segger_rtt)
|
if (NOT TARGET segger_rtt)
|
||||||
@@ -246,8 +238,15 @@ function(family_configure_common TARGET RTOS)
|
|||||||
target_link_libraries(${TARGET} PUBLIC segger_rtt)
|
target_link_libraries(${TARGET} PUBLIC segger_rtt)
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
endfunction()
|
|
||||||
|
|
||||||
|
# run size after build
|
||||||
|
find_program(SIZE_EXE ${CMAKE_SIZE})
|
||||||
|
if(NOT ${SIZE_EXE} STREQUAL SIZE_EXE-NOTFOUND)
|
||||||
|
add_custom_command(TARGET ${TARGET} POST_BUILD
|
||||||
|
COMMAND ${SIZE_EXE} $<TARGET_FILE:${TARGET}>
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Add tinyusb to example
|
# Add tinyusb to example
|
||||||
function(family_add_tinyusb TARGET OPT_MCU RTOS)
|
function(family_add_tinyusb TARGET OPT_MCU RTOS)
|
||||||
@@ -289,7 +288,6 @@ function(family_add_tinyusb TARGET OPT_MCU RTOS)
|
|||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
# Add bin/hex output
|
# Add bin/hex output
|
||||||
function(family_add_bin_hex TARGET)
|
function(family_add_bin_hex TARGET)
|
||||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
add_custom_command(TARGET ${TARGET} POST_BUILD
|
||||||
|
@@ -175,6 +175,12 @@ function(family_configure_target TARGET RTOS)
|
|||||||
# export RTOS_SUFFIX to parent scope
|
# export RTOS_SUFFIX to parent scope
|
||||||
set(RTOS_SUFFIX ${RTOS_SUFFIX} PARENT_SCOPE)
|
set(RTOS_SUFFIX ${RTOS_SUFFIX} PARENT_SCOPE)
|
||||||
|
|
||||||
|
# compile define from command line
|
||||||
|
if(DEFINED COMPILE_DEFINE)
|
||||||
|
#separate_arguments(COMPILE_DEFINE_LIST UNIX_COMMAND "${COMPILE_DEFINE}")
|
||||||
|
target_compile_definitions(${TARGET} PUBLIC ${COMPILE_DEFINE})
|
||||||
|
endif()
|
||||||
|
|
||||||
pico_add_extra_outputs(${TARGET})
|
pico_add_extra_outputs(${TARGET})
|
||||||
pico_enable_stdio_uart(${TARGET} 1)
|
pico_enable_stdio_uart(${TARGET} 1)
|
||||||
target_link_libraries(${TARGET} PUBLIC pico_stdlib tinyusb_board${RTOS_SUFFIX} tinyusb_additions)
|
target_link_libraries(${TARGET} PUBLIC pico_stdlib tinyusb_board${RTOS_SUFFIX} tinyusb_additions)
|
||||||
|
Reference in New Issue
Block a user