blob: 2dba03ac3beac8af97cf08cc0112637b07499ef9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# topdir: ament_cmake-2.9.2
# ROS 2 ament_cmake meta-package: 22 CMake-based sub-packages built in staged order
# Build type: ament_cmake (CMake with ROS ament macros)
# Staged build: sub-packages built in dependency order, each installed to staging
# area so subsequent packages can find_package() their dependencies
%global debug_package %{nil}
%global __provides_exclude_from ^/opt/ros/.*
%global __requires_exclude_from ^/opt/ros/.*
%global __os_install_post %{nil}
Name: ament_cmake
Version: 2.9.2
Release: 1%{?dist}
Summary: The entry point package for the ament buildsystem in CMake
License: Apache-2.0
URL: https://github.com/ament/ament_cmake
Source0: https://github.com/ament/ament_cmake/archive/3148e68c3a0fe34cec40c6563c9020261f010fab.tar.gz#/ament_cmake-%{version}.tar.gz
BuildArch: noarch
BuildRequires: cmake
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-ament-package
BuildRequires: python3-catkin-pkg-modules
%description
The entry point package for the ament buildsystem in CMake.
Contains the core CMake macros and utilities used by ROS 2 packages
to build with the ament build system. This meta-package aggregates
all ament_cmake sub-packages including ament_cmake_core,
ament_cmake_export_*, ament_cmake_test, ament_cmake_python, and others.
%prep
%autosetup -n %{name}-%{version} -p1
%build
# Staged build: each sub-package built and installed to staging area
# so subsequent packages can find_package() their dependencies
STAGING=%{_builddir}/staging
ROS_PREFIX=/opt/ros/humble
# Build order (topological by find_package dependencies):
# Level 0: ament_cmake_core (self-referencing cmake dir, no ament deps)
# Level 1: packages depending only on ament_cmake_core
# Level 2: packages depending on level 1 (e.g. ament_cmake_test -> python)
# Level 3: packages depending on level 2 (e.g. ament_cmake_auto -> ament_cmake)
for pkg in \
ament_cmake_core \
ament_cmake_version \
ament_cmake_export_dependencies \
ament_cmake_export_definitions \
ament_cmake_export_include_directories \
ament_cmake_export_libraries \
ament_cmake_export_link_flags \
ament_cmake_export_targets \
ament_cmake_libraries \
ament_cmake_include_directories \
ament_cmake_target_dependencies \
ament_cmake_python \
ament_cmake_gtest \
ament_cmake_gmock \
ament_cmake_google_benchmark \
ament_cmake_gen_version_h \
ament_cmake_vendor_package \
ament_cmake_test \
ament_cmake_pytest \
ament_cmake_python_test \
ament_cmake \
ament_cmake_auto
do
cmake -S ${pkg} -B build/${pkg} \
-DCMAKE_INSTALL_PREFIX=${ROS_PREFIX} \
-DCMAKE_PREFIX_PATH=${STAGING}${ROS_PREFIX} \
-DBUILD_TESTING=OFF
cmake --build build/${pkg}
DESTDIR=${STAGING} cmake --install build/${pkg}
done
%install
cp -a %{_builddir}/staging/opt %{buildroot}/opt
%files
%license LICENSE
/opt/ros/humble/
%changelog
* Fri Oct 09 2026 openEuler Builder <builder@openeuler.org> - 2.9.2-1
- Initial package
|