Merge of latest changes

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
Mark Charlebois
2015-09-07 21:10:43 -07:00
parent 29520c0834
commit 4764a62440
2 changed files with 52 additions and 29 deletions
+11 -1
View File
@@ -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
+41 -28
View File
@@ -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()