list_vmd_make_targets and list_cmake_targets

* This allows one to run 'make posix list_vmd_make_targets' and get output like

>make posix list_vmd_make_targets
[...]
-- Build files have been written to:
/usr/src/debian/px4/Firmware/Firmware.git/build_posix_sitl_default
PX4 CONFIG: /usr/src/debian/px4/Firmware/Firmware.git/build_posix_sitl_default
Scanning dependencies of target list_vmd_make_targets
[100%] List of acceptable 'posix_sitl_default' <viewer_model_debugger> targets:
none
none_iris
none_iris_opt_flow
none_tailsitter
[...]
replay_solo_valgrind
replay_typhoon_h480_valgrind
[100%] Built target list_vmd_make_targets

Or, run 'make list_vmd_make_targets' from the build_posix_* directory.

* This adds the list_cmake_targets make target to print all
cmake targets that one can match with PX4_NO_OPTIMIZATION.
PX4_NO_OPTIMIZATION is ignored (do optimization as normal)
when the CONFIG isn't posix_sitl_*.

* Add comment in Makefile on how/where to find all targets.
This commit is contained in:
Carlo Wood
2016-09-03 00:45:15 +02:00
committed by Beat Küng
parent 6f94f7031b
commit e93324785b
4 changed files with 39 additions and 7 deletions
+13
View File
@@ -402,6 +402,19 @@ if (config_io_board)
add_subdirectory(src/modules/px4iofirmware) add_subdirectory(src/modules/px4iofirmware)
endif() endif()
#=============================================================================
# generate custom target to print for all executable and module cmake targets
#
if(all_posix_cmake_targets)
list(SORT all_posix_cmake_targets)
px4_join(OUT posix_cmake_target_list LIST ${all_posix_cmake_targets} GLUE "\\n")
add_custom_target(list_cmake_targets
COMMAND sh -c "printf \"${posix_cmake_target_list}\\n\""
COMMENT "List of cmake targets that can be matched by PX4_NO_OPTIMIZATION:"
VERBATIM
)
endif()
#============================================================================= #=============================================================================
# generate git version # generate git version
# #
+4 -1
View File
@@ -148,6 +148,9 @@ endef
# -------------------------------------------------------------------- # --------------------------------------------------------------------
# Do not put any spaces between function arguments. # Do not put any spaces between function arguments.
# For a list of all config targets, please look in cmake/configs,
# For example: ls cmake/configs | sed -e 's/\.cmake$//'
# All nuttx, posix and qurt targets. # All nuttx, posix and qurt targets.
nuttx_% posix_% qurt_%: nuttx_% posix_% qurt_%:
$(call cmake-build,$@) $(call cmake-build,$@)
@@ -288,7 +291,7 @@ viewers = gazebo jmavsim replay
sitl_vmd_triplet_masks = $(foreach viewer,$(viewers),$(viewer) $(viewer)_%) sitl_vmd_triplet_masks = $(foreach viewer,$(viewers),$(viewer) $(viewer)_%)
# targets handled by PX4_MAKE # targets handled by PX4_MAKE
make_targets = install test upload package package_source debug debug_tui debug_ddd debug_io debug_io_tui debug_io_ddd check_weak \ make_targets = install test upload package package_source debug debug_tui debug_ddd debug_io debug_io_tui debug_io_ddd check_weak \
run_cmake_config config $(sitl_vmd_triplet_masks) run_cmake_config config list_vmd_make_targets list_cmake_targets $(sitl_vmd_triplet_masks)
$(foreach targ,$(make_targets),$(eval $(call make-targ,$(targ)))) $(foreach targ,$(make_targets),$(eval $(call make-targ,$(targ))))
.PHONY: clean .PHONY: clean
+13 -6
View File
@@ -1061,14 +1061,21 @@ endfunction()
# #
# px4_add_optimization_flags_for_target # px4_add_optimization_flags_for_target
# #
set(all_posix_cmake_targets "" CACHE INTERNAL "All cmake targets for which optimization can be suppressed")
function(px4_add_optimization_flags_for_target target) function(px4_add_optimization_flags_for_target target)
set(_no_optimization_for_target FALSE) set(_no_optimization_for_target FALSE)
foreach(_regexp $ENV{PX4_NO_OPTIMIZATION}) # If the current CONFIG is posix_sitl_* then suppress optimization for certain targets.
if("${target}" MATCHES "${_regexp}") if(CONFIG MATCHES "^posix_sitl_")
set(_no_optimization_for_target TRUE) foreach(_regexp $ENV{PX4_NO_OPTIMIZATION})
set(_matched_regexp "${_regexp}") if("${target}" MATCHES "${_regexp}")
endif() set(_no_optimization_for_target TRUE)
endforeach() set(_matched_regexp "${_regexp}")
endif()
endforeach()
# Create a full list of targets that optimization can be suppressed for.
list(APPEND all_posix_cmake_targets ${target})
set(all_posix_cmake_targets ${all_posix_cmake_targets} CACHE INTERNAL "All cmake targets for which optimization can be suppressed")
endif()
if(NOT ${_no_optimization_for_target}) if(NOT ${_no_optimization_for_target})
target_compile_options(${target} PRIVATE ${optimization_flags}) target_compile_options(${target} PRIVATE ${optimization_flags})
else() else()
+9
View File
@@ -152,6 +152,7 @@ set_target_properties(sitl_gazebo PROPERTIES EXCLUDE_FROM_ALL TRUE)
set(viewers none jmavsim gazebo replay) set(viewers none jmavsim gazebo replay)
set(debuggers none gdb lldb ddd valgrind) set(debuggers none gdb lldb ddd valgrind)
set(models none iris iris_opt_flow tailsitter standard_vtol plane solo typhoon_h480) set(models none iris iris_opt_flow tailsitter standard_vtol plane solo typhoon_h480)
set(all_posix_vmd_make_targets)
foreach(viewer ${viewers}) foreach(viewer ${viewers})
foreach(debugger ${debuggers}) foreach(debugger ${debuggers})
foreach(model ${models}) foreach(model ${models})
@@ -180,6 +181,7 @@ foreach(viewer ${viewers})
WORKING_DIRECTORY ${SITL_WORKING_DIR} WORKING_DIRECTORY ${SITL_WORKING_DIR}
USES_TERMINAL USES_TERMINAL
) )
list(APPEND all_posix_vmd_make_targets ${_targ_name})
if (viewer STREQUAL "gazebo") if (viewer STREQUAL "gazebo")
add_dependencies(${_targ_name} sitl_gazebo) add_dependencies(${_targ_name} sitl_gazebo)
endif() endif()
@@ -187,6 +189,13 @@ foreach(viewer ${viewers})
endforeach() endforeach()
endforeach() endforeach()
px4_join(OUT posix_vmd_make_target_list LIST ${all_posix_vmd_make_targets} GLUE "\\n")
add_custom_target(list_vmd_make_targets
COMMAND sh -c "printf \"${posix_vmd_make_target_list}\\n\""
COMMENT "List of acceptable '${CONFIG}' <viewer_model_debugger> targets:"
VERBATIM
)
#============================================================================= #=============================================================================
# install # install
# #