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-29 21:48:54 -04:00
parent a8bc3d187f
commit ea3acb7121
576 changed files with 1406 additions and 2014 deletions
+17 -4
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()
+1 -1
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
@@ -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)
@@ -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)
@@ -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)
@@ -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);
}