mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 21:32:12 +02:00
classes/cmake: Use relative RPATHs
In most cases, the RPATH is stripped out when the ELF file is packages, but by then the damage is done from a reproducible perspective because this absolute path is hashed as part of the build-id generated at link time ([1] has a good explanation). Fortunately, newer cmake has an option to generated relative RPATHs that use $ORIGIN to set the path, so set it in the toolchain file. [1]: https://gitlab.kitware.com/cmake/cmake/issues/18413 (From OE-Core rev: 44e77d3f97af4cd4ad8bc0984f093a116a830986) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
73aaa52392
commit
9582fec24a
@@ -120,6 +120,9 @@ set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf )
|
||||
# directory as rpath by default
|
||||
set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} )
|
||||
|
||||
# Use RPATHs relative to build directory for reproducibility
|
||||
set( CMAKE_BUILD_RPATH_USE_ORIGIN ON )
|
||||
|
||||
# Use our cmake modules
|
||||
list(APPEND CMAKE_MODULE_PATH "${STAGING_DATADIR}/cmake/Modules/")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user