Properly set install RPATHS for cmake builds.
This commit is contained in:
parent
2a0e33876e
commit
51ed0d3f6f
@ -183,6 +183,10 @@ def set_module_variables_for_package(pkg):
|
|||||||
if platform.mac_ver()[0]:
|
if platform.mac_ver()[0]:
|
||||||
m.std_cmake_args.append('-DCMAKE_FIND_FRAMEWORK=LAST')
|
m.std_cmake_args.append('-DCMAKE_FIND_FRAMEWORK=LAST')
|
||||||
|
|
||||||
|
# Set up CMake rpath
|
||||||
|
m.std_cmake_args.append('-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE')
|
||||||
|
m.std_cmake_args.append('-DCMAKE_INSTALL_RPATH=%s' % ":".join(get_rpaths(pkg)))
|
||||||
|
|
||||||
# Emulate some shell commands for convenience
|
# Emulate some shell commands for convenience
|
||||||
m.pwd = os.getcwd
|
m.pwd = os.getcwd
|
||||||
m.cd = os.chdir
|
m.cd = os.chdir
|
||||||
@ -202,6 +206,16 @@ def set_module_variables_for_package(pkg):
|
|||||||
m.prefix = pkg.prefix
|
m.prefix = pkg.prefix
|
||||||
|
|
||||||
|
|
||||||
|
def get_rpaths(pkg):
|
||||||
|
"""Get a list of all the rpaths for a package."""
|
||||||
|
rpaths = [pkg.prefix.lib, pkg.prefix.lib64]
|
||||||
|
rpaths.extend(d.prefix.lib for d in pkg.spec.traverse(root=False)
|
||||||
|
if os.path.isdir(d.prefix.lib))
|
||||||
|
rpaths.extend(d.prefix.lib64 for d in pkg.spec.traverse(root=False)
|
||||||
|
if os.path.isdir(d.prefix.lib64))
|
||||||
|
return rpaths
|
||||||
|
|
||||||
|
|
||||||
def setup_package(pkg):
|
def setup_package(pkg):
|
||||||
"""Execute all environment setup routines."""
|
"""Execute all environment setup routines."""
|
||||||
set_compiler_environment_variables(pkg)
|
set_compiler_environment_variables(pkg)
|
||||||
|
Loading…
Reference in New Issue
Block a user