diff --git a/src/modules/mavlink/CMakeLists.txt b/src/modules/mavlink/CMakeLists.txt index 3038a0f705..68edd25f83 100644 --- a/src/modules/mavlink/CMakeLists.txt +++ b/src/modules/mavlink/CMakeLists.txt @@ -31,6 +31,9 @@ # ############################################################################ +# Make GENERATED property available outside of this directory e.g. for simulator_mavlink and mavlink_tests which depend on mavlink_c +cmake_policy(SET CMP0118 NEW) + set(MAVLINK_GIT_DIR "${CMAKE_CURRENT_LIST_DIR}/mavlink") set(MAVLINK_LIBRARY_DIR "${CMAKE_BINARY_DIR}/mavlink") file(RELATIVE_PATH MAVLINK_GIT_DIR_RELATIVE ${CMAKE_SOURCE_DIR} ${MAVLINK_GIT_DIR}) @@ -78,11 +81,9 @@ add_custom_command( COMMENT "Generating Mavlink ${CONFIG_MAVLINK_DIALECT}: ${MAVLINK_GIT_DIR_RELATIVE}/message_definitions/v1.0/${CONFIG_MAVLINK_DIALECT}.xml" ) -add_custom_target(mavlink_c_generate DEPENDS ${MAVLINK_LIBRARY_DIR}/${CONFIG_MAVLINK_DIALECT}/${CONFIG_MAVLINK_DIALECT}.h) set_source_files_properties(${MAVLINK_LIBRARY_DIR}/${CONFIG_MAVLINK_DIALECT}/${CONFIG_MAVLINK_DIALECT}.h PROPERTIES GENERATED true) - # mavlink header only library add_library(mavlink_c INTERFACE) target_compile_options(mavlink_c INTERFACE -Wno-address-of-packed-member -Wno-cast-align) diff --git a/src/modules/mavlink/mavlink_bridge_header.h b/src/modules/mavlink/mavlink_bridge_header.h index 3e2866ae6c..1b8a64c2c2 100644 --- a/src/modules/mavlink/mavlink_bridge_header.h +++ b/src/modules/mavlink/mavlink_bridge_header.h @@ -93,9 +93,7 @@ extern mavlink_status_t *mavlink_get_channel_status(uint8_t chan); extern mavlink_message_t *mavlink_get_channel_buffer(uint8_t chan); #include -#if !MAVLINK_FTP_UNIT_TEST #include -#endif __END_DECLS diff --git a/src/modules/mavlink/mavlink_tests/CMakeLists.txt b/src/modules/mavlink/mavlink_tests/CMakeLists.txt index a0c9481991..af4599c2a1 100644 --- a/src/modules/mavlink/mavlink_tests/CMakeLists.txt +++ b/src/modules/mavlink/mavlink_tests/CMakeLists.txt @@ -35,16 +35,12 @@ px4_add_module( MODULE modules__mavlink__mavlink_tests MAIN mavlink_tests STACK_MAIN 8192 - INCLUDES - ${MAVLINK_LIBRARY_DIR} - ${MAVLINK_LIBRARY_DIR}/${CONFIG_MAVLINK_DIALECT} COMPILE_FLAGS -DMAVLINK_FTP_UNIT_TEST #-DMAVLINK_FTP_DEBUG -DMavlinkStream=MavlinkStreamTest -DMavlinkFTP=MavlinkFTPTest -Wno-cast-align # TODO: fix and enable - -Wno-address-of-packed-member # TODO: fix in c_library_v2 -Wno-double-promotion # The fix has been proposed as PR upstream (2020-03-08) SRCS mavlink_tests.cpp @@ -52,5 +48,5 @@ px4_add_module( ../mavlink_stream.cpp ../mavlink_ftp.cpp DEPENDS - mavlink_c_generate + mavlink_c ) diff --git a/src/modules/simulation/simulator_mavlink/CMakeLists.txt b/src/modules/simulation/simulator_mavlink/CMakeLists.txt index fc4fa94aa4..6bf4ec8501 100644 --- a/src/modules/simulation/simulator_mavlink/CMakeLists.txt +++ b/src/modules/simulation/simulator_mavlink/CMakeLists.txt @@ -31,23 +31,20 @@ # ############################################################################ +# Make GENERATED property from mavlink_c available +cmake_policy(SET CMP0118 NEW) + px4_add_module( MODULE modules__simulation__simulator_mavlink MAIN simulator_mavlink COMPILE_FLAGS -Wno-double-promotion -Wno-cast-align - -Wno-address-of-packed-member # TODO: fix in c_library_v2 - INCLUDES - ${CMAKE_BINARY_DIR}/mavlink - ${CMAKE_BINARY_DIR}/mavlink/development - ${CMAKE_BINARY_DIR}/mavlink/common - ${CMAKE_BINARY_DIR}/mavlink/standard SRCS SimulatorMavlink.cpp SimulatorMavlink.hpp DEPENDS - mavlink_c_generate + mavlink_c conversion geo drivers_accelerometer