diff options
Diffstat (limited to 'ament_cmake_gtest.spec')
| -rw-r--r-- | ament_cmake_gtest.spec | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/ament_cmake_gtest.spec b/ament_cmake_gtest.spec new file mode 100644 index 0000000..334fe69 --- /dev/null +++ b/ament_cmake_gtest.spec @@ -0,0 +1,76 @@ +# topdir: ament_cmake_gtest-2.9.2 (monorepo ament_cmake, package subdirectory: ament_cmake_gtest/) +%define ros_distro humble +%define RosPkgName ament-cmake-gtest + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 2.9.2 +Release: 1%{?dist} +Summary: The ability to add gtest-based tests in the ament buildsystem in CMake +License: Apache-2.0 +URL: https://github.com/ament/ament_cmake +Source0: https://github.com/ament/ament_cmake/archive/refs/heads/rolling.tar.gz#/ament_cmake_gtest-%{version}.tar.gz + +# debug subpackage meaningless under /opt prefix +%global debug_package %{nil} +# suppress python bytecode compilation into standard sitelib paths +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') +# ROS packages under /opt/ros use ament indirect dependency model, not RPM autodeps +%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ +%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ + +BuildRequires: cmake +BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: ros-%{ros_distro}-ament-cmake-core +BuildRequires: ros-%{ros_distro}-ament-cmake-test +BuildRequires: gtest-devel + +Requires: ros-%{ros_distro}-ros-workspace +Requires: ros-%{ros_distro}-ament-cmake +Requires: ros-%{ros_distro}-ament-cmake-test +Requires: gtest-devel + +# virtual subpackage aliases (single-package strategy per ROS SIG template) +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description +The ability to add gtest-based tests in the ament buildsystem in CMake. +This package provides CMake macros (ament_add_gtest, ament_add_gtest_executable, +ament_add_gtest_test, ament_find_gtest) to integrate Google Test into the +ament build system. + +%prep +%autosetup -n ament_cmake_gtest-%{version} + +%build +# ROS base environment (guard for missing setup.sh in minimal buildroots) +[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH} +export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH} + +# Build inside the ament_cmake_gtest subdirectory of the monorepo +cd ament_cmake_gtest +mkdir -p .obj +cd .obj +cmake \ + -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ + -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -UINCLUDE_INSTALL_DIR -ULIB_INSTALL_DIR -USYSCONF_INSTALL_DIR -USHARE_INSTALL_PREFIX -ULIB_SUFFIX \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DBUILD_TESTING=OFF \ + .. +make %{?_smp_mflags} + +%install +[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true +cd ament_cmake_gtest/.obj +make install DESTDIR=%{buildroot} + +%files +/opt/ros/%{ros_distro} + +%changelog +* Sat Oct 10 2026 ROS_Bot <ROS_Bot@openeuler.org> - 2.9.2-1 +- Initial package |
