@ -21,15 +21,37 @@ px4_add_git_submodule(TARGET git_jmavsim PATH "${PX4_SOURCE_DIR}/Tools/jMAVSim")
@@ -21,15 +21,37 @@ px4_add_git_submodule(TARGET git_jmavsim PATH "${PX4_SOURCE_DIR}/Tools/jMAVSim")
# A d d s u p p o r t f o r e x t e r n a l p r o j e c t b u i l d i n g
include ( ExternalProject )
# E s t i m a t e a n a p p r o p r i a t e n u m b e r o f p a r a l l e l j o b s
cmake_host_system_information ( RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY )
cmake_host_system_information ( RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES )
set ( parallel_jobs 1 )
if ( NOT NUMBER_OF_LOGICAL_CORES )
include ( ProcessorCount )
ProcessorCount ( NUMBER_OF_LOGICAL_CORES )
endif ( )
set ( build_cores 1 )
if ( NOT AVAILABLE_PHYSICAL_MEMORY AND NUMBER_OF_LOGICAL_CORES GREATER_EQUAL 4 )
# M e m o r y e s t i m a t e u n a v a i l a b l e , u s e N - 2 j o b s
math ( EXPR parallel_jobs "${NUMBER_OF_LOGICAL_CORES} - 2" )
endif ( )
ProcessorCount ( N )
if ( N GREATER_EQUAL 4 )
math ( EXPR build_cores "${N} - 2" )
if ( AVAILABLE_PHYSICAL_MEMORY )
# A l l o w a n a d d i t i o n a l j o b f o r e v e r y 1 . 5 G B o f a v a i l a b l e p h y s i c a l m e m o r y
math ( EXPR parallel_jobs "${AVAILABLE_PHYSICAL_MEMORY}/(3*1024/2)" )
else ( )
set ( AVAILABLE_PHYSICAL_MEMORY "?" )
endif ( )
if ( parallel_jobs GREATER NUMBER_OF_LOGICAL_CORES )
set ( parallel_jobs ${ NUMBER_OF_LOGICAL_CORES } )
endif ( )
message ( DEBUG " ${ NUMBER_OF_LOGICAL_CORES } logical cores detected and ${ AVAILABLE_PHYSICAL_MEMORY } megabytes of memory available.
L i m i t i n g s i t l _ g a z e b o a n d s i m u l a t i o n - i g n i t i o n c o n c u r r e n t j o b s t o $ { p a r a l l e l _ j o b s } " )
# p r o j e c t t o b u i l d s i t l _ g a z e b o i f n e c e s s a r y
px4_add_git_submodule ( TARGET git_gazebo PATH "${PX4_SOURCE_DIR}/Tools/sitl_gazebo" )
ExternalProject_Add ( sitl_gazebo
@ -45,7 +67,7 @@ ExternalProject_Add(sitl_gazebo
@@ -45,7 +67,7 @@ ExternalProject_Add(sitl_gazebo
U S E S _ T E R M I N A L _ B U I L D t r u e
E X C L U D E _ F R O M _ A L L t r u e
B U I L D _ A L W A Y S 1
B U I L D _ C O M M A N D $ { C M A K E _ C O M M A N D } - - b u i l d < B I N A R Y _ D I R > - - - j $ { b u i l d _ c o r e s }
B U I L D _ C O M M A N D $ { C M A K E _ C O M M A N D } - - b u i l d < B I N A R Y _ D I R > - - - j $ { p a r a l l e l _ j o b s }
)
px4_add_git_submodule ( TARGET git_ign_gazebo PATH "${PX4_SOURCE_DIR}/Tools/simulation-ignition" )
@ -59,7 +81,7 @@ ExternalProject_Add(simulation-ignition
@@ -59,7 +81,7 @@ ExternalProject_Add(simulation-ignition
U S E S _ T E R M I N A L _ B U I L D t r u e
E X C L U D E _ F R O M _ A L L t r u e
B U I L D _ A L W A Y S 1
B U I L D _ C O M M A N D $ { C M A K E _ C O M M A N D } - - b u i l d < B I N A R Y _ D I R > - - - j $ { b u i l d _ c o r e s }
B U I L D _ C O M M A N D $ { C M A K E _ C O M M A N D } - - b u i l d < B I N A R Y _ D I R > - - - j $ { p a r a l l e l _ j o b s }
)
ExternalProject_Add ( mavsdk_tests