cmake remove circular linking and reorganize

- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
This commit is contained in:
Daniel Agar 2018-04-11 15:10:51 -04:00
parent a8bc3d187f
commit ea3acb7121
576 changed files with 1406 additions and 2014 deletions

View File

@ -69,7 +69,7 @@
#
# * Avoid use of global variables in functions. Functions in a nested
# scope may use global variables, but this makes it difficult to
# resuse functions.
# reuse functions.
#
# Included CMake Files
# ---------------------------------------------------------------------------
@ -99,18 +99,12 @@
#
#=============================================================================
# Warning: Changing this modifies CMake's internal workings
# and leads to wrong toolchain detection
cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
set(PX4_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(PX4_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PX4_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PX4_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PX4_BINARY_DIR})
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake)
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/cmake")
#=============================================================================
# git
@ -124,14 +118,16 @@ execute_process(
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
)
px4_add_git_submodule(TARGET git_ecl PATH "src/lib/ecl")
px4_add_git_submodule(TARGET git_matrix PATH "src/lib/matrix")
define_property(GLOBAL PROPERTY PX4_LIBRARIES
BRIEF_DOCS "PX4 libs"
define_property(GLOBAL PROPERTY PX4_MODULE_LIBRARIES
BRIEF_DOCS "PX4 module libs"
FULL_DOCS "List of all PX4 module libraries"
)
define_property(GLOBAL PROPERTY PX4_MODULE_PATHS
BRIEF_DOCS "PX4 module paths"
FULL_DOCS "List of paths to all PX4 modules"
)
#=============================================================================
# configuration
#
@ -142,10 +138,6 @@ string(REPLACE "_" ";" config_args ${CONFIG})
list(GET config_args 0 OS)
list(GET config_args 1 BOARD)
list(GET config_args 2 LABEL)
set(target_name "${OS}_${BOARD}_${LABEL}")
file(GLOB_RECURSE configs RELATIVE cmake/configs "cmake/configs/*.cmake")
set_property(CACHE CONFIG PROPERTY STRINGS ${configs})
set(THREADS "4" CACHE STRING "number of threads to use for external build processes")
set(DEBUG_PORT "/dev/ttyACM0" CACHE STRING "debugging port")
@ -155,22 +147,14 @@ if (NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
get_filename_component(EXTERNAL_MODULES_LOCATION "${EXTERNAL_MODULES_LOCATION}" ABSOLUTE)
endif()
include(platforms/${OS}/cmake/px4_impl_os.cmake)
include(configs/${CONFIG})
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${OS}/cmake)
include(platforms/${OS}/cmake/px4_impl_os.cmake)
set(config_module "configs/${CONFIG}")
include(${config_module})
include(common/coverage)
include(common/sanitizers)
# CMake build type
# Debug Release RelWithDebInfo MinSizeRel Coverage
# CMake build type (Debug Release RelWithDebInfo MinSizeRel Coverage)
if (NOT CMAKE_BUILD_TYPE)
if (${OS} STREQUAL "nuttx")
set(PX4_BUILD_TYPE "MinSizeRel")
elseif (${OS} STREQUAL "bebop")
set(PX4_BUILD_TYPE "MinSizeRel")
else()
set(PX4_BUILD_TYPE "RelWithDebInfo")
endif()
@ -180,12 +164,10 @@ endif()
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebInfo;MinSizeRel;Coverage")
message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
#=============================================================================
message(STATUS "PX4 VERSION: ${git_tag}")
message(STATUS "CONFIG: ${target_name}")
message(STATUS "CONFIG: ${CONFIG}")
message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
#=============================================================================
@ -195,20 +177,23 @@ project(px4 CXX C ASM)
set(package-contact "px4users@googlegroups.com")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PX4_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PX4_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PX4_BINARY_DIR})
#=============================================================================
# The URL for the elf file for crash logging
if (DEFINED ENV{BUILD_URI})
set(BUILD_URI $ENV{BUILD_URI})
else()
set(BUILD_URI "localhost")
endif()
add_definitions(-DBUILD_URI=${BUILD_URI})
# Setup install paths
if (${OS} STREQUAL "posix")
include(common/coverage)
include(common/sanitizers)
# Define GNU standard installation directories
include(GNUInstallDirs)
@ -229,20 +214,17 @@ set(px4_required_interface
)
foreach(cmd ${px4_required_interface})
if (NOT COMMAND ${cmd})
message(FATAL_ERROR "${config_module} must implement ${cmd}")
message(FATAL_ERROR "${CONFIG} must implement ${cmd}")
endif()
endforeach()
set(px4_required_config config_module_list)
foreach(conf ${px4_required_config})
if (NOT DEFINED ${conf})
message(FATAL_ERROR "cmake/${config_module} must define ${conf}")
message(FATAL_ERROR "cmake/${CONFIG} must define ${conf}")
endif()
endforeach()
# force static lib build
set(BUILD_SHARED_LIBS OFF)
#=============================================================================
# ccache
#
@ -250,7 +232,6 @@ option(CCACHE "Use ccache if available" ON)
find_program(CCACHE_PROGRAM ccache)
if (CCACHE AND CCACHE_PROGRAM AND NOT DEFINED ENV{CCACHE_DISABLE})
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
else()
endif()
#=============================================================================
@ -271,23 +252,10 @@ endif()
find_package(PythonInterp REQUIRED)
px4_find_python_module(jinja2 REQUIRED)
#=============================================================================
# generate compile command database
#
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
#=============================================================================
# check required toolchain variables
#
# PX4 requires c++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# PX4 requires c99
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(required_variables CMAKE_C_COMPILER_ID CMAKE_CXX_COMPILER_ID)
foreach(var ${required_variables})
if (NOT ${var})
@ -335,24 +303,20 @@ px4_join(OUT CMAKE_EXE_LINKER_FLAGS LIST "${CMAKE_EXE_LINKER_FLAGS};${exe_linker
px4_join(OUT CMAKE_C_FLAGS LIST "${CMAKE_C_FLAGS};${c_flags};${optimization_flags}" GLUE " ")
px4_join(OUT CMAKE_CXX_FLAGS LIST "${CMAKE_CXX_FLAGS};${cxx_flags};${optimization_flags}" GLUE " ")
include_directories(${include_dirs} ${CMAKE_CURRENT_BINARY_DIR}/src/modules/systemlib/param)
link_directories(${link_dirs})
add_definitions(${definitions})
#=============================================================================
# message, and airframe generation
#
include(common/px4_metadata)
add_subdirectory(msg)
add_subdirectory(msg EXCLUDE_FROM_ALL)
px4_generate_airframes_xml(BOARD ${BOARD})
#=============================================================================
# DriverFramework
#
px4_add_git_submodule(TARGET git_driverframework PATH "src/lib/DriverFramework")
add_subdirectory(src/lib/DriverFramework/framework)
# List the DriverFramework drivers
if (DEFINED config_df_driver_list)
@ -369,7 +333,6 @@ endforeach()
#=============================================================================
# external projects
#
set(ep_base ${PX4_BINARY_DIR}/external)
set_property(DIRECTORY PROPERTY EP_BASE ${ep_base})
@ -397,12 +360,22 @@ endif()
#=============================================================================
# subdirectories
#
add_subdirectory(src/platforms/common)
add_library(parameters_interface INTERFACE)
add_subdirectory(src/lib EXCLUDE_FROM_ALL)
add_subdirectory(src/platforms/common EXCLUDE_FROM_ALL)
add_subdirectory(src/modules/systemlib EXCLUDE_FROM_ALL) # TODO: split into libraries in platform layer
add_subdirectory(src/modules/uORB EXCLUDE_FROM_ALL) # TODO: platform layer
add_subdirectory(src/drivers/boards EXCLUDE_FROM_ALL)
foreach(module ${config_module_list})
add_subdirectory(src/${module})
endforeach()
# must be the last module before firmware
add_subdirectory(src/lib/parameters EXCLUDE_FROM_ALL)
target_link_libraries(parameters_interface INTERFACE parameters)
# firmware added last to generate the builtin for included modules
add_subdirectory(platforms/${OS})
#=============================================================================
@ -450,14 +423,14 @@ set(CPACK_PACKAGE_CONTACT ${package-contact})
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(short-description "The px4 autopilot.")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${short-description})
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "The PX4 Pro autopilot.")
set(CPACK_GENERATOR "ZIP")
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CONFIG}-${git_tag}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${git_version}")
set(CPACK_SOURCE_GENERATOR "ZIP;TBZ2")
set(CPACK_PACKAGING_INSTALL_PREFIX "")
set(CPACK_SET_DESTDIR "OFF")
if ("${CMAKE_SYSTEM}" MATCHES "Linux")
find_program(DPKG_PROGRAM dpkg)
if (EXISTS ${DPKG_PROGRAM})
@ -465,5 +438,3 @@ if ("${CMAKE_SYSTEM}" MATCHES "Linux")
endif()
endif()
include(CPack)
# vim: set noet fenc=utf-8 ff=unix ft=cmake :

