diff --git a/jenkins-scripts/docker/gz_transport-compilation.bash b/jenkins-scripts/docker/gz_transport-compilation.bash index d047aa176..3b0115962 100644 --- a/jenkins-scripts/docker/gz_transport-compilation.bash +++ b/jenkins-scripts/docker/gz_transport-compilation.bash @@ -32,6 +32,13 @@ if [[ ${GZ_TRANSPORT_MAJOR_VERSION} -ge 6 ]]; then export NEED_C17_COMPILER=true fi +if [[ ${GZ_TRANSPORT_MAJOR_VERSION} -ge 15 ]]; then + # gz-transport version >= 15 will use zenoh_cpp_vendor package from ROS 2 + # repo for zenoh support. Setting this env var will set up ROS env with the + # specified ROS distro in the generated build.sh script. + export ROS_DISTRO_SETUP_NEEDED="jazzy" +fi + export GZDEV_PROJECT_NAME="gz-transport${GZ_TRANSPORT_MAJOR_VERSION}" . "${SCRIPT_DIR}/lib/generic-building-base.bash" diff --git a/jenkins-scripts/docker/lib/_generic_linux_compilation_build.sh.bash b/jenkins-scripts/docker/lib/_generic_linux_compilation_build.sh.bash index 76e065548..dd6c86b5f 100644 --- a/jenkins-scripts/docker/lib/_generic_linux_compilation_build.sh.bash +++ b/jenkins-scripts/docker/lib/_generic_linux_compilation_build.sh.bash @@ -70,12 +70,32 @@ DELIM_BUILD_DEPS fi done +# Minimal ROS env setup for finding ROS packages. +# We don't need a full ROS env setup for building ROS packages or running +# ROS tests. The ROS setup here is needed by gz-transport versions >= 15 +# so that it can find ROS 2's zenoh_cpp_vendor package that is installed in +# /opt/ros/. +# See jenkins-scripts/docker/gz_transport-compilation.bash +if [[ -n ${ROS_DISTRO_SETUP_NEEDED} ]]; then +cat >> build.sh << DELIM_ROS_DISTRO_SETUP +echo '# BEGIN SECTION: sourcing ros setup script' +if [ -f /opt/ros/${ROS_DISTRO_SETUP_NEEDED}/setup.bash ]; then + source /opt/ros/${ROS_DISTRO_SETUP_NEEDED}/setup.bash +else + echo "ROS_DISTRO_SETUP_NEEDED set to ${ROS_DISTRO_SETUP_NEEDED} but no ROS 2 installation found" + exit 1 +fi +echo '# END SECTION' +DELIM_ROS_DISTRO_SETUP +fi + cat >> build.sh << DELIM echo '# BEGIN SECTION: configure' # Step 2: configure and build cd $WORKSPACE [[ ! -d $WORKSPACE/build ]] && mkdir -p $WORKSPACE/build cd $WORKSPACE/build + cmake $WORKSPACE/${SOFTWARE_DIR} ${BUILDING_EXTRA_CMAKE_PARAMS} \ -DCMAKE_INSTALL_PREFIX=/usr echo '# END SECTION'