Set IfcConvert install RPATH

Configure the executable to find installed shared libraries without relying on the build-tree runtime paths.
This commit is contained in:
Thomas Krijnen
2026-07-28 04:19:01 +02:00
parent e122f2cec3
commit 9c965e9f08
+15
View File
@@ -24,4 +24,19 @@ set_target_properties(IfcConvert PROPERTIES
"PATH=%PATH%;$<JOIN:$<TARGET_RUNTIME_DLL_DIRS:IfcConvert>,;>;${_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)