View File

@ -252,8 +252,8 @@ coverity_scan: posix_sitl_default
.PHONY: parameters_metadata airframe_metadata module_documentation px4_metadata
parameters_metadata:
@python $(SRC_DIR)/src/modules/systemlib/param/px_process_params.py -s `find $(SRC_DIR)/src -maxdepth 4 -type d` --inject-xml $(SRC_DIR)/src/modules/systemlib/param/parameters_injected.xml --markdown
@python $(SRC_DIR)/src/modules/systemlib/param/px_process_params.py -s `find $(SRC_DIR)/src -maxdepth 4 -type d` --inject-xml $(SRC_DIR)/src/modules/systemlib/param/parameters_injected.xml --xml
@python $(SRC_DIR)/src/lib/parameters/px_process_params.py -s `find $(SRC_DIR)/src -maxdepth 4 -type d` --inject-xml $(SRC_DIR)/src/lib/parameters/parameters_injected.xml --markdown
@python $(SRC_DIR)/src/lib/parameters/px_process_params.py -s `find $(SRC_DIR)/src -maxdepth 4 -type d` --inject-xml $(SRC_DIR)/src/lib/parameters/parameters_injected.xml --xml
airframe_metadata:
@python $(SRC_DIR)/Tools/px_process_airframes.py -v -a $(SRC_DIR)/ROMFS/px4fmu_common/init.d --markdown

View File

