iLCSoft / LCIO

Linear Collider I/O
BSD 3-Clause "New" or "Revised" License
17 stars 34 forks source link

Linker #121

Closed petricm closed 3 years ago

petricm commented 3 years ago

resolves #118 BEGINRELEASENOTES

ENDRELEASENOTES

rete commented 3 years ago

@gaede Do you remember what is the default rpath settings in a iLCSoft installation? Do we set this or not? In other words, what should be the default value here and do we need to update iLCInstall scripts to set -DLCIO_SET_RPATH=ON/OFF?

gaede commented 3 years ago

We always built iLCSoft with rpath: https://github.com/iLCSoft/iLCUtil/blob/master/cmakemodules/ilcsoft_default_rpath_settings.cmake, so no need to specify anything in ilcinstall. We need make sure, however that the settings in this PR and in ilcutil are compatible...

petricm commented 3 years ago

What is here for the linux rpath follows official CMake instruction on full rpath https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling#always-full-rpath the only difference to iLCSoft is that ilcsoft_default_rpath_settings.cmake is missing

# use, i.e. don't skip the full RPATH for the build tree
set(CMAKE_SKIP_BUILD_RPATH FALSE)
# when building, don't use the install RPATH already
# (but later on when installing)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)

and the system dir treatment.

As for the mac treatment, there is a long story on @rpath here or here, but in short this is way DD4hap and ROOT are built on macOS.

petricm commented 3 years ago

So, if you look in detail, this is the same as it was before with the added option to disable rpath

petricm commented 3 years ago

I was probably not clear. This PR does not change existing LCIO rpath behaviour, it just adds options.