Improvements to SITL to make paths more flexible. (#5181)

This commit is contained in:
James Goppert
2016-08-05 06:23:59 -04:00
committed by GitHub
parent bc7178c538
commit 699b6a2cb3
72 changed files with 642 additions and 671 deletions
+9 -9
View File
@@ -10,7 +10,7 @@ add_executable(firmware_nuttx
builtin_commands.c)
set(nuttx_export_dir ${CMAKE_BINARY_DIR}/${BOARD}/NuttX/nuttx-export)
set(nuttx_export_dir ${PX4_BINARY_DIR}/${BOARD}/NuttX/nuttx-export)
set(link_libs
romfs apps nuttx m gcc
@@ -20,7 +20,7 @@ if(NOT ${BOARD} STREQUAL "sim")
list(APPEND link_libs nosys)
set(main_link_flags
"-T${nuttx_export_dir}/build/ld.script"
"-Wl,-Map=${CMAKE_BINARY_DIR}/${BOARD}/main.map"
"-Wl,-Map=${PX4_BINARY_DIR}/${BOARD}/main.map"
)
px4_join(OUT main_link_flags LIST ${main_link_flags} GLUE " ")
set_target_properties(firmware_nuttx PROPERTIES LINK_FLAGS ${main_link_flags})
@@ -43,12 +43,12 @@ add_custom_target(check_weak
if(NOT ${BOARD} STREQUAL "sim")
if (config_io_board)
set(extras "${CMAKE_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}.bin")
set(extras "${PX4_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}.bin")
endif()
set(romfs_dir "ROMFS/px4fmu_common")
if (${BOARD} STREQUAL "tap-v1")
set(romfs_dir "ROMFS/tap_common")
set(romfs_dir "ROMFS/tap_common")
endif()
if (${BOARD} STREQUAL "px4fmu-v2" AND ${LABEL} STREQUAL "test")
set(romfs_dir "ROMFS/px4fmu_test")
@@ -68,8 +68,8 @@ if(NOT ${BOARD} STREQUAL "sim")
px4_nuttx_add_firmware(OUT ${fw_file}
BOARD ${BOARD}
EXE ${CMAKE_CURRENT_BINARY_DIR}/firmware_nuttx
PARAM_XML ${CMAKE_BINARY_DIR}/parameters.xml
AIRFRAMES_XML ${CMAKE_BINARY_DIR}/airframes.xml
PARAM_XML ${PX4_BINARY_DIR}/parameters.xml
AIRFRAMES_XML ${PX4_BINARY_DIR}/airframes.xml
)
configure_file(gdbinit.in .gdbinit)
@@ -94,21 +94,21 @@ if(NOT ${BOARD} STREQUAL "sim")
add_custom_target(debug_io
COMMAND ${GDB}
${CMAKE_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}
${PX4_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}
DEPENDS firmware_nuttx
${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
)
add_custom_target(debug_io_tui
COMMAND ${GDBTUI}
${CMAKE_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}
${PX4_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}
DEPENDS firmware_nuttx
${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
)
add_custom_target(debug_io_ddd
COMMAND ${DDD} --debugger ${GDB}
${CMAKE_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}
${PX4_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}
DEPENDS firmware_nuttx
${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
)
+1 -1
View File
@@ -4,4 +4,4 @@ attach 1
monitor vector_catch disable hard
set mem inaccessible-by-default off
set print pretty
source ${CMAKE_SOURCE_DIR}/Debug/PX4
source ${PX4_SOURCE_DIR}/Debug/PX4
+69 -19
View File
@@ -18,7 +18,7 @@ if ("${BOARD}" STREQUAL "eagle" OR ("${BOARD}" STREQUAL "excelsior"))
APPS_DEST "/home/linaro"
SOURCES
px4muorb_stub.c
${CMAKE_SOURCE_DIR}/src/platforms/posix/main.cpp
${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp
apps.h
LINK_LIBS
-Wl,--start-group
@@ -33,14 +33,14 @@ if ("${BOARD}" STREQUAL "eagle" OR ("${BOARD}" STREQUAL "excelsior"))
OS ${OS}
BOARD ${BOARD}
FILES ${CMAKE_CURRENT_BINARY_DIR}/px4
${CMAKE_SOURCE_DIR}/posix-configs/eagle/flight/mainapp.config
${PX4_SOURCE_DIR}/posix-configs/eagle/flight/mainapp.config
DEPENDS px4
DEST /home/linaro)
elseif ("${BOARD}" STREQUAL "rpi")
add_executable(px4
${CMAKE_SOURCE_DIR}/src/platforms/posix/main.cpp
${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp
apps.h
)
@@ -57,7 +57,7 @@ elseif ("${BOARD}" STREQUAL "rpi")
OS ${OS}
BOARD ${BOARD}
FILES ${CMAKE_CURRENT_BINARY_DIR}/px4
${CMAKE_SOURCE_DIR}/posix-configs/rpi/px4.config
${PX4_SOURCE_DIR}/posix-configs/rpi/px4.config
DEPENDS px4
DEST /home/pi)
@@ -67,7 +67,7 @@ elseif ("${BOARD}" STREQUAL "bebop")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static")
add_executable(px4
${CMAKE_SOURCE_DIR}/src/platforms/posix/main.cpp
${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp
apps.h
)
@@ -91,14 +91,14 @@ elseif ("${BOARD}" STREQUAL "bebop")
OS ${OS}
BOARD ${BOARD}
FILES ${CMAKE_CURRENT_BINARY_DIR}/px4
${CMAKE_SOURCE_DIR}/posix-configs/bebop/px4.config
${PX4_SOURCE_DIR}/posix-configs/bebop/px4.config
DEPENDS px4
DEST /usr/bin)
else()
add_executable(px4
${CMAKE_SOURCE_DIR}/src/platforms/posix/main.cpp
${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp
apps.h
)
if (NOT APPLE)
@@ -118,17 +118,43 @@ else()
endif()
endif()
#=============================================================================
# sitl run targets
#
set(SITL_WORKING_DIR ${PX4_BINARY_DIR}/tmp)
file(MAKE_DIRECTORY ${SITL_WORKING_DIR})
add_custom_target(run_config
COMMAND Tools/sitl_run.sh "${config_sitl_rcS}" "${config_sitl_debugger}"
"${config_sitl_viewer}" "${config_sitl_model}" "${CMAKE_BINARY_DIR}"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND Tools/sitl_run.sh
"$<TARGET_FILE:px4>"
"${config_sitl_rcS}"
"${config_sitl_debugger}"
"${config_sitl_viewer}"
"${config_sitl_model}"
"${PX4_SOURCE_DIR}"
"${PX4_BINARY_DIR}"
WORKING_DIRECTORY ${SITL_WORKING_DIR}
USES_TERMINAL
)
add_dependencies(run_config px4)
foreach(viewer none jmavsim gazebo replay)
foreach(debugger none gdb lldb ddd valgrind)
foreach(model none iris iris_opt_flow tailsitter standard_vtol plane solo typhoon_h480)
# project to build sitl_gazebo if necessary
ExternalProject_Add(sitl_gazebo
SOURCE_DIR ${PX4_SOURCE_DIR}/Tools/sitl_gazebo
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
BINARY_DIR ${PX4_BINARY_DIR}/build_gazebo
INSTALL_COMMAND ""
)
set_target_properties(sitl_gazebo PROPERTIES EXCLUDE_FROM_ALL TRUE)
# create targets for each viewer/model/debugger combination
set(viewers none jmavsim gazebo replay)
set(debuggers none gdb lldb ddd valgrind)
set(models none iris iris_opt_flow tailsitter standard_vtol plane solo typhoon_h480)
foreach(viewer ${viewers})
foreach(debugger ${debuggers})
foreach(model ${models})
if (debugger STREQUAL "none")
if (model STREQUAL "none")
set(_targ_name "${viewer}")
@@ -143,13 +169,20 @@ foreach(viewer none jmavsim gazebo replay)
endif()
endif()
add_custom_target(${_targ_name}
COMMAND Tools/sitl_run.sh "${config_sitl_rcS}"
"${debugger}"
"${viewer}" "${model}" "${CMAKE_BINARY_DIR}"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND ${PX4_SOURCE_DIR}/Tools/sitl_run.sh
$<TARGET_FILE:px4>
${config_sitl_rcS}
${debugger}
${viewer}
${model}
${PX4_SOURCE_DIR}
${PX4_BINARY_DIR}
WORKING_DIRECTORY ${SITL_WORKING_DIR}
USES_TERMINAL
)
add_dependencies(${_targ_name} px4)
if (viewer STREQUAL "gazebo")
add_dependencies(${_targ_name} sitl_gazebo)
endif()
endforeach()
endforeach()
endforeach()
@@ -158,8 +191,25 @@ endforeach()
# install
#
install(TARGETS px4 DESTINATION bin)
install(TARGETS px4 DESTINATION ${CMAKE_INSTALL_BINDIR})
install(DIRECTORY ${PROJECT_SOURCE_DIR}/ROMFS DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME})
install(DIRECTORY ${PROJECT_SOURCE_DIR}/posix-configs DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME})
#=============================================================================
# tests
#
add_test(NAME rcS_tests
COMMAND ${PX4_SOURCE_DIR}/Tools/sitl_run.sh
$<TARGET_FILE:px4>
posix-configs/SITL/init/rcS_tests
none
none
none
${PX4_SOURCE_DIR}
${PX4_BINARY_DIR}
WORKING_DIRECTORY ${SITL_WORKING_DIR})
set_tests_properties(rcS_tests PROPERTIES
PASS_REGULAR_EXPRESSION "All tests passed")
# vim: set noet ft=cmake fenc=utf-8 ff=unix :
+6 -6
View File
@@ -1,4 +1,4 @@
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/cmake_hexagon")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon")
include(fastrpc)
include(qurt_lib)
@@ -7,7 +7,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-missing-prototypes")
px4_qurt_generate_builtin_commands(
OUT ${CMAKE_BINARY_DIR}/apps.h
OUT ${PX4_BINARY_DIR}/apps.h
MODULE_LIST ${module_libraries})
FASTRPC_STUB_GEN(px4muorb.idl)
@@ -20,8 +20,8 @@ if ("${QURT_ENABLE_STUBS}" STREQUAL "1")
${FASTRPC_DSP_INCLUDES}
)
add_executable(px4
${CMAKE_BINARY_DIR}/src/firmware/qurt/px4muorb_skel.c
${CMAKE_BINARY_DIR}/apps.h)
${PX4_BINARY_DIR}/src/firmware/qurt/px4muorb_skel.c
${PX4_BINARY_DIR}/apps.h)
target_link_libraries(px4
-Wl,--start-group
@@ -40,7 +40,7 @@ else()
QURT_LIB(LIB_NAME px4
IDL_NAME px4muorb
SOURCES
${CMAKE_BINARY_DIR}/apps.h
${PX4_BINARY_DIR}/apps.h
LINK_LIBS
${module_libraries}
${target_libraries}
@@ -54,7 +54,7 @@ else()
BOARD ${BOARD}
FILES ${CMAKE_CURRENT_BINARY_DIR}/libpx4.so
${CMAKE_CURRENT_BINARY_DIR}/libpx4muorb_skel.so
${CMAKE_SOURCE_DIR}/posix-configs/eagle/flight/px4.config
${PX4_SOURCE_DIR}/posix-configs/eagle/flight/px4.config
DEPENDS px4 px4muorb_skel
DEST /usr/share/data/adsp)
endif()