From 9c965e9f08074b5dd17ff52d5569c9302bc47c3c Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 28 Jul 2026 04:19:01 +0200 Subject: [PATCH] Set IfcConvert install RPATH Configure the executable to find installed shared libraries without relying on the build-tree runtime paths. --- src/ifcconvert/CMakeLists.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/ifcconvert/CMakeLists.txt b/src/ifcconvert/CMakeLists.txt index 98a83932d3..474e4fcf92 100644 --- a/src/ifcconvert/CMakeLists.txt +++ b/src/ifcconvert/CMakeLists.txt @@ -24,4 +24,19 @@ set_target_properties(IfcConvert PROPERTIES "PATH=%PATH%;$,;>;${_plugin_paths}" ) +if((NOT WIN32) AND BUILD_SHARED_LIBS AND NOT WASM_BUILD AND NOT CREATE_BUNDLE AND NOT CMAKE_INSTALL_RPATH AND COMMAND SET_INSTALL_RPATHS) + if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") + SET_INSTALL_RPATHS(IfcConvert "${CMAKE_INSTALL_LIBDIR}") + elseif(IS_ABSOLUTE "${CMAKE_INSTALL_BINDIR}") + SET_INSTALL_RPATHS(IfcConvert "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + else() + file(RELATIVE_PATH _ifcconvert_libdir_from_bindir "/${CMAKE_INSTALL_BINDIR}" "/${CMAKE_INSTALL_LIBDIR}") + if(APPLE) + SET_INSTALL_RPATHS(IfcConvert "@executable_path/${_ifcconvert_libdir_from_bindir}") + else() + SET_INSTALL_RPATHS(IfcConvert "$ORIGIN/${_ifcconvert_libdir_from_bindir}") + endif() + endif() +endif() + install(TARGETS IfcConvert)