mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-26 01:35:35 +03:00
[CMAKE] Add support for having targets that are not part of the release
Add a SKIP_RELEASES target argument
This commit is contained in:
parent
77e3040523
commit
bd490a52f3
16 changed files with 43 additions and 9 deletions
|
@ -65,6 +65,11 @@ function(setup_firmware_target exe name)
|
|||
set_property(GLOBAL PROPERTY VALID_TARGETS "${targets}")
|
||||
setup_openocd(${exe} ${name})
|
||||
setup_svd(${exe} ${name})
|
||||
|
||||
cmake_parse_arguments(args "SKIP_RELEASES" "" "" ${ARGN})
|
||||
if(args_SKIP_RELEASES)
|
||||
set_target_properties(${exe} ${name} PROPERTIES SKIP_RELEASES ON)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(exclude_from_all target)
|
||||
|
@ -77,11 +82,28 @@ endfunction()
|
|||
function(collect_targets)
|
||||
get_property(targets GLOBAL PROPERTY VALID_TARGETS)
|
||||
list(SORT targets)
|
||||
set(release_targets)
|
||||
foreach(target ${targets})
|
||||
get_target_property(skip_releases ${target} SKIP_RELEASES)
|
||||
if(NOT skip_releases)
|
||||
list(APPEND release_targets ${target})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
list(JOIN targets " " target_names)
|
||||
list(JOIN release_targets " " release_targets_names)
|
||||
|
||||
set(list_target_name "targets")
|
||||
add_custom_target(${list_target_name}
|
||||
COMMAND cmake -E echo "Valid targets: ${target_names}")
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "Valid targets: ${target_names}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "Release targets: ${release_targets_names}"
|
||||
)
|
||||
exclude_from_all(${list_target_name})
|
||||
set(release_target_name "release")
|
||||
add_custom_target(${release_target_name}
|
||||
${CMAKE_COMMAND} -E true
|
||||
DEPENDS ${release_targets}
|
||||
)
|
||||
list(LENGTH targets target_count)
|
||||
message("-- ${target_count} targets found for toolchain ${TOOLCHAIN}")
|
||||
endfunction()
|
||||
|
|
|
@ -378,7 +378,7 @@ function(target_stm32)
|
|||
set_property(TARGET ${main_target_name} PROPERTY OPENOCD_DEFAULT_INTERFACE stlink)
|
||||
set_property(TARGET ${main_target_name} PROPERTY SVD ${args_SVD})
|
||||
|
||||
setup_firmware_target(${main_target_name} ${name})
|
||||
setup_firmware_target(${main_target_name} ${name} ${ARGN})
|
||||
|
||||
if(args_BOOTLOADER)
|
||||
# Bootloader for the target
|
||||
|
|
|
@ -106,6 +106,7 @@ endfunction()
|
|||
|
||||
macro(define_target_stm32f7 subfamily size)
|
||||
function(target_stm32f7${subfamily}x${size} name)
|
||||
set(func_ARGV ARGV)
|
||||
string(TOUPPER ${size} upper_size)
|
||||
get_stm32_flash_size(flash_size ${size})
|
||||
set(definitions
|
||||
|
@ -119,7 +120,7 @@ macro(define_target_stm32f7 subfamily size)
|
|||
STARTUP startup_stm32f7${subfamily}xx.s
|
||||
COMPILE_DEFINITIONS ${definitions}
|
||||
LINKER_SCRIPT stm32_flash_f7${subfamily}x${size}
|
||||
${ARGN}
|
||||
${${func_ARGV}}
|
||||
)
|
||||
endfunction()
|
||||
endmacro()
|
||||
|
|
|
@ -9,8 +9,8 @@ function(setup_svd target_exe target_name)
|
|||
)
|
||||
else()
|
||||
add_custom_target(${svd_target_name}
|
||||
cmake -E echo "target ${target_name} does not declare an SVD filename"
|
||||
COMMAND cmake -E false)
|
||||
${CMAKE_COMMAND} -E echo "target ${target_name} does not declare an SVD filename"
|
||||
COMMAND ${CMAKE_COMMAND} -E false)
|
||||
endif()
|
||||
exclude_from_all(${svd_target_name})
|
||||
endfunction()
|
1
src/main/target/ALIENFLIGHTF3/CMakeLists.txt
Normal file
1
src/main/target/ALIENFLIGHTF3/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
target_stm32f303xc(ALIENFLIGHTF3 SKIP_RELEASES)
|
1
src/main/target/ALIENFLIGHTF4/CMakeLists.txt
Normal file
1
src/main/target/ALIENFLIGHTF4/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
target_stm32f405xg(ALIENFLIGHTF4 SKIP_RELEASES)
|
1
src/main/target/ANYFCM7/CMakeLists.txt
Normal file
1
src/main/target/ANYFCM7/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
target_stm32f722xe(ANYFCM7 SKIP_RELEASES)
|
1
src/main/target/CHEBUZZF3/CMakeLists.txt
Normal file
1
src/main/target/CHEBUZZF3/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
target_stm32f303xc(CHEBUZZF3 SKIP_RELEASES)
|
1
src/main/target/COLIBRI_RACE/CMakeLists.txt
Normal file
1
src/main/target/COLIBRI_RACE/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
target_stm32f303xc(COLIBRI_RACE SKIP_RELEASES)
|
|
@ -1 +1 @@
|
|||
target_stm32f405xg(FISHDRONEF4)
|
||||
target_stm32f405xg(FISHDRONEF4 SKIP_RELEASES)
|
||||
|
|
1
src/main/target/KISSFC/CMakeLists.txt
Normal file
1
src/main/target/KISSFC/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
target_stm32f303xc(KISSFC SKIP_RELEASES)
|
1
src/main/target/KROOZX/CMakeLists.txt
Normal file
1
src/main/target/KROOZX/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
target_stm32f405xg(KROOZX HSE_MHZ 16 SKIP_RELEASES)
|
|
@ -1 +1 @@
|
|||
target_stm32f303xc(OMNIBUS)
|
||||
target_stm32f303xc(OMNIBUS SKIP_RELEASES)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
target_stm32f405xg(SPEEDYBEEF4)
|
||||
target_stm32f405xg(SPEEDYBEEF4_SFTSRL1)
|
||||
target_stm32f405xg(SPEEDYBEEF4_SFTSRL2)
|
||||
target_stm32f405xg(SPEEDYBEEF4_SFTSRL1 SKIP_RELEASES)
|
||||
target_stm32f405xg(SPEEDYBEEF4_SFTSRL2 SKIP_RELEASES)
|
||||
|
|
1
src/main/target/SPRACINGF3NEO/CMakeLists.txt
Normal file
1
src/main/target/SPRACINGF3NEO/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
target_stm32f303xc(SPRACINGF3NEO SKIP_RELEASES)
|
3
src/main/target/YUPIF4/CMakeLists.txt
Normal file
3
src/main/target/YUPIF4/CMakeLists.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
target_stm32f405xg(YUPIF4 SKIP_RELEASES)
|
||||
target_stm32f405xg(YUPIF4MINI SKIP_RELEASES)
|
||||
target_stm32f405xg(YUPIF4R2 SKIP_RELEASES)
|
Loading…
Add table
Add a link
Reference in a new issue