From 2a3bfb7aea594abc1417b95249fc6b3cc8eff1bd Mon Sep 17 00:00:00 2001 From: Copilot Date: Mon, 20 Jul 2026 12:49:37 +0200 Subject: [PATCH] cmake: robustly locate RTI libraries via recursive search under RTI_DIR --- cmake/FindRTI.cmake | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/cmake/FindRTI.cmake b/cmake/FindRTI.cmake index faf173ec5..4c978d0ce 100755 --- a/cmake/FindRTI.cmake +++ b/cmake/FindRTI.cmake @@ -145,10 +145,20 @@ INCLUDE(FindLibraryWithDebug) INCLUDE(FindPackageHandleStandardArgs) -SET(_RTI_LIBS nddscore nddsc nddscpp2 rtiroutingservice) -SET(_libs "") -SET(_lib_vars "") - +SET(_RTI_LIBS nddscore nddsc nddscpp2 rtiroutingservice) +SET(_libs "") +SET(_lib_vars "") + +# Try recursive search for RTI libraries under RTI_DIR to handle vendor arch subdirs (e.g. x64Linux4gcc8.5.0) +foreach(_lib IN LISTS _RTI_LIBS) + file(GLOB_RECURSE _found_libs "${RTI_DIR}/lib/**/lib${_lib}.*") + list(LENGTH _found_libs _found_count) + if(_found_count GREATER 0) + list(GET _found_libs 0 _first) + set("RTI_${_lib}_LIBRARY" "${_first}" CACHE STRING "RTI library ${_lib}" FORCE) + endif() +endforeach() + FOREACH(_lib ${_RTI_LIBS}) SET(_libname "RTI_${_lib}_LIBRARY") IF (NOT ${_libname})