mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-21 19:47:35 +08:00
Gz cmake cleanup (#24518)
* clean up cmakelists * cleanup --------- Co-authored-by: jmackay2 <jmackay2@gmail.com> Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
This commit is contained in:
@@ -31,43 +31,13 @@
|
||||
#
|
||||
############################################################################
|
||||
|
||||
if(NOT DEFINED ENV{GZ_DISTRO})
|
||||
set(GZ_DISTRO "harmonic" CACHE STRING "Gazebo distribution to use")
|
||||
if(NOT DEFINED ENV{GZ_DISTRO} OR NOT "$ENV{GZ_DISTRO}" STREQUAL "harmonic")
|
||||
find_package(gz-transport NAMES gz-transport14 gz-transport13)
|
||||
else()
|
||||
set(GZ_DISTRO $ENV{GZ_DISTRO})
|
||||
find_package(gz-transport NAMES gz-transport13)
|
||||
endif()
|
||||
|
||||
# Define library version combinations for different Gazebo distributions
|
||||
# https://github.com/gazebo-tooling/gazebodistro/blob/master/collection-harmonic.yaml
|
||||
if(GZ_DISTRO STREQUAL "harmonic")
|
||||
set(GZ_CMAKE_VERSION "3")
|
||||
set(GZ_MSGS_VERSION "10")
|
||||
set(GZ_TRANSPORT_VERSION "13")
|
||||
set(GZ_PLUGIN_VERSION "2")
|
||||
set(GZ_SIM_VERSION "8")
|
||||
set(GZ_SENSORS_VERSION "8")
|
||||
message(STATUS "Using Gazebo Harmonic (cmake:${GZ_CMAKE_VERSION}, msgs:${GZ_MSGS_VERSION}, transport:${GZ_TRANSPORT_VERSION})")
|
||||
elseif(GZ_DISTRO STREQUAL "ionic")
|
||||
set(GZ_CMAKE_VERSION "4")
|
||||
set(GZ_MSGS_VERSION "11")
|
||||
set(GZ_TRANSPORT_VERSION "14")
|
||||
set(GZ_PLUGIN_VERSION "3")
|
||||
set(GZ_SIM_VERSION "9")
|
||||
set(GZ_SENSORS_VERSION "9")
|
||||
message(STATUS "Using Gazebo Ionic (cmake:${GZ_CMAKE_VERSION}, msgs:${GZ_MSGS_VERSION}, transport:${GZ_TRANSPORT_VERSION})")
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown Gazebo distribution: ${GZ_DISTRO}. Valid options are: harmonic or ionic")
|
||||
endif()
|
||||
|
||||
# Use gz-transport as litmus test for prescence of gz
|
||||
find_package(gz-transport${GZ_TRANSPORT_VERSION})
|
||||
|
||||
if (gz-transport${GZ_TRANSPORT_VERSION}_FOUND)
|
||||
|
||||
find_package(gz-cmake${GZ_CMAKE_VERSION} REQUIRED)
|
||||
find_package(gz-msgs${GZ_MSGS_VERSION} REQUIRED)
|
||||
find_package(Protobuf REQUIRED)
|
||||
|
||||
if (gz-transport_FOUND)
|
||||
px4_add_module(
|
||||
MODULE modules__simulation__gz_bridge
|
||||
MAIN gz_bridge
|
||||
@@ -87,7 +57,7 @@ if (gz-transport${GZ_TRANSPORT_VERSION}_FOUND)
|
||||
DEPENDS
|
||||
mixer_module
|
||||
px4_work_queue
|
||||
gz-transport${GZ_TRANSPORT_VERSION}::core
|
||||
gz-transport${gz-transport_VERSION_MAJOR}::core
|
||||
MODULE_CONFIG
|
||||
module.yaml
|
||||
)
|
||||
|
||||
@@ -33,45 +33,19 @@
|
||||
|
||||
project(px4_gz_plugins)
|
||||
|
||||
if(NOT DEFINED ENV{GZ_DISTRO})
|
||||
set(GZ_DISTRO "harmonic" CACHE STRING "Gazebo distribution to use")
|
||||
if(NOT DEFINED ENV{GZ_DISTRO} OR NOT "$ENV{GZ_DISTRO}" STREQUAL "harmonic")
|
||||
find_package(gz-transport NAMES gz-transport14 gz-transport13 gz-transport12)
|
||||
find_package(gz-sim NAMES gz-sim9 gz-sim8)
|
||||
find_package(gz-sensors NAMES gz-sensors9 gz-sensors8)
|
||||
find_package(gz-plugin NAMES gz-plugin3 gz-plugin2 COMPONENTS register)
|
||||
else()
|
||||
set(GZ_DISTRO $ENV{GZ_DISTRO})
|
||||
find_package(gz-transport NAMES gz-transport13)
|
||||
find_package(gz-sim NAMES gz-sim8)
|
||||
find_package(gz-sensors NAMES gz-sensors8)
|
||||
find_package(gz-plugin NAMES gz-plugin2 COMPONENTS register)
|
||||
endif()
|
||||
|
||||
# Define library version combinations for different Gazebo distributions
|
||||
# https://github.com/gazebo-tooling/gazebodistro/blob/master/collection-harmonic.yaml
|
||||
if(GZ_DISTRO STREQUAL "harmonic")
|
||||
set(GZ_CMAKE_VERSION "3")
|
||||
set(GZ_MSGS_VERSION "10")
|
||||
set(GZ_TRANSPORT_VERSION "13")
|
||||
set(GZ_PLUGIN_VERSION "2")
|
||||
set(GZ_SIM_VERSION "8")
|
||||
set(GZ_SENSORS_VERSION "8")
|
||||
message(STATUS "Using Gazebo Harmonic (cmake:${GZ_CMAKE_VERSION}, msgs:${GZ_MSGS_VERSION}, transport:${GZ_TRANSPORT_VERSION})")
|
||||
elseif(GZ_DISTRO STREQUAL "ionic")
|
||||
set(GZ_CMAKE_VERSION "4")
|
||||
set(GZ_MSGS_VERSION "11")
|
||||
set(GZ_TRANSPORT_VERSION "14")
|
||||
set(GZ_PLUGIN_VERSION "3")
|
||||
set(GZ_SIM_VERSION "9")
|
||||
set(GZ_SENSORS_VERSION "9")
|
||||
message(STATUS "Using Gazebo Ionic (cmake:${GZ_CMAKE_VERSION}, msgs:${GZ_MSGS_VERSION}, transport:${GZ_TRANSPORT_VERSION})")
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown Gazebo distribution: ${GZ_DISTRO}. Valid options are: harmonic or ionic")
|
||||
endif()
|
||||
|
||||
# Use gz-transport as litmus test for presence of gz
|
||||
find_package(gz-transport${GZ_TRANSPORT_VERSION})
|
||||
|
||||
if (gz-transport${GZ_TRANSPORT_VERSION}_FOUND)
|
||||
find_package(gz-cmake${GZ_CMAKE_VERSION} REQUIRED)
|
||||
find_package(gz-msgs${GZ_MSGS_VERSION} REQUIRED)
|
||||
find_package(Protobuf REQUIRED)
|
||||
find_package(gz-plugin${GZ_PLUGIN_VERSION} REQUIRED COMPONENTS register)
|
||||
find_package(gz-sim${GZ_SIM_VERSION} REQUIRED)
|
||||
find_package(gz-sensors${GZ_SENSORS_VERSION} REQUIRED)
|
||||
|
||||
if (gz-transport_FOUND)
|
||||
# Create a flat output directory for all plugin libraries
|
||||
set(PX4_GZ_PLUGIN_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "Directory for all Gazebo plugin libraries")
|
||||
file(MAKE_DIRECTORY ${PX4_GZ_PLUGIN_OUTPUT_DIR})
|
||||
|
||||
@@ -37,7 +37,7 @@ project(OpticalFlowSystem)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/optical_flow.cmake)
|
||||
|
||||
# Find OpenCV
|
||||
find_package(OpenCV REQUIRED)
|
||||
find_package(OpenCV REQUIRED COMPONENTS core imgproc)
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED
|
||||
OpticalFlowSensor.cpp
|
||||
@@ -46,10 +46,10 @@ add_library(${PROJECT_NAME} SHARED
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PUBLIC px4_gz_msgs
|
||||
PUBLIC gz-sensors${GZ_SENSORS_VERSION}::gz-sensors${GZ_SENSORS_VERSION}
|
||||
PUBLIC gz-plugin${GZ_PLUGIN_VERSION}::gz-plugin${GZ_PLUGIN_VERSION}
|
||||
PUBLIC gz-sim${GZ_SIM_VERSION}::gz-sim${GZ_SIM_VERSION}
|
||||
PUBLIC gz-transport${GZ_TRANSPORT_VERSION}::gz-transport${GZ_TRANSPORT_VERSION}
|
||||
PUBLIC gz-sensors${gz-sensors_VERSION_MAJOR}::gz-sensors${gz-sensors_VERSION_MAJOR}
|
||||
PUBLIC gz-plugin${gz-plugin_VERSION_MAJOR}::gz-plugin${gz-plugin_VERSION_MAJOR}
|
||||
PUBLIC gz-sim${gz-sim_VERSION_MAJOR}::gz-sim${gz-sim_VERSION_MAJOR}
|
||||
PUBLIC gz-transport${gz-transport_VERSION_MAJOR}::gz-transport${gz-transport_VERSION_MAJOR}
|
||||
PUBLIC ${OpenCV_LIBS}
|
||||
PUBLIC ${OpticalFlow_LIBS}
|
||||
)
|
||||
|
||||
@@ -48,10 +48,10 @@ add_library(${PROJECT_NAME} SHARED
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PUBLIC px4_gz_msgs
|
||||
PUBLIC gz-sensors${GZ_SENSORS_VERSION}::gz-sensors${GZ_SENSORS_VERSION}
|
||||
PUBLIC gz-plugin${GZ_PLUGIN_VERSION}::gz-plugin${GZ_PLUGIN_VERSION}
|
||||
PUBLIC gz-sim${GZ_SIM_VERSION}::gz-sim${GZ_SIM_VERSION}
|
||||
PUBLIC gz-transport${GZ_TRANSPORT_VERSION}::gz-transport${GZ_TRANSPORT_VERSION}
|
||||
PUBLIC gz-sensors${gz-sensors_VERSION_MAJOR}::gz-sensors${gz-sensors_VERSION_MAJOR}
|
||||
PUBLIC gz-plugin${gz-plugin_VERSION_MAJOR}::gz-plugin${gz-plugin_VERSION_MAJOR}
|
||||
PUBLIC gz-sim${gz-sim_VERSION_MAJOR}::gz-sim${gz-sim_VERSION_MAJOR}
|
||||
PUBLIC gz-transport${gz-transport_VERSION_MAJOR}::gz-transport${gz-transport_VERSION_MAJOR}
|
||||
# Add other dependencies as needed
|
||||
# PUBLIC ${OtherLib_LIBS}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user