summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-09-20 02:56:21 +0000
committerCoprDistGit <infra@openeuler.org>2026-09-20 02:56:21 +0000
commit9deb51153c26f47da56be03c40ef40b9b5ac4afb (patch)
treee4c655a6c3591211ba1d87ccef3a4ed508414c8e
parentc80f55f8f3a924cd7d676483c4b63f967bc1a407 (diff)
automatic import of ros-humble-cartographer-ros
-rw-r--r--cartographer-ros.spec4
1 files changed, 4 insertions, 0 deletions
diff --git a/cartographer-ros.spec b/cartographer-ros.spec
index fb13413..3dd8eed 100644
--- a/cartographer-ros.spec
+++ b/cartographer-ros.spec
@@ -90,6 +90,8 @@ Cartographer is a system that provides real-time simultaneous localization
source /opt/ros/%{ros_distro}/setup.sh 2>/dev/null || 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}
+# GUARDED_BY / EXCLUSIVE_LOCKS_REQUIRED 是 Abseil 的 Clang 线程安全注解,GCC 不原生支持。
+# 通过 cmake 的 -DCMAKE_CXX_FLAGS 传入空宏定义,避免 shell 对括号的二次解析。
cd cartographer_ros
mkdir -p .obj && cd .obj
%cmake3 \
@@ -99,6 +101,8 @@ mkdir -p .obj && cd .obj
-UINCLUDE_INSTALL_DIR -ULIB_INSTALL_DIR -USYSCONF_INSTALL_DIR -USHARE_INSTALL_PREFIX -ULIB_SUFFIX \
-DSETUPTOOLS_DEB_LAYOUT=OFF \
-DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \
+ -DABSL_PROPAGATE_CXX_STD=ON \
+ "-DCMAKE_CXX_FLAGS=%{optflags} -DGUARDED_BY(x)= -DEXCLUSIVE_LOCKS_REQUIRED(x)= -DGUARDED_BY_CONTENTION(x)= -DSHARED_LOCKS_REQUIRED(x)=" \
..
make %{?_smp_mflags}