You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
3.7 KiB
189 lines
3.7 KiB
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR}) |
|
|
|
get_property(module_libraries GLOBAL PROPERTY PX4_MODULE_LIBRARIES) |
|
|
|
# When building with catkin, do not change CMAKE_RUNTIME_OUTPUT_DIR from |
|
# CMAKE_CURRENT_BINARY_DIR ''./platforms/posix' to './bin' |
|
if (NOT CATKIN_DEVEL_PREFIX) |
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) |
|
endif() |
|
|
|
set(PX4_SHELL_COMMAND_PREFIX "px4-") |
|
|
|
add_definitions("-DPX4_SHELL_COMMAND_PREFIX=\"${PX4_SHELL_COMMAND_PREFIX}\"") |
|
|
|
px4_posix_generate_builtin_commands( |
|
OUT apps |
|
MODULE_LIST ${module_libraries}) |
|
|
|
px4_posix_generate_alias( |
|
OUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/px4-alias.sh |
|
MODULE_LIST ${module_libraries} |
|
PREFIX ${PX4_SHELL_COMMAND_PREFIX} |
|
) |
|
|
|
if (("${PX4_BOARD}" MATCHES "atlflight_eagle") OR ("${PX4_BOARD}" MATCHES "atlflight_excelsior")) |
|
include(fastrpc) |
|
include(linux_app) |
|
|
|
FASTRPC_STUB_GEN(../qurt/px4muorb.idl) |
|
|
|
LINUX_APP( |
|
APP_NAME px4 |
|
IDL_NAME px4muorb |
|
APPS_DEST "/home/linaro" |
|
SOURCES |
|
px4muorb_stub.c |
|
src/px4/common/main.cpp |
|
apps.cpp |
|
LINK_LIBS |
|
-Wl,--start-group |
|
px4_layer |
|
parameters |
|
${module_libraries} |
|
${FASTRPC_ARM_LIBS} |
|
pthread m rt |
|
-Wl,--end-group |
|
) |
|
|
|
else() |
|
add_executable(px4 |
|
src/px4/common/main.cpp |
|
apps.cpp |
|
) |
|
|
|
target_link_libraries(px4 |
|
PRIVATE |
|
${module_libraries} |
|
pthread m |
|
|
|
# horrible circular dependencies that need to be teased apart |
|
px4_layer px4_platform |
|
work_queue |
|
parameters |
|
) |
|
|
|
if(NOT APPLE) |
|
target_link_libraries(px4 PRIVATE rt) |
|
endif() |
|
|
|
target_link_libraries(px4 PRIVATE modules__uORB) |
|
|
|
#============================================================================= |
|
# install |
|
# |
|
|
|
# TODO: extend to snapdragon |
|
|
|
# px4 dirs |
|
install( |
|
DIRECTORY |
|
${PROJECT_SOURCE_DIR}/posix-configs |
|
${PROJECT_SOURCE_DIR}/ROMFS |
|
${PROJECT_SOURCE_DIR}/test |
|
${CMAKE_RUNTIME_OUTPUT_DIRECTORY} |
|
DESTINATION |
|
${PROJECT_NAME} |
|
USE_SOURCE_PERMISSIONS |
|
) |
|
|
|
endif() |
|
|
|
# Module Symlinks |
|
px4_posix_generate_symlinks( |
|
MODULE_LIST ${module_libraries} |
|
PREFIX ${PX4_SHELL_COMMAND_PREFIX} |
|
TARGET px4 |
|
) |
|
|
|
|
|
# board defined upload helper |
|
if(EXISTS "${PX4_BOARD_DIR}/cmake/upload.cmake") |
|
include(${PX4_BOARD_DIR}/cmake/upload.cmake) |
|
endif() |
|
|
|
|
|
if("${PX4_BOARD}" MATCHES "beaglebone_blue") |
|
target_link_libraries(px4 PRIVATE robotics_cape) |
|
|
|
elseif("${PX4_BOARD}" MATCHES "emlid_navio2") |
|
target_link_libraries(px4 PRIVATE atomic) |
|
|
|
elseif("${PX4_BOARD}" MATCHES "sitl") |
|
|
|
include(sitl_target) |
|
if(BUILD_TESTING) |
|
include(sitl_tests) |
|
endif() |
|
|
|
# install |
|
|
|
# px4 dirs |
|
install( |
|
DIRECTORY |
|
${PROJECT_SOURCE_DIR}/integrationtests |
|
${PROJECT_SOURCE_DIR}/launch |
|
${CMAKE_RUNTIME_OUTPUT_DIRECTORY} |
|
DESTINATION |
|
${PROJECT_NAME} |
|
USE_SOURCE_PERMISSIONS |
|
) |
|
|
|
# px4 files |
|
install( |
|
FILES |
|
${PROJECT_SOURCE_DIR}/CMakeLists.txt |
|
${PROJECT_SOURCE_DIR}/package.xml |
|
DESTINATION |
|
${PROJECT_NAME} |
|
) |
|
|
|
# px4 Tools dirs |
|
install( |
|
DIRECTORY |
|
${PROJECT_SOURCE_DIR}/Tools/ecl_ekf |
|
DESTINATION |
|
${PROJECT_NAME}/Tools |
|
USE_SOURCE_PERMISSIONS |
|
) |
|
|
|
# px4 Tools files |
|
install( |
|
PROGRAMS |
|
${PROJECT_SOURCE_DIR}/Tools/setup_gazebo.bash |
|
${PROJECT_SOURCE_DIR}/Tools/upload_log.py |
|
DESTINATION |
|
${PROJECT_NAME}/Tools |
|
) |
|
|
|
# sitl_gazebo built plugins |
|
install( |
|
DIRECTORY |
|
${PROJECT_SOURCE_DIR}/build/px4_sitl_default/build_gazebo |
|
DESTINATION |
|
${PROJECT_NAME}/build/px4_sitl_default |
|
FILES_MATCHING |
|
PATTERN "CMakeFiles" EXCLUDE |
|
PATTERN "*.so" |
|
) |
|
|
|
# sitl_gazebo dirs |
|
install( |
|
DIRECTORY |
|
${PROJECT_SOURCE_DIR}/Tools/sitl_gazebo/models |
|
${PROJECT_SOURCE_DIR}/Tools/sitl_gazebo/worlds |
|
DESTINATION |
|
${PROJECT_NAME}/Tools/sitl_gazebo |
|
) |
|
|
|
# sitl_gazebo files |
|
install( |
|
FILES |
|
${PROJECT_SOURCE_DIR}/Tools/sitl_gazebo/CMakeLists.txt |
|
${PROJECT_SOURCE_DIR}/Tools/sitl_gazebo/package.xml |
|
DESTINATION |
|
${PROJECT_NAME}/Tools/sitl_gazebo |
|
) |
|
|
|
endif()
|
|
|