mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-24 07:17:40 +08:00
fix(build): move mavsdk_tests target out of gazebo-classic cmake file
The ExternalProject_Add(mavsdk_tests ...) lived at the bottom of sitl_targets_gazebo-classic.cmake, outside the if(gazebo_FOUND) gate and with a comment noting it doesn't depend on sitl_gazebo. Historical artifact: mavsdk_tests is a black-box MAVLink test driver that talks to a running PX4 over UDP, and works against any simulator backend (sitl_gazebo-classic, gz, sih, jmavsim, ...). With CI moving from classic Gazebo to SIH, the misplacement becomes actively misleading. Pull the block into a new top-level cmake/mavsdk_tests.cmake and include it from CMakeLists.txt under the existing posix-only block, so the dependency graph reflects what is actually true. Behavior is unchanged: target is EXCLUDE_FROM_ALL, only built on demand via `make mavsdk_tests` or `make tests_integration`.
This commit is contained in:
@@ -360,6 +360,11 @@ if(${PX4_PLATFORM} STREQUAL "posix")
|
||||
if (NOT CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Install path prefix" FORCE)
|
||||
endif()
|
||||
|
||||
# mavsdk integration tests — defined as an ExternalProject_Add target;
|
||||
# EXCLUDE_FROM_ALL, so only built when explicitly requested
|
||||
# (e.g. `make mavsdk_tests` or `make tests_integration`).
|
||||
include(mavsdk_tests)
|
||||
endif()
|
||||
|
||||
include(ccache)
|
||||
|
||||
49
cmake/mavsdk_tests.cmake
Normal file
49
cmake/mavsdk_tests.cmake
Normal file
@@ -0,0 +1,49 @@
|
||||
############################################################################
|
||||
#
|
||||
# Copyright (c) 2026 PX4 Development Team. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name PX4 nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
# mavsdk_tests is a black-box MAVLink integration-test driver that talks to a
|
||||
# running PX4 over UDP. It does not depend on any specific simulator backend
|
||||
# (sitl_gazebo-classic, gz, sih, jmavsim, ...) — it just needs a PX4 binary
|
||||
# to be running. Defined here at the top level rather than under any sitl
|
||||
# backend file so the dependency graph is honest.
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(mavsdk_tests
|
||||
SOURCE_DIR ${PX4_SOURCE_DIR}/test/mavsdk_tests
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
|
||||
BINARY_DIR ${PX4_BINARY_DIR}/mavsdk_tests
|
||||
INSTALL_COMMAND ""
|
||||
USES_TERMINAL_CONFIGURE true
|
||||
USES_TERMINAL_BUILD true
|
||||
EXCLUDE_FROM_ALL true
|
||||
BUILD_ALWAYS 1
|
||||
)
|
||||
@@ -247,16 +247,3 @@ if(gazebo_FOUND)
|
||||
add_custom_target(gazebo-classic DEPENDS gazebo-classic_iris) # alias
|
||||
add_custom_target(gazebo DEPENDS gazebo-classic_iris) # alias
|
||||
endif()
|
||||
|
||||
# mavsdk tests DO NOT depend on sitl_gazebo
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(mavsdk_tests
|
||||
SOURCE_DIR ${PX4_SOURCE_DIR}/test/mavsdk_tests
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
|
||||
BINARY_DIR ${PX4_BINARY_DIR}/mavsdk_tests
|
||||
INSTALL_COMMAND ""
|
||||
USES_TERMINAL_CONFIGURE true
|
||||
USES_TERMINAL_BUILD true
|
||||
EXCLUDE_FROM_ALL true
|
||||
BUILD_ALWAYS 1
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user