@ -225,7 +225,9 @@ endfunction()
@@ -225,7 +225,9 @@ endfunction()
# U s a g e :
# px4_add_module ( MODULE <string>
# [ M A I N < s t r i n g > ]
# [ S T A C K < s t r i n g > ]
# [ S T A C K < s t r i n g > ] ! ! ! ! ! D E P R E C A T E D , U S E S T A C K _ M A I N I N S T E A D ! ! ! ! ! ! ! ! !
# [ S T A C K _ M A I N < s t r i n g > ]
# [ S T A C K _ M A X < s t r i n g > ]
# [ C O M P I L E _ F L A G S < l i s t > ]
# [ I N C L U D E S < l i s t > ]
# [ D E P E N D S < s t r i n g > ]
@ -234,7 +236,9 @@ endfunction()
@@ -234,7 +236,9 @@ endfunction()
# I n p u t :
# M O D U L E : u n i q u e n a m e o f m o d u l e
# M A I N : e n t r y p o i n t , i f n o t g i v e n , a s s u m e d t o b e l i b r a r y
# S T A C K : s i z e o f s t a c k
# S T A C K : d e p r e c a t e d u s e s t a c k m a i n i n s t e a d
# S T A C K _ M A I N : s i z e o f s t a c k f o r m a i n f u n c t i o n
# S T A C K _ M A X : m a x i m u m s t a c k s i z e o f a n y f r a m e
# C O M P I L E _ F L A G S : c o m p i l e f l a g s
# L I N K _ F L A G S : l i n k f l a g s
# S R C S : s o u r c e f i l e s
@ -248,7 +252,7 @@ endfunction()
@@ -248,7 +252,7 @@ endfunction()
# px4_add_module ( MODULE test
# S R C S
# f i l e . c p p
# S T A C K 1 0 2 4
# S T A C K _ M A I N 1 0 2 4
# D E P E N D S
# g i t _ n u t t x
# )
@ -257,15 +261,43 @@ function(px4_add_module)
@@ -257,15 +261,43 @@ function(px4_add_module)
px4_parse_function_args (
N A M E p x 4 _ a d d _ m o d u l e
O N E _ V A L U E M O D U L E M A I N S T A C K P R I O R I T Y
O N E _ V A L U E M O D U L E M A I N S T A C K S T A C K _ M A I N S T A C K _ M A X P R I O R I T Y
M U L T I _ V A L U E C O M P I L E _ F L A G S L I N K _ F L A G S S R C S I N C L U D E S D E P E N D S
R E Q U I R E D M O D U L E
A R G N $ { A R G N } )
add_library ( ${ MODULE } STATIC EXCLUDE_FROM_ALL ${ SRCS } )
# s e t d e f a u l t s i f n o t s e t
set ( MAIN_DEFAULT MAIN-NOTFOUND )
set ( STACK_MAIN_DEFAULT 1024 )
set ( PRIORITY_DEFAULT SCHED_PRIORITY_DEFAULT )
# d e f a u l t s t a c k m a x t o s t a c k m a i n
if ( NOT STACK_MAIN AND STACK )
set ( STACK_MAIN ${ STACK } )
message ( AUTHOR_WARNING "STACK deprecated, USE STACK_MAIN instead!!!!!!!!!!!!" )
endif ( )
foreach ( property MAIN STACK_MAIN PRIORITY )
if ( NOT ${ property } )
set ( ${ property } ${ ${property } _DEFAULT} )
endif ( )
set_target_properties ( ${ MODULE } PROPERTIES ${ property }
$ { $ { p r o p e r t y } } )
endforeach ( )
# d e f a u l t s t a c k m a x t o s t a c k m a i n
if ( NOT STACK_MAX )
set ( STACK_MAX ${ STACK_MAIN } )
endif ( )
set_target_properties ( ${ MODULE } PROPERTIES STACK_MAX
$ { S T A C K _ M A X } )
if ( ${ OS } STREQUAL "qurt" )
set_property ( TARGET ${ MODULE } PROPERTY POSITION_INDEPENDENT_CODE TRUE )
elseif ( ${ OS } STREQUAL "nuttx" )
list ( APPEND COMPILE_FLAGS -Wframe-larger-than= ${ STACK_MAX } )
endif ( )
if ( MAIN )
@ -290,8 +322,8 @@ function(px4_add_module)
@@ -290,8 +322,8 @@ function(px4_add_module)
# s t o r e m o d u l e p r o p e r t i e s i n t a r g e t
# C O M P I L E _ F L A G S a n d L I N K _ F L A G S a r e p a s s e d t o c o m p i l e r / l i n k e r b y c m a k e
# S T A C K , M A I N , P R I O R I T Y a r e P X 4 s p e c i f i c
foreach ( prop COMPILE_FLAGS LINK_FLAGS STACK MAIN PRIORITY )
# S T A C K _ M A I N , M A I N , P R I O R I T Y a r e P X 4 s p e c i f i c
foreach ( prop COMPILE_FLAGS LINK_FLAGS STACK_MAIN MAIN PRIORITY )
if ( ${ prop } )
set_target_properties ( ${ MODULE } PROPERTIES ${ prop } ${ ${prop } } )
endif ( )
@ -530,10 +562,6 @@ function(px4_add_common_flags)
@@ -530,10 +562,6 @@ function(px4_add_common_flags)
# b u t g e n e r a t e s t o o m a n y f a l s e p o s i t i v e s
)
if ( ${ OS } STREQUAL "nuttx" )
list ( APPEND warnings -Wframe-larger-than=1024 )
endif ( )
if ( ${ CMAKE_C_COMPILER_ID } MATCHES ".*Clang.*" )
# Q u R T 6 . 4 . X c o m p i l e r i d e n t i f i e s a s C l a n g b u t d o e s n o t s u p p o r t t h i s o p t i o n
if ( NOT ${ OS } STREQUAL "qurt" )