From 294396ff0c6e6eabb83c31d0254ddf79192541de Mon Sep 17 00:00:00 2001 From: vagrant Date: Thu, 23 Apr 2026 16:35:23 +0900 Subject: [PATCH] Added check for existence of SSM library directory. --- CMakeLists.txt | 14 ++++++++++++++ packages/deb/debian/rules.ros2-only-support.in | 3 ++- src/ext/transport/SSMTransport/CMakeLists.txt | 4 ++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9299ee35c..b0beacb6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -128,6 +128,13 @@ elseif(UNIX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --param max-inline-insns-single=1000 --param inline-unit-growth=1000 --param large-function-growth=2000") endif() endif() + if(SSM_ROOT) + if(IS_DIRECTORY "${SSM_ROOT}/lib64") + set(SSM_LIB_PATH "${SSM_ROOT}/lib64") + else() + set(SSM_LIB_PATH "${SSM_ROOT}/lib") + endif() + endif() else() set(INSTALL_RTM_SCRIPT_DIR lib/openrtm-${RTM_MAJOR_VERSION}.${RTM_MINOR_VERSION}/py_helper) set(INSTALL_RTM_BIN_DIR bin) @@ -141,6 +148,13 @@ else() set(INSTALL_RTM_CMAKE_DIR lib/openrtm-${RTM_MAJOR_VERSION}.${RTM_MINOR_VERSION}/cmake) set(INSTALL_RTM_ETC_DIR etc) set(INSTALL_RTM_SHARE_DIR share) + if(SSM_ROOT) + if(IS_DIRECTORY "${SSM_ROOT}/lib64") + set(SSM_LIB_PATH "${SSM_ROOT}/lib64") + else() + set(SSM_LIB_PATH "${SSM_ROOT}/lib") + endif() + endif() endif(MSVC) set(HTTP_ENABLE FALSE CACHE BOOL "set HTTP_ENABLE") diff --git a/packages/deb/debian/rules.ros2-only-support.in b/packages/deb/debian/rules.ros2-only-support.in index 638f761fa..2c192743a 100755 --- a/packages/deb/debian/rules.ros2-only-support.in +++ b/packages/deb/debian/rules.ros2-only-support.in @@ -20,6 +20,7 @@ INSTALL_PREFIX = @CMAKE_INSTALL_PREFIX@ RTM_LIB_DIR=@INSTALL_RTM_LIB_DIR@ RTM_EXT_DIR=@INSTALL_RTM_EXT_DIR@ ROS2TRANSPORT_CMAKE_DIR=@INSTALL_ROS2TRANSPORT_CMAKE_DIR@ +SSM_LIB_DIR=@SSM_LIB_PATH@ # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) @@ -158,7 +159,7 @@ install-arch: (mkdir -p $(TARGET_ssm)/etc/transport) (cp $(INSTALL_PREFIX)/etc/transport/rtc.ssm.conf $(TARGET_ssm)/etc/transport) (mkdir -p $(TARGET_ssm)/${RTM_LIB_DIR}) - (cp -a /usr/local/lib64/libssm.so* $(TARGET_ssm)/${RTM_LIB_DIR}) + (cp -a ${SSM_LIB_DIR}/libssm.so* $(TARGET_ssm)/${RTM_LIB_DIR}) (mkdir -p $(TARGET_ssm)/bin) (cp -r /usr/local/bin/*ssm* $(TARGET_ssm)/bin) diff --git a/src/ext/transport/SSMTransport/CMakeLists.txt b/src/ext/transport/SSMTransport/CMakeLists.txt index 8c68a8738..806a8c9ec 100644 --- a/src/ext/transport/SSMTransport/CMakeLists.txt +++ b/src/ext/transport/SSMTransport/CMakeLists.txt @@ -11,8 +11,8 @@ set(SSM_ROOT ${SSM_ROOT} CACHE PATH "set SSM_ROOT") if(SSM_ROOT) - link_directories(${SSM_ROOT}/lib ${SSM_ROOT}/lib64) - set(SSM_LIBRARY "-Wl,--whole-archive" "${SSM_ROOT}/lib64/libssm.a" "-Wl,--no-whole-archive") + link_directories(${SSM_LIB_PATH}) + set(SSM_LIBRARY "-Wl,--whole-archive" "${SSM_LIB_PATH}/libssm.a" "-Wl,--no-whole-archive") endif() if(WIN32)