@ -195,10 +195,22 @@ function(px4_add_module)
ONE_VALUE MODULE MAIN STACK STACK_MAIN STACK_MAX PRIORITY
MULTI_VALUE COMPILE_FLAGS LINK_FLAGS SRCS INCLUDES DEPENDS
OPTIONS EXTERNAL
REQUIRED MODULE
REQUIRED MODULE MAIN
ARGN ${ARGN})
px4_add_library(${MODULE} STATIC EXCLUDE_FROM_ALL ${SRCS})
add_library(${MODULE} STATIC EXCLUDE_FROM_ALL ${SRCS})
# all modules can potentially use parameters and uORB
add_dependencies(${MODULE} uorb_headers)
target_link_libraries(${MODULE} PRIVATE prebuild_targets parameters_interface platforms__common px4_layer systemlib)
set_property(GLOBAL APPEND PROPERTY PX4_MODULE_LIBRARIES ${MODULE})
set_property(GLOBAL APPEND PROPERTY PX4_MODULE_PATHS ${CMAKE_CURRENT_SOURCE_DIR})
px4_add_optimization_flags_for_target(${MODULE})
# Pass variable to the parent px4_add_module.
set(_no_optimization_for_target ${_no_optimization_for_target} PARENT_SCOPE)
# set defaults if not set
set(MAIN_DEFAULT MAIN-NOTFOUND)
@ -240,7 +252,16 @@ function(px4_add_module)
endif()
if(DEPENDS)
add_dependencies(${MODULE} ${DEPENDS})
# using target_link_libraries for dependencies provides linking
# as well as interface include and libraries
foreach(dep ${DEPENDS})
get_target_property(dep_type ${dep} TYPE)
if (${dep_type} STREQUAL "STATIC_LIBRARY")
target_link_libraries(${MODULE} PRIVATE ${dep})
else()
add_dependencies(${MODULE} ${dep})
endif()
endforeach()
endif()
# join list variables to get ready to send to compiler
@ -425,6 +446,10 @@ function(px4_add_common_flags)
-fdiagnostics-color=always
)
endif()
list(APPEND cxx_warnings
-Wno-format-truncation # TODO: fix
)
endif()
set(visibility_flags
@ -450,10 +475,13 @@ function(px4_add_common_flags)
${_optimization_flags}
)
set(added_include_dirs
include_directories(
${PX4_BINARY_DIR}
${PX4_BINARY_DIR}/src
${PX4_BINARY_DIR}/src/lib
${PX4_BINARY_DIR}/src/modules
${PX4_SOURCE_DIR}/src
${PX4_SOURCE_DIR}/src/drivers/boards/${BOARD}
${PX4_SOURCE_DIR}/src/include
@ -464,13 +492,10 @@ function(px4_add_common_flags)
${PX4_SOURCE_DIR}/src/platforms
)
set(added_link_dirs) # none used currently
set(added_exe_linker_flags)
string(TOUPPER ${BOARD} board_upper)
string(REPLACE "-" "_" board_config ${board_upper})
set(added_definitions
add_definitions(
-DCONFIG_ARCH_BOARD_${board_config}
-D__STDC_FORMAT_MACROS
)
@ -548,13 +573,25 @@ endfunction()
#
function(px4_add_library target)
add_library(${target} ${ARGN})
add_dependencies(${target} prebuild_targets)
target_compile_definitions(${target} PRIVATE MODULE_NAME="${target}")
# all PX4 libraries have access to parameters and uORB
add_dependencies(${target} uorb_headers)
target_link_libraries(${target} PRIVATE prebuild_targets parameters_interface uorb_msgs)
# TODO: move to platform layer
if ("${OS}" MATCHES "nuttx")
target_link_libraries(${target} PRIVATE m nuttx_c)
endif()
px4_add_optimization_flags_for_target(${target})
# Pass variable to the parent px4_add_module.
set(_no_optimization_for_target ${_no_optimization_for_target} PARENT_SCOPE)
set_property(GLOBAL APPEND PROPERTY PX4_LIBRARIES ${target})
set_property(GLOBAL APPEND PROPERTY PX4_MODULE_PATHS ${CMAKE_CURRENT_SOURCE_DIR})
endfunction()
#=============================================================================
@ -596,4 +633,3 @@ function(px4_find_python_module module)
#endif()
endfunction(px4_find_python_module)
# vim: set noet fenc=utf-8 ff=unix nowrap:

View File

@ -13,18 +13,14 @@ set(config_module_list
#drivers/magnetometer
#drivers/telemetry
drivers/device
drivers/stm32
drivers/stm32/adc
drivers/stm32/tone_alarm
drivers/led
drivers/px4fmu
drivers/boards
drivers/imu/lsm303d
drivers/imu/l3gd20
drivers/gps
drivers/pwm_out_sim
drivers/airspeed
modules/sensors
#drivers/pwm_input
#drivers/camera_trigger
@ -100,27 +96,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge
#

View File

@ -8,11 +8,8 @@ set(config_module_list
# Board support modules
#
drivers/aerofc_adc
drivers/boards
drivers/device
drivers/distance_sensor
drivers/gps
drivers/led
drivers/barometer/ms5611
drivers/magnetometer/hmc5883
drivers/magnetometer/ist8310
@ -70,21 +67,5 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/mathlib
lib/mixer
lib/rc
lib/version
lib/FlightTasks
)

View File

@ -13,14 +13,10 @@ set(config_module_list
drivers/magnetometer
drivers/telemetry
drivers/airspeed
drivers/batt_smbus
drivers/blinkm
drivers/boards
drivers/camera_trigger
drivers/device
drivers/gps
drivers/led
drivers/mkblctrl
drivers/imu/mpu6000
drivers/imu/mpu9250
@ -113,26 +109,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge
#

View File

@ -5,11 +5,8 @@ set(config_module_list
#
# Board support modules
#
drivers/device
drivers/stm32
drivers/led
drivers/px4fmu
drivers/boards
drivers/imu/mpu9250
drivers/barometer/lps25h
drivers/gps
@ -71,25 +68,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/version
lib/FlightTasks
#
# OBC challenge
#

View File

@ -39,9 +39,6 @@ set(config_module_list
#
# Board support modules
#
drivers/boards
drivers/device
drivers/led
drivers/stm32
#
@ -63,12 +60,4 @@ set(config_module_list
modules/uavcanesc/commands/dc
modules/uavcanesc/commands/rpm
modules/uavcanesc/commands/stat
#
# Library modules
#
lib/version
modules/systemlib
modules/systemlib/param
modules/uORB
)

View File

@ -13,16 +13,12 @@ set(config_module_list
drivers/magnetometer
drivers/telemetry
drivers/airspeed
drivers/batt_smbus
drivers/blinkm
drivers/boards
drivers/camera_trigger
drivers/device
drivers/gps
#drivers/hott
drivers/imu/l3gd20
drivers/led
drivers/imu/lsm303d
#drivers/mkblctrl
drivers/imu/mpu6000
@ -117,27 +113,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge
#

View File

@ -13,13 +13,10 @@ set(config_module_list
drivers/magnetometer
drivers/telemetry
drivers/airspeed
drivers/barometer/mpl3115a2
drivers/batt_smbus
drivers/blinkm
drivers/boards
drivers/camera_trigger
drivers/device
drivers/imu/fxas21002c
drivers/imu/fxos8701cq
drivers/gps
@ -27,7 +24,6 @@ set(config_module_list
drivers/kinetis/adc
drivers/kinetis/tone_alarm
drivers/imu/l3gd20
drivers/led
drivers/mkblctrl
drivers/imu/mpu6000
drivers/imu/mpu9250
@ -121,27 +117,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/ecl
lib/conversion
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/tunes
lib/version
lib/DriverFramework/framework
lib/FlightTasks
#
# OBC challenge
#

View File

@ -13,13 +13,10 @@ set(config_module_list
drivers/magnetometer
drivers/telemetry
drivers/device
drivers/samv7
#WIP drivers/samv7/adc
drivers/samv7/tone_alarm
drivers/led
drivers/px4fmu
drivers/boards
drivers/rgbled
drivers/imu/mpu6000
drivers/imu/mpu9250
@ -28,7 +25,6 @@ set(config_module_list
drivers/gps
#WIP drivers/pwm_out_sim
drivers/blinkm
drivers/airspeed
modules/sensors
#drivers/mkblctrl
drivers/px4flow
@ -94,26 +90,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/version
lib/FlightTasks
#
# OBC challenge
#

View File

@ -5,10 +5,7 @@ set(config_module_list
#
# Board support modules
#
drivers/device
drivers/stm32
drivers/led
drivers/boards
#
# System commands
@ -23,25 +20,6 @@ set(config_module_list
systemcmds/nshterm
systemcmds/ver
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
#
# Libraries
#
#lib/mathlib/CMSIS
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/mathlib
lib/mixer
lib/version
#
# Demo apps
#

View File

@ -37,10 +37,7 @@ set(config_module_list
#
# Board support modules
#
drivers/boards
drivers/bootloaders
drivers/device
drivers/led
drivers/stm32
#
@ -56,12 +53,4 @@ set(config_module_list
#
modules/uavcannode
#
# Library modules
#
lib/version
modules/systemlib
modules/systemlib/param
modules/uORB
)

View File

@ -39,10 +39,7 @@ set(config_module_list
#
# Board support modules
#
drivers/boards
drivers/bootloaders
drivers/device
drivers/led
drivers/stm32
#
@ -65,12 +62,4 @@ set(config_module_list
modules/uavcanesc/commands/rpm
modules/uavcanesc/commands/stat
#
# Library modules
#
lib/version
modules/systemlib
modules/systemlib/param
modules/uORB
)

View File

@ -12,22 +12,18 @@ set(config_module_list
#drivers/telemetry
#drivers/imu/adis16448
drivers/airspeed
drivers/barometer/ms5611
#drivers/blinkm
#drivers/imu/bmi160
#drivers/barometer/bmp280
drivers/boards
#drivers/bst
drivers/camera_trigger
drivers/device
#drivers/frsky_telemetry
drivers/gps
#drivers/hott
#drivers/iridiumsbd
#drivers/irlock
drivers/imu/l3gd20
drivers/led
drivers/imu/lsm303d
drivers/magnetometer/hmc5883
drivers/magnetometer/lis3mdl
@ -142,24 +138,6 @@ set(config_module_list
# Library modules
#
modules/dataman
modules/systemlib
modules/systemlib/param
modules/uORB
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
#lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge

View File

@ -12,22 +12,18 @@ set(config_module_list
#drivers/telemetry
#drivers/imu/adis16448
drivers/airspeed
drivers/barometer/ms5611
#drivers/blinkm
#drivers/imu/bmi160
#drivers/barometer/bmp280
drivers/boards
#drivers/bst
#drivers/camera_trigger
drivers/device
#drivers/frsky_telemetry
drivers/gps
#drivers/hott
#drivers/iridiumsbd
#drivers/irlock
drivers/imu/l3gd20
drivers/led
drivers/imu/lsm303d
drivers/magnetometer/hmc5883
drivers/magnetometer/lis3mdl
@ -133,24 +129,6 @@ set(config_module_list
# Library modules
#
modules/dataman
modules/systemlib
modules/systemlib/param
modules/uORB
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
#lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge

View File

@ -19,12 +19,9 @@ set(config_module_list
drivers/magnetometer
drivers/telemetry
drivers/airspeed
drivers/batt_smbus
drivers/blinkm
drivers/boards
drivers/camera_trigger
drivers/device
drivers/gps
drivers/imu/adis16448
drivers/imu/bmi160
@ -33,7 +30,6 @@ set(config_module_list
drivers/imu/mpu6000
drivers/imu/mpu9250
drivers/irlock
drivers/led
drivers/mkblctrl
drivers/oreoled
drivers/protocol_splitter
@ -131,24 +127,6 @@ set(config_module_list
# Library modules
#
modules/dataman
modules/systemlib
modules/systemlib/param
modules/uORB
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge

View File

@ -14,15 +14,11 @@ set(config_module_list
drivers/telemetry
drivers/imu
drivers/airspeed
drivers/batt_smbus
drivers/blinkm
drivers/boards
drivers/camera_trigger
drivers/device
drivers/gps
drivers/irlock
drivers/led
drivers/mkblctrl
drivers/oreoled
drivers/pca9685
@ -117,27 +113,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge
#

View File

@ -13,18 +13,14 @@ set(config_module_list
drivers/magnetometer
drivers/telemetry
drivers/airspeed
drivers/batt_smbus
drivers/blinkm
drivers/imu/bma180
drivers/imu/bmi160
drivers/boards
drivers/camera_trigger
drivers/device
drivers/gps
drivers/irlock
drivers/imu/l3gd20
drivers/led
drivers/mkblctrl
drivers/imu/mpu6000
drivers/imu/mpu9250
@ -122,24 +118,6 @@ set(config_module_list
# Library modules
#
modules/dataman
modules/systemlib/param
modules/systemlib
modules/uORB
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge

View File

@ -13,18 +13,14 @@ set(config_module_list
drivers/magnetometer
drivers/telemetry
drivers/airspeed
drivers/batt_smbus
drivers/blinkm
drivers/imu/bma180
drivers/imu/bmi055
drivers/imu/bmi160
drivers/boards
drivers/camera_trigger
drivers/device
drivers/gps
drivers/irlock
drivers/led
drivers/mkblctrl
drivers/imu/mpu6000
drivers/imu/mpu9250
@ -123,25 +119,6 @@ set(config_module_list
# Library modules
#
modules/dataman
modules/systemlib/param
modules/systemlib
modules/uORB
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge

View File

@ -2,9 +2,6 @@
px4_nuttx_configure(HWCLASS m3 CONFIG nsh)
set(config_module_list
drivers/boards/px4io-v2
drivers/stm32
lib/mixer
lib/rc
modules/px4iofirmware
)

View File

@ -14,15 +14,11 @@ set(config_module_list
drivers/telemetry
drivers/imu/adis16448
drivers/airspeed
drivers/blinkm
drivers/imu/bma180
drivers/imu/bmi160
drivers/boards
drivers/camera_trigger
drivers/device
drivers/gps
drivers/led
drivers/mkblctrl
drivers/imu/mpu6000
drivers/imu/mpu9250
@ -100,27 +96,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge
#

View File

@ -6,9 +6,7 @@ add_definitions(
px4_nuttx_configure(HWCLASS m4 CONFIG nsh)
#
# UAVCAN boot loadable Module ID
set(uavcanblid_sw_version_major 0)
set(uavcanblid_sw_version_minor 1)
add_definitions(
@ -16,9 +14,7 @@ add_definitions(
-DAPP_VERSION_MINOR=${uavcanblid_sw_version_minor}
)
#
# Bring in common uavcan hardware identity definitions
#
include(common/px4_git)
px4_add_git_submodule(TARGET git_uavcan_board_ident PATH "cmake/configs/uavcan_board_ident")
include(configs/uavcan_board_ident/s2740vc-v1)
@ -33,14 +29,11 @@ include(configs/uavcan_board_ident/s2740vc-v1)
# SW_MINOR ${uavcanblid_sw_version_minor})
set(config_module_list
#
# Board support modules
#
drivers/bootloaders
drivers/stm32
drivers/led
drivers/boards
#
# System commands
@ -49,15 +42,4 @@ set(config_module_list
systemcmds/top
systemcmds/config
systemcmds/ver
#
# General system control
#
#
# Library modules
#
modules/systemlib/param
modules/systemlib
lib/version
)
)

View File

@ -7,13 +7,9 @@ set(config_module_list
#
# Board support modules
#
drivers/airspeed
drivers/boards
drivers/device
drivers/barometer
drivers/differential_pressure
drivers/gps
drivers/led
drivers/magnetometer/hmc5883
drivers/imu/mpu6000
drivers/px4fmu
@ -77,24 +73,5 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
)

View File

@ -12,7 +12,6 @@ set(config_module_list
#
# Board support modules
#
drivers/device
drivers/linux_sbus
modules/sensors
platforms/posix/drivers/df_ms5607_wrapper
@ -56,9 +55,6 @@ set(config_module_list
modules/sdlog2
modules/logger
modules/commander
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
modules/land_detector
modules/navigator
@ -68,19 +64,6 @@ set(config_module_list
# PX4 drivers
#
drivers/gps
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/version
lib/FlightTasks
)
set(config_df_driver_list

View File

@ -18,9 +18,6 @@ else()
endif()
set(config_module_list
drivers/device
drivers/boards
drivers/led
drivers/linux_sbus
systemcmds/param
@ -28,9 +25,6 @@ set(config_module_list
modules/mavlink
modules/systemlib/param
modules/systemlib
modules/uORB
modules/sensors
modules/dataman
modules/sdlog2
@ -38,13 +32,6 @@ set(config_module_list
modules/simulator
modules/commander
lib/controllib
lib/mathlib
lib/ecl
lib/conversion
lib/version
lib/DriverFramework/framework
modules/muorb/krait
)

View File

@ -13,12 +13,6 @@ else()
endif()
set(config_module_list
drivers/device
modules/uORB
lib/DriverFramework/framework
modules/muorb/krait
)

View File

@ -18,7 +18,6 @@ set(config_module_list
#
# Board support modules
#
drivers/device
modules/sensors
platforms/posix/drivers/df_mpu9250_wrapper
platforms/posix/drivers/df_ms5611_wrapper
@ -59,9 +58,6 @@ set(config_module_list
modules/sdlog2
modules/logger
modules/commander
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
modules/land_detector
modules/navigator
@ -76,21 +72,6 @@ set(config_module_list
drivers/linux_pwm_out
drivers/rgbled
drivers/ulanding
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/version
lib/FlightTasks
examples/px4_simple_app
)

View File

@ -17,7 +17,6 @@ set(config_module_list
#
# Board support modules
#
drivers/device
drivers/distance_sensor
modules/sensors
platforms/posix/drivers/df_mpu9250_wrapper
@ -59,9 +58,6 @@ set(config_module_list
modules/sdlog2
modules/logger
modules/commander
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
modules/land_detector
modules/navigator
@ -75,21 +71,6 @@ set(config_module_list
drivers/linux_sbus
drivers/linux_pwm_out
drivers/rgbled
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/version
lib/FlightTasks
examples/px4_simple_app
)

View File

@ -15,10 +15,8 @@ set(config_module_list
#
# Board support modules
#
drivers/airspeed
#drivers/barometer
drivers/batt_smbus
drivers/device
drivers/differential_pressure
drivers/distance_sensor
#drivers/telemetry
@ -71,9 +69,6 @@ set(config_module_list
modules/sdlog2
modules/logger
modules/commander
modules/systemlib/param
modules/systemlib
modules/uORB
modules/dataman
modules/land_detector
modules/navigator
@ -92,20 +87,6 @@ set(config_module_list
drivers/pwm_out_sim
drivers/rpi_rc_in
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
)
#

View File

@ -30,13 +30,10 @@ endif()
set(CONFIG_SHMEM "1")
set(config_module_list
drivers/device
drivers/blinkm
drivers/linux_sbus
drivers/pwm_out_sim
drivers/rgbled
drivers/led
drivers/boards
drivers/qshell/posix
systemcmds/param
@ -57,9 +54,6 @@ set(config_module_list
modules/mc_pos_control
modules/mc_att_control
modules/systemlib/param
modules/systemlib
modules/uORB
modules/muorb/krait
modules/sensors
modules/dataman
@ -68,16 +62,4 @@ set(config_module_list
modules/simulator
modules/commander
modules/navigator
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
)

View File

@ -22,13 +22,10 @@ set(CONFIG_SHMEM "1")
set(config_module_list
drivers/device
drivers/blinkm
drivers/linux_sbus
drivers/pwm_out_sim
drivers/rgbled
drivers/led
drivers/boards
drivers/qshell/posix
systemcmds/param
@ -49,9 +46,6 @@ set(config_module_list
modules/mc_pos_control
modules/mc_att_control
modules/systemlib/param
modules/systemlib
modules/uORB
modules/muorb/krait
modules/sensors
modules/dataman
@ -60,15 +54,4 @@ set(config_module_list
modules/simulator
modules/commander
modules/navigator
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/tunes
lib/version
)

View File

@ -7,24 +7,15 @@ set(config_module_list
drivers/distance_sensor
#drivers/telemetry
drivers/airspeed
drivers/batt_smbus
drivers/boards
drivers/camera_trigger
drivers/device
drivers/gps
drivers/linux_gpio
drivers/pwm_out_sim
drivers/vmount
modules/sensors
platforms/posix/drivers/accelsim
platforms/posix/drivers/adcsim
platforms/posix/drivers/airspeedsim
platforms/posix/drivers/barosim
platforms/posix/drivers/gpssim
platforms/posix/drivers/gyrosim
platforms/posix/drivers/ledsim
platforms/posix/drivers/tonealrmsim
#
@ -111,27 +102,8 @@ set(config_module_list
# Library modules
#
modules/dataman
modules/systemlib/param
modules/systemlib
modules/uORB
modules/landing_target_estimator
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mixer
lib/mathlib
lib/rc
lib/terrain_estimation
lib/tunes
lib/version
lib/FlightTasks
#
# OBC challenge
#

View File

@ -2,25 +2,14 @@
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-native.cmake)
set(config_module_list
drivers/device
drivers/boards/sitl
systemcmds/param
systemcmds/ver
systemcmds/perf
modules/uORB
modules/systemlib/param
modules/systemlib
modules/ekf2
modules/ekf2_replay
modules/sdlog2
modules/logger
lib/controllib
lib/mathlib
lib/conversion
lib/ecl
lib/version
lib/DriverFramework/framework
lib/micro-CDR
)
set(config_extra_builtin_cmds

View File

@ -20,7 +20,6 @@ include(qurt_flags)
include_directories(${HEXAGON_SDK_INCLUDES})
set(config_module_list
drivers/device
#
# System commands
@ -30,8 +29,5 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
)

View File

@ -20,10 +20,7 @@ include(qurt_flags)
include_directories(${HEXAGON_SDK_INCLUDES})
set(config_module_list
drivers/device
drivers/boards
drivers/pwm_out_sim
drivers/led
drivers/rgbled
modules/sensors
@ -52,23 +49,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/commander
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/led
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/version
#
# sources for muorb over fastrpc
#

View File

@ -20,7 +20,6 @@ include(qurt_flags)
include_directories(${HEXAGON_SDK_INCLUDES})
set(config_module_list
drivers/device
#
# System commands
@ -30,17 +29,6 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
#
# Libraries
#
lib/mathlib
lib/conversion
lib/version
lib/DriverFramework/framework
#
# sources for muorb over fastrpc

View File

@ -20,7 +20,6 @@ include(qurt_flags)
include_directories(${HEXAGON_SDK_INCLUDES})
set(config_module_list
drivers/device
#
# System commands
@ -30,16 +29,5 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
#
# Libraries
#
lib/conversion
lib/DriverFramework/framework
lib/mathlib
lib/mixer
)

View File

@ -25,10 +25,7 @@ include(qurt_flags)
include_directories(${HEXAGON_SDK_INCLUDES})
set(config_module_list
drivers/device
drivers/boards
drivers/pwm_out_sim
drivers/led
drivers/rgbled
modules/sensors
@ -57,24 +54,8 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/commander
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/led
lib/mathlib
lib/mixer
lib/terrain_estimation
lib/version
#
# sources for muorb over fastrpc
#

View File

@ -34,7 +34,6 @@ set(config_module_list
#
# Board support modules
#
drivers/device
modules/sensors
platforms/posix/drivers/df_mpu9250_wrapper
platforms/posix/drivers/df_bmp280_wrapper
@ -66,9 +65,6 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/commander
modules/land_detector
@ -80,20 +76,6 @@ set(config_module_list
drivers/qshell/qurt
drivers/snapdragon_pwm_out
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/version
lib/FlightTasks
#
# sources for muorb over fastrpc
#

View File

@ -33,7 +33,6 @@ set(config_module_list
#
# Board support modules
#
drivers/device
modules/sensors
platforms/posix/drivers/df_mpu9250_wrapper
platforms/posix/drivers/df_bmp280_wrapper
@ -61,9 +60,6 @@ set(config_module_list
#
# Library modules
#
modules/systemlib/param
modules/systemlib
modules/uORB
modules/commander
modules/land_detector
@ -79,19 +75,6 @@ set(config_module_list
#
platforms/qurt/fc_addon/uart_esc
#
# Libraries
#
lib/controllib
lib/conversion
lib/DriverFramework/framework
lib/ecl
lib/mathlib
lib/mixer
lib/rc
lib/terrain_estimation
lib/version
#
# sources for muorb over fastrpc
#

View File

@ -196,5 +196,5 @@ add_custom_command(OUTPUT ${uorb_sources}
VERBATIM
)
px4_add_library(uorb_msgs ${uorb_sources})
add_dependencies(uorb_msgs uorb_headers)
add_library(uorb_msgs ${uorb_sources})
add_dependencies(uorb_msgs prebuild_targets uorb_headers)

View File

@ -42,7 +42,7 @@ endif()
add_executable(${FW_NAME} ${PX4_SOURCE_DIR}/src/platforms/empty.c)
add_dependencies(${FW_NAME} git_nuttx nuttx_build)
get_property(module_libraries GLOBAL PROPERTY PX4_LIBRARIES)
get_property(module_libraries GLOBAL PROPERTY PX4_MODULE_LIBRARIES)
# build NuttX
add_subdirectory(NuttX ${PX4_BINARY_DIR}/NuttX)
@ -76,24 +76,41 @@ file(RELATIVE_PATH PX4_BINARY_DIR_REL ${CMAKE_CURRENT_BINARY_DIR} ${PX4_BINARY_D
# because even relative linker script paths are different for linux, mac and windows
CYGPATH(PX4_BINARY_DIR PX4_BINARY_DIR_CYG)
target_link_libraries(${FW_NAME}
target_link_libraries(nuttx_arch
INTERFACE
drivers_board
drivers_arch
drivers_boards_common
drivers_boards_common_arch
)
target_link_libraries(nuttx_c INTERFACE nuttx_drivers)
target_link_libraries(nuttx_cxx INTERFACE nuttx_c)
target_link_libraries(${FW_NAME} PRIVATE
-nodefaultlibs
-nostdlib
-fno-exceptions
-fno-rtti
-Wl,--script=${PX4_BINARY_DIR_CYG}/NuttX/nuttx/configs/${BOARD}/scripts/${LD_SCRIPT}
-Wl,-Map=${CONFIG}.map
-Wl,--warn-common,--gc-sections
-Wl,--warn-common
-Wl,--gc-sections
-Wl,--start-group
${module_libraries}
${nuttx_libs}
${nuttx_libs}
-Wl,--end-group
m
gcc
)
target_link_libraries(${FW_NAME} PRIVATE ${module_libraries})
target_link_libraries(${FW_NAME} PRIVATE modules__uORB)
if (config_romfs_root)
add_subdirectory(${PX4_SOURCE_DIR}/ROMFS ${PX4_BINARY_DIR}/ROMFS)
target_link_libraries(${FW_NAME} romfs)
target_link_libraries(${FW_NAME} PRIVATE romfs)
endif()
# create px4 file (combined firmware and metadata)
@ -212,4 +229,3 @@ add_custom_target(profile
DEPENDS ${FW_NAME} ${PX4_SOURCE_DIR}/platforms/nuttx/Debug/poor-mans-profiler.sh
USES_TERMINAL
)

View File

@ -110,7 +110,8 @@ function(px4_nuttx_make_uavcan_bootloadable)
add_custom_command(OUTPUT ${uavcan_bl_imange_name}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/make_can_boot_descriptor.py
-v --use-git-hash ${BIN} ${uavcan_bl_imange_name}
DEPENDS ${BIN})
DEPENDS ${BIN}
)
add_custom_target(build_uavcan_bl_${BOARD} ALL DEPENDS ${uavcan_bl_imange_name})
endfunction()
@ -188,11 +189,11 @@ function(px4_os_add_flags)
${PX4_BINARY_DIR}/NuttX/apps/include
)
#set(added_exe_linker_flags)
#set(added_link_dirs ${nuttx_export_dir}/libs)
set(added_definitions -D__PX4_NUTTX)
add_definitions(
-D__PX4_NUTTX
-D__DF_NUTTX
)
list(APPEND added_definitions -D__DF_NUTTX)
if("${config_nuttx_hw_stack_check_${BOARD}}" STREQUAL "y")
set(instrument_flags
@ -240,7 +241,9 @@ function(px4_os_prebuild_targets)
REQUIRED OUT BOARD
ARGN ${ARGN})
add_custom_target(${OUT} DEPENDS nuttx_context uorb_headers)
add_library(${OUT} INTERFACE)
target_link_libraries(${OUT} INTERFACE nuttx_cxx nuttx_c nuttx_fs nuttx_mm nuttx_sched m gcc)
add_dependencies(${OUT} DEPENDS nuttx_context uorb_headers)
# parse nuttx config options for cmake
file(STRINGS ${PX4_SOURCE_DIR}/platforms/nuttx/nuttx-configs/${BOARD}/nsh/defconfig ConfigContents)
@ -323,4 +326,3 @@ function(px4_nuttx_configure)
endif()
endfunction()
# vim: set noet fenc=utf-8 ff=unix nowrap:

View File

@ -34,12 +34,12 @@
# skip for px4_layer support on an IO board
if (NOT ${BOARD} MATCHES "px4io")
px4_add_module(
MODULE platform_px4_layer
SRCS
px4_nuttx_tasks.c
px4_nuttx_impl.cpp
DEPENDS
prebuild_targets
)
add_library(px4_layer
px4_nuttx_tasks.c
px4_nuttx_impl.cpp
)
target_link_libraries(px4_layer PRIVATE nuttx_sched drivers_boards_common_arch)
else()
add_library(px4_layer ${PX4_SOURCE_DIR}/src/platforms/empty.c)
endif()
add_dependencies(px4_layer prebuild_targets)

View File

@ -3,7 +3,7 @@ add_subdirectory(src)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
get_property(module_libraries GLOBAL PROPERTY PX4_LIBRARIES)
get_property(module_libraries GLOBAL PROPERTY PX4_MODULE_LIBRARIES)
px4_posix_generate_builtin_commands(
OUT apps
@ -46,23 +46,19 @@ else()
apps.cpp
)
if (APPLE)
target_link_libraries(px4
target_link_libraries(px4
PRIVATE
${module_libraries}
df_driver_framework
${df_driver_libs}
pthread m
)
else()
target_link_libraries(px4
-Wl,--start-group
${module_libraries}
df_driver_framework
${df_driver_libs}
pthread m rt
-Wl,--end-group
)
)
if (NOT APPLE)
target_link_libraries(px4 PRIVATE rt)
endif()
target_link_libraries(px4 PRIVATE modules__uORB)
endif()
if ("${BOARD}" STREQUAL "rpi")
@ -99,5 +95,3 @@ endif()
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})

View File

@ -164,21 +164,19 @@ function(px4_os_add_flags)
LINK_DIRS ${LINK_DIRS}
DEFINITIONS ${DEFINITIONS})
set(added_include_dirs
platforms/posix/include
)
# This block sets added_definitions and added_cxx_flags.
set(added_c_flags)
set(added_cxx_flags)
set(added_exe_linker_flags)
set(added_definitions
add_definitions(
-D__PX4_POSIX
-Dnoreturn_function=__attribute__\(\(noreturn\)\)
)
include_directories(platforms/posix/include)
if(UNIX AND APPLE)
list(APPEND added_definitions
add_definitions(
-D__PX4_DARWIN
-D__DF_DARWIN
)
@ -191,7 +189,7 @@ function(px4_os_add_flags)
STRING(REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION})
# message(STATUS "PX4 Darwin Version: ${DARWIN_VERSION}")
if (DARWIN_VERSION LESS 16)
list(APPEND added_definitions
add_definitions(
-DCLOCK_MONOTONIC=1
-DCLOCK_REALTIME=0
-D__PX4_APPLE_LEGACY
@ -199,14 +197,14 @@ function(px4_os_add_flags)
endif()
elseif(CYGWIN)
list(APPEND added_definitions
add_definitions(
-D__PX4_CYGWIN
-D_GNU_SOURCE
-D__USE_LINUX_IOCTL_DEFS
-U __CUSTOM_FILE_IO__
)
else()
list(APPEND added_definitions
add_definitions(
-D__PX4_LINUX
-D__DF_LINUX
)
@ -316,5 +314,6 @@ function(px4_os_prebuild_targets)
REQUIRED OUT BOARD
ARGN ${ARGN})
add_custom_target(${OUT} DEPENDS uorb_headers)
add_library(${OUT} INTERFACE)
add_dependencies(${OUT} DEPENDS uorb_headers)
endfunction()

View File

@ -45,17 +45,16 @@ if("${CONFIG_SHMEM}" STREQUAL "1")
set(EXTRA_DEPENDS generate_px4muorb_stubs)
endif()
px4_add_module(
MODULE platforms__posix__px4_layer
COMPILE_FLAGS
SRCS
px4_posix_impl.cpp
px4_posix_tasks.cpp
px4_sem.cpp
lib_crc32.c
drv_hrt.c
${SHMEM_SRCS}
DEPENDS
platforms__common
${EXTRA_DEPENDS}
)
add_library(px4_layer
px4_posix_impl.cpp
px4_posix_tasks.cpp
px4_sem.cpp
lib_crc32.c
drv_hrt.c
${SHMEM_SRCS}
)
target_link_libraries(px4_layer PRIVATE work_queue)
if (EXTRA_DEPENDS)
add_dependencies(px4_layer ${EXTRA_DEPENDS})
endif()

View File

@ -46,7 +46,7 @@
#include <signal.h>
#include <errno.h>
#include <unistd.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
#include "hrt_work.h"
#include <drivers/drv_hrt.h>
#include "px4_time.h"

View File

@ -48,7 +48,7 @@
#include <sys/mman.h>
#include <sys/ioctl.h>
#include "systemlib/param/param.h"
#include <parameters/param.h>
#include <shmem.h>
#include "px4muorb.h"

View File

@ -10,33 +10,31 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-missing-prototypes")
get_property(module_libraries GLOBAL PROPERTY PX4_LIBRARIES)
get_property(module_libraries GLOBAL PROPERTY PX4_MODULE_LIBRARIES)
px4_qurt_generate_builtin_commands(
OUT ${PX4_BINARY_DIR}/apps
MODULE_LIST ${module_libraries})
MODULE_LIST ${module_libraries}
)
FASTRPC_STUB_GEN(px4muorb.idl)
# Enable build without HexagonSDK to check link dependencies
if ("${QURT_ENABLE_STUBS}" STREQUAL "1")
add_definitions(-D QURT_EXE_BUILD=1)
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${FASTRPC_DSP_INCLUDES}
)
add_executable(px4
${PX4_BINARY_DIR}/src/firmware/qurt/px4muorb_skel.c
${PX4_BINARY_DIR}/apps.cpp
)
${PX4_BINARY_DIR}/platforms/qurt/px4muorb_skel.c
)
target_link_libraries(px4
-Wl,--start-group
${module_libraries}
${df_driver_libs}
-Wl,--end-group
)
target_link_libraries(px4 PRIVATE ${module_libraries} ${df_driver_libs})
else()
# Generate the DSP lib and stubs but not the apps side executable
# The Apps side executable is generated via the posix_eagle_xxxx target
@ -58,6 +56,6 @@ else()
DEPENDS px4 px4muorb_skel
COMMENT "uploading px4"
USES_TERMINAL
)
)
endif()

View File

@ -162,7 +162,7 @@ function(px4_os_add_flags)
DEFINITIONS ${DEFINITIONS})
set(DSPAL_ROOT src/lib/DriverFramework/dspal)
set(added_include_dirs
include_directories(
${DSPAL_ROOT}/include
${DSPAL_ROOT}/mpu_spi/inc
${DSPAL_ROOT}/sys
@ -173,7 +173,7 @@ function(px4_os_add_flags)
platforms/qurt/include
)
set(added_definitions
add_definitions(
-D__DF_QURT # For DriverFramework
-D__PX4_POSIX
-D__PX4_QURT
@ -195,8 +195,8 @@ function(px4_os_add_flags)
)
# Clear -rdynamic flag which fails for hexagon
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS)
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
set(DF_TARGET "qurt" PARENT_SCOPE)
@ -238,8 +238,6 @@ function(px4_os_prebuild_targets)
REQUIRED OUT BOARD
ARGN ${ARGN})
add_custom_target(${OUT} DEPENDS git_driverframework uorb_headers)
add_library(${OUT} INTERFACE)
add_dependencies(${OUT} DEPENDS uorb_headers)
endfunction()
# vim: set noet fenc=utf-8 ff=unix nowrap:

View File

@ -30,6 +30,7 @@
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon")
include(hexagon_sdk)
@ -52,12 +53,8 @@ if ("${QURT_ENABLE_STUBS}" STREQUAL "1")
)
endif()
px4_add_module(
MODULE platforms_px4_layer
COMPILE_FLAGS
SRCS
${QURT_LAYER_SRCS}
${CONFIG_SRC}
DEPENDS
platforms__common
)
add_library(px4_layer
${QURT_LAYER_SRCS}
${CONFIG_SRC}
)
add_dependencies(px4_layer uorb_msgs) # dataman requires mission

View File

@ -48,7 +48,7 @@
#include <errno.h>
#include <unistd.h>
#include <semaphore.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
#include "hrt_work.h"
#include "px4_log.h"

View File

@ -41,7 +41,7 @@
#include <sys/stat.h>
#include <atomic_ops.h>
#include "systemlib/param/param.h"
#include <parameters/param.h>
#include <shmem.h>
#include <drivers/drv_hrt.h>

View File

@ -37,6 +37,4 @@ px4_add_module(
SRCS
aerofc_adc.cpp
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :

View File

@ -40,6 +40,5 @@ px4_add_module(
bmp280_i2c.cpp
bmp280.cpp
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :

View File

@ -66,7 +66,7 @@
#include <drivers/drv_hrt.h>
#include <drivers/device/ringbuffer.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>

View File

@ -41,6 +41,5 @@ px4_add_module(
lps25h_spi.cpp
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :

View File

@ -60,7 +60,7 @@
#include <board_config.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#include <drivers/drv_baro.h>

View File

@ -42,6 +42,5 @@ px4_add_module(
COMPILE_FLAGS
SRCS ${srcs}
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :

View File

@ -70,7 +70,7 @@
#include <drivers/drv_hrt.h>
#include <drivers/device/ringbuffer.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#include <platforms/px4_getopt.h>

View File

@ -43,6 +43,5 @@ px4_add_module(
COMPILE_FLAGS
SRCS ${srcs}
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :

View File

@ -64,7 +64,7 @@
#include <drivers/drv_hrt.h>
#include <drivers/device/ringbuffer.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#include <platforms/px4_getopt.h>

View File

@ -37,5 +37,4 @@ px4_add_module(
SRCS
batt_smbus.cpp
DEPENDS
platforms__common
)

View File

@ -51,7 +51,7 @@
#include <drivers/drv_hrt.h>
#include <px4_config.h>
#include <px4_workqueue.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <uORB/topics/battery_status.h>
#include <uORB/topics/subsystem_info.h>
#include <uORB/uORB.h>

View File

@ -37,6 +37,5 @@ px4_add_module(
SRCS
blinkm.cpp
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :

View File

@ -110,7 +110,7 @@
#include <px4_workqueue.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#include <systemlib/systemlib.h>

View File

@ -39,3 +39,11 @@ px4_add_library(drivers_board
timer_config.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
drivers__led # drv_led_start
nuttx_apps # up_cxxinitialize
nuttx_arch # sdio
nuttx_drivers # sdio
parameters # param_init
)

View File

@ -69,10 +69,10 @@
#include <drivers/drv_board_led.h>
#include <systemlib/cpuload.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
/****************************************************************************
* Pre-Processor Definitions

View File

@ -38,3 +38,10 @@ px4_add_library(drivers_board
spi.c
timer_config.c
)
target_link_libraries(drivers_board
PRIVATE
drivers__led # drv_led_start
nuttx_apps # up_cxxinitialize
parameters # param_init
modules__dataman # dm_flash_sector_description_set
)

View File

@ -74,10 +74,10 @@
#include <systemlib/err.h>
#include <systemlib/hardfault_log.h>
#include <systemlib/systemlib.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
# if defined(FLASH_BASED_PARAMS)
# include <systemlib/flashparams/flashfs.h>
# include <parameters/flashparams/flashfs.h>
#endif
/****************************************************************************

View File

@ -39,3 +39,11 @@ px4_add_library(drivers_board
timer_config.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
drivers__led # drv_led_start
nuttx_apps # up_cxxinitialize
nuttx_arch # sdio
nuttx_drivers # sdio
parameters # param_init
)

View File

@ -73,13 +73,13 @@
#include <systemlib/px4_macros.h>
#include <systemlib/cpuload.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#include <systemlib/hardfault_log.h>
#include <systemlib/systemlib.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
/****************************************************************************
* Pre-Processor Definitions

View File

View File

@ -31,13 +31,14 @@
#
############################################################################
if (${OS} MATCHES "nuttx")
px4_add_library(boards_common
# common board drivers (currently only for nuttx fmu boards)
if (${OS} MATCHES "nuttx" AND NOT ${BOARD} MATCHES "io")
px4_add_library(drivers_boards_common
board_crashdump.c
board_dma_alloc.c
board_gpio_init.c
)
add_dependencies(boards_common nuttx_build)
if (${CONFIG_ARCH_CHIP} MATCHES "kinetis")
add_subdirectory(kinetis)
@ -46,4 +47,16 @@ if (${OS} MATCHES "nuttx")
elseif (${CONFIG_ARCH_CHIP} MATCHES "stm32")
add_subdirectory(stm32)
endif()
endif()
target_link_libraries(drivers_boards_common
PRIVATE
drivers_boards_common_arch
nuttx_arch # bbsram
nuttx_mm # dma gran alloc
systemlib
)
else()
add_library(drivers_boards_common INTERFACE)
add_library(drivers_boards_common_arch INTERFACE)
endif()

View File

@ -48,7 +48,7 @@
#include <errno.h>
#include <nuttx/mm/gran.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
/************************************************************************************
* Definitions

View File

@ -31,9 +31,10 @@
#
############################################################################
px4_add_library(board_kinetis
add_library(drivers_boards_common_arch
board_identity.c
board_mcu_version.c
board_reset.c
)
add_dependencies(board_kinetis nuttx_build)
add_dependencies(drivers_boards_common_arch prebuild_targets)
target_link_libraries(drivers_boards_common_arch PRIVATE nuttx_arch)

View File

@ -31,9 +31,10 @@
#
############################################################################
px4_add_library(board_samv7
add_library(drivers_boards_common_arch
board_identity.c
board_mcu_version.c
board_reset.c
)
add_dependencies(board_samv7 nuttx_build)
)
add_dependencies(drivers_boards_common_arch prebuild_targets)
target_link_libraries(drivers_boards_common_arch PRIVATE nuttx_arch)

View File

@ -43,5 +43,6 @@ if (NOT ${LABEL} STREQUAL "bootloader")
)
endif()
px4_add_library(board_stm32 ${SRCS})
add_dependencies(board_stm32 nuttx_build)
add_library(drivers_boards_common_arch ${SRCS})
add_dependencies(drivers_boards_common_arch prebuild_targets)
target_link_libraries(drivers_boards_common_arch PRIVATE nuttx_arch)

View File

@ -79,7 +79,10 @@ void board_system_reset(int status)
#if defined(BOARD_HAS_ON_RESET)
board_on_reset(status);
#endif
#ifdef CONFIG_BOARDCTL_RESET
board_reset(status);
#endif
while (1);
}

View File

@ -37,3 +37,9 @@ px4_add_library(drivers_board
timer_config.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
drivers__led # drv_led_start
nuttx_apps # up_cxxinitialize
parameters # param_init
)

View File

@ -71,7 +71,7 @@
#include <systemlib/err.h>
#include <systemlib/hardfault_log.h>
#include <systemlib/systemlib.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
/****************************************************************************
* Pre-Processor Definitions

View File

@ -30,12 +30,5 @@
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_module(
MODULE drivers__boards__sitl
COMPILE_FLAGS
SRCS
sitl_led.c
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :
px4_add_library(drivers_board sitl_led.c)

View File

@ -40,3 +40,8 @@ px4_add_library(drivers_board
led.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
nuttx_apps # up_cxxinitialize
parameters # param_init
)

View File

@ -69,14 +69,14 @@
#include <drivers/drv_board_led.h>
#include <systemlib/cpuload.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE)
#include <systemlib/systemlib.h>
#endif
#if defined(FLASH_BASED_PARAMS)
# include <systemlib/flashparams/flashfs.h>
# if defined(FLASH_BASED_PARAMS)
# include <parameters/flashparams/flashfs.h>
#endif
#include "board_config.h"

View File

@ -39,3 +39,12 @@ px4_add_library(drivers_board
timer_config.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
drivers__led # drv_led_start
nuttx_apps # up_cxxinitialize
nuttx_arch # sdio
nuttx_drivers # sdio
parameters # param_init
)

View File

@ -74,12 +74,12 @@
#include <systemlib/px4_macros.h>
#include <systemlib/cpuload.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/hardfault_log.h>
#include <systemlib/systemlib.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
/****************************************************************************
* Pre-Processor Definitions

View File

@ -42,3 +42,12 @@ px4_add_library(drivers_board
timer_config.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
nuttx_apps # up_cxxinitialize
nuttx_arch # sdio
nuttx_drivers # sdio
drivers__led # drv_led_start
parameters # param_init
)

View File

@ -73,7 +73,7 @@
#include <systemlib/px4_macros.h>
#include <systemlib/cpuload.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#if defined(CONFIG_KINETIS_BBSRAM) //fixme:Need BBSRAM

View File

View File

@ -40,3 +40,12 @@ px4_add_library(drivers_board
timer_config.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
drivers__led # drv_led_start
nuttx_apps # up_cxxinitialize
nuttx_arch # sdio
nuttx_drivers # sdio
parameters # param_init
)

View File

@ -75,13 +75,13 @@
#include <systemlib/px4_macros.h>
#include <systemlib/cpuload.h>
#include <systemlib/perf_counter.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#include <systemlib/hardfault_log.h>
#include <systemlib/systemlib.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
/****************************************************************************
* Pre-Processor Definitions

View File

@ -36,3 +36,12 @@ px4_add_library(drivers_board
led.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
nuttx_apps # up_cxxinitialize
nuttx_arch # sdio
nuttx_drivers # sdio
drivers__led # drv_led_start
parameters # param_init
)

View File

@ -71,8 +71,8 @@
#include <drivers/drv_board_led.h>
#include <systemlib/cpuload.h>
#include <systemlib/perf_counter.h>
#include <systemlib/param/param.h>
#include <perf/perf_counter.h>
#include <parameters/param.h>
/****************************************************************************
* Pre-Processor Definitions

View File

@ -38,3 +38,12 @@ px4_add_library(drivers_board
led.c
spi.c
)
target_link_libraries(drivers_board
PRIVATE
nuttx_apps # up_cxxinitialize
nuttx_arch # sdio
nuttx_drivers # sdio
drivers__led # drv_led_start
parameters # param_init
)

View File

@ -69,7 +69,7 @@
#include <drivers/drv_board_led.h>
#include <systemlib/cpuload.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE)
#include <systemlib/systemlib.h>

View File

@ -36,3 +36,10 @@ px4_add_library(drivers_board
led.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
nuttx_apps # up_cxxinitialize
drivers__led # drv_led_start
parameters # param_init
)

View File

@ -69,14 +69,14 @@
#include <drivers/drv_board_led.h>
#include <systemlib/cpuload.h>
#include <systemlib/param/param.h>
#include <parameters/param.h>
#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE)
#include <systemlib/systemlib.h>
#endif
#if defined(FLASH_BASED_PARAMS)
# include <systemlib/flashparams/flashfs.h>
# if defined(FLASH_BASED_PARAMS)
# include <parameters/flashparams/flashfs.h>
#endif
#include "board_config.h"

View File

@ -40,3 +40,12 @@ px4_add_library(drivers_board
timer_config.c
usb.c
)
target_link_libraries(drivers_board
PRIVATE
drivers__led # drv_led_start
nuttx_apps # up_cxxinitialize
nuttx_arch # sdio
nuttx_drivers # sdio
parameters # param_init
)

Some files were not shown because too many files have changed in this diff Show More