Browse Source

cmake: ensure generated source files exist before extracting events

Only needed for Makefile-based builds:
gmake[3]: *** No rule to make target 'src/modules/flight_mode_manager/FlightTasks_generated.hpp', needed by 'events/px4.json'.  Stop.
master
Beat Küng 4 years ago committed by Daniel Agar
parent
commit
e3972d563a
  1. 4
      msg/CMakeLists.txt
  2. 1
      src/lib/events/CMakeLists.txt
  3. 4
      src/modules/flight_mode_manager/CMakeLists.txt
  4. 5
      src/systemcmds/topic_listener/CMakeLists.txt

4
msg/CMakeLists.txt

@ -34,6 +34,8 @@ @@ -34,6 +34,8 @@
# Support IN_LIST if() operator
cmake_policy(SET CMP0057 NEW)
include(px4_list_make_absolute)
set(msg_files
actuator_armed.msg
actuator_controls.msg
@ -230,6 +232,8 @@ if(invalid_msgs) @@ -230,6 +232,8 @@ if(invalid_msgs)
endif()
endif()
px4_list_make_absolute(msg_files ${CMAKE_CURRENT_SOURCE_DIR} ${msg_files})
if(NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
# Check that the msg directory and the CMakeLists.txt file exists
if(EXISTS ${EXTERNAL_MODULES_LOCATION}/msg/CMakeLists.txt)

1
src/lib/events/CMakeLists.txt

@ -49,6 +49,7 @@ add_custom_command(OUTPUT ${generated_events_px4_file} @@ -49,6 +49,7 @@ add_custom_command(OUTPUT ${generated_events_px4_file}
${PX4_SOURCE_DIR}/Tools/px4events/jsonout.py
${PX4_SOURCE_DIR}/Tools/px4events/srcparser.py
${PX4_SOURCE_DIR}/Tools/px4events/srcscanner.py
prebuild_targets # ensure all generated source files exist
COMMENT "Generating px4 event json file from source"
)
add_custom_target(events_px4_json DEPENDS ${generated_events_px4_file})

4
src/modules/flight_mode_manager/CMakeLists.txt

@ -99,6 +99,9 @@ add_custom_command( @@ -99,6 +99,9 @@ add_custom_command(
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
VERBATIM
)
add_custom_target(flighttasks_generated
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/FlightTasks_generated.cpp)
add_dependencies(prebuild_targets flighttasks_generated)
add_compile_options(
-Wno-cast-align
@ -123,6 +126,7 @@ px4_add_module( @@ -123,6 +126,7 @@ px4_add_module(
DEPENDS
px4_work_queue
WeatherVane
flighttasks_generated
)
# add all flight task dependencies

5
src/systemcmds/topic_listener/CMakeLists.txt

@ -33,15 +33,15 @@ @@ -33,15 +33,15 @@
add_custom_command(OUTPUT listener_generated.cpp
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate_listener.py ${PX4_SOURCE_DIR} ${msg_files} > listener_generated.cpp
DEPENDS generate_listener.py uorb_msgs
DEPENDS generate_listener.py ${msg_files}
)
add_custom_target(generate_topic_listener
DEPENDS
listener_generated.cpp
generate_listener.py
uorb_msgs
)
add_dependencies(prebuild_targets generate_topic_listener)
px4_add_module(
MODULE systemcmds__topic_listener
@ -56,5 +56,6 @@ px4_add_module( @@ -56,5 +56,6 @@ px4_add_module(
${CMAKE_CURRENT_BINARY_DIR}/listener_generated.cpp
DEPENDS
generate_topic_listener
uorb_msgs
)

Loading…
Cancel
Save