mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-17 07:33:34 +08:00
Merge of latest changes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
+11
-1
@@ -154,12 +154,16 @@ endforeach()
|
||||
#=============================================================================
|
||||
# git
|
||||
#
|
||||
if(${OS} STREQUAL "nuttx")
|
||||
px4_add_git_submodule(TARGET git_nuttx PATH "NuttX")
|
||||
endif()
|
||||
px4_add_git_submodule(TARGET git_genmsg PATH "Tools/genmsg")
|
||||
px4_add_git_submodule(TARGET git_gencpp PATH "Tools/gencpp")
|
||||
px4_add_git_submodule(TARGET git_mavlink PATH "mavlink/include/mavlink/v1.0")
|
||||
px4_add_git_submodule(TARGET git_gtest PATH "unittets/gtest")
|
||||
if(NOT ${OS} STREQUAL "nuttx")
|
||||
px4_add_git_submodule(TARGET git_eigen PATH "src/lib/eigen")
|
||||
endif()
|
||||
|
||||
add_custom_target(submodule_clean
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
@@ -185,6 +189,7 @@ px4_os_add_flags(
|
||||
INCLUDE_DIRS include_dirs
|
||||
LINK_DIRS link_dirs
|
||||
DEFINITIONS definitions)
|
||||
|
||||
px4_join(OUT CMAKE_EXE_LINKER_FLAGS LIST "${exe_linker_flags}" GLUE " ")
|
||||
px4_join(OUT CMAKE_C_FLAGS LIST "${c_flags}" GLUE " ")
|
||||
px4_join(OUT CMAKE_CXX_FLAGS LIST "${cxx_flags}" GLUE " ")
|
||||
@@ -206,7 +211,12 @@ px4_generate_messages(TARGET msg_gen
|
||||
#=============================================================================
|
||||
# subdirectories
|
||||
#
|
||||
add_subdirectory(src)
|
||||
if(${OS} STREQUAL "nuttx")
|
||||
add_subdirectory(src)
|
||||
else(${OS} STREQUAL "nuttx")
|
||||
set(module_list)
|
||||
px4_target_add_modules(module_list)
|
||||
endif()
|
||||
|
||||
#=============================================================================
|
||||
# packaging
|
||||
|
||||
@@ -47,15 +47,21 @@
|
||||
#
|
||||
set(QURT_APPS_HEADER ${CMAKE_BINARY_DIR}/apps.h)
|
||||
|
||||
add_git_submodule(dspal src/lib/dspal)
|
||||
add_git_submodule(eigen src/lib/eigen-3.2)
|
||||
px4_add_git_submodule(TARGET git_dspal PATH "src/lib/dspal")
|
||||
px4_add_git_submodule(TARGET git_eigen32 PATH "src/lib/eigen-3.2")
|
||||
|
||||
function(px4_target_set_flags)
|
||||
set(inout_vars
|
||||
C_FLAGS CXX_FLAGS EXE_LINKER_FLAGS INCLUDE_DIRS LINK_DIRS DEFINITIONS)
|
||||
|
||||
px4_parse_function_args(
|
||||
NAME px4_target_set_flags
|
||||
ONE_VALUE ${inout_vars} BOARD
|
||||
REQUIRED ${inout_vars} BOARD
|
||||
ARGN ${ARGN})
|
||||
|
||||
macro(px4_target_set_flags)
|
||||
list(APPEND EXE_LINK_LIBS
|
||||
pthread
|
||||
)
|
||||
set(DSPAL_ROOT src/lib/dspal)
|
||||
include_directories(
|
||||
set(added_include_dirs
|
||||
${DSPAL_ROOT}/include
|
||||
${DSPAL_ROOT}/sys
|
||||
${DSPAL_ROOT}/sys/sys
|
||||
@@ -65,48 +71,55 @@ macro(px4_target_set_flags)
|
||||
src/platforms/posix/include
|
||||
src/lib/eigen-3.2
|
||||
)
|
||||
add_definitions(
|
||||
|
||||
set(added_definitions
|
||||
-D__PX4_QURT
|
||||
-D__PX4_POSIX
|
||||
-include ${PX4_INCLUDE_DIR}visibility.h
|
||||
)
|
||||
|
||||
# Add the toolchain specific flags
|
||||
set(CMAKE_C_FLAGS ${QURT_CMAKE_C_FLAGS})
|
||||
set(CMAKE_CXX_FLAGS ${QURT_CMAKE_CXX_FLAGS})
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "")
|
||||
|
||||
message(STATUS "CMAKE_C_FLAGS: -${CMAKE_C_FLAGS}-")
|
||||
message(STATUS "CMAKE_CXX_FLAGS: -${CMAKE_CXX_FLAGS}-")
|
||||
set(added_cflags ${QURT_CMAKE_C_FLAGS})
|
||||
set(added_cxx_flags ${QURT_CMAKE_CXX_FLAGS})
|
||||
|
||||
# FIXME @jgoppert - how to work around issues like this?
|
||||
# Without changing global variables?
|
||||
# Clear -rdynamic flag which fails for hexagon
|
||||
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
|
||||
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
|
||||
|
||||
endmacro()
|
||||
# output
|
||||
foreach(var ${inout_vars})
|
||||
string(TOLOWER ${var} lower_var)
|
||||
set(${${var}} ${${${var}}} ${added_${lower_var}} PARENT_SCOPE)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
macro(px4_target_set_modules)
|
||||
list(APPEND module_directories
|
||||
function(px4_target_add_modules out_module_directories)
|
||||
list(APPEND ${out_module_directories}
|
||||
./src/platforms/qurt/px4_layer
|
||||
./src/platforms/posix/work_queue
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endmacro()
|
||||
endfunction()
|
||||
|
||||
macro(px4_target_validate_config)
|
||||
if (${TARGET_NAME} STREQUAL "qurt-hil-simple")
|
||||
else()
|
||||
function(px4_target_validate_config)
|
||||
# FIXME - this can be done in Firmware/CMakeLists.txt
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/qurt)
|
||||
|
||||
if (NOT EXISTS("${CMAKE_SOURCE_DIR}/cmake/qurt/${TARGET_NAME}.cmake")
|
||||
message(FATAL_ERROR "not implemented yet: ${TARGET_NAME}")
|
||||
endif()
|
||||
endmacro()
|
||||
endfunction()
|
||||
|
||||
macro(px4_target_firmware)
|
||||
function(px4_target_firmware)
|
||||
set(installed_targets)
|
||||
add_library(dspal_main SHARED ./src/platforms/qurt/px4_layer/main.cpp)
|
||||
target_link_libraries(dspal_main ${module_list})
|
||||
list(APPEND installed_targets dspal_main)
|
||||
endmacro()
|
||||
endfunction()
|
||||
|
||||
macro(px4_target_rules)
|
||||
function(px4_target_rules)
|
||||
#=============================================================================
|
||||
# apps
|
||||
#
|
||||
@@ -118,7 +131,7 @@ macro(px4_target_rules)
|
||||
)
|
||||
|
||||
add_custom_target(qurt_apps DEPENDS ${QURT_APPS_HEADER})
|
||||
endmacro()
|
||||
endfunction()
|
||||
|
||||
macro(px4_target_testing)
|
||||
endmacro()
|
||||
function(px4_target_testing)
|
||||
endfunction()
|
||||
|
||||
Reference in New Issue
Block a user