Merge branch 'cmake-rpath'
This commit is contained in:
commit
dd07a28e5d
@ -29,6 +29,7 @@ _ecmPropagateSharedData() {
|
|||||||
|
|
||||||
_ecmConfig() {
|
_ecmConfig() {
|
||||||
# Because we need to use absolute paths here, we must set *all* the paths.
|
# Because we need to use absolute paths here, we must set *all* the paths.
|
||||||
|
cmakeFlags+=" -DKDE_SKIP_RPATH_SETTINGS=TRUE"
|
||||||
cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
|
cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
|
||||||
cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
|
cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
|
||||||
cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
|
cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
|
||||||
|
@ -112,7 +112,7 @@ EOF
|
|||||||
|
|
||||||
# Set PATH to find qmake first in a preConfigure hook
|
# Set PATH to find qmake first in a preConfigure hook
|
||||||
# It must run after all the envHooks!
|
# It must run after all the envHooks!
|
||||||
postHooks+=(_qtSetQmakePath)
|
preConfigureHooks+=(_qtSetQmakePath)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
qt5LinkModuleDir() {
|
qt5LinkModuleDir() {
|
||||||
@ -122,10 +122,23 @@ qt5LinkModuleDir() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
qt5LinkModuleDir @out@ "lib"
|
NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@"
|
||||||
|
NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@"
|
||||||
|
|
||||||
qt5LinkModuleDir @dev@ "bin"
|
_qtLinkAllModules() {
|
||||||
qt5LinkModuleDir @dev@ "include"
|
IFS=: read -a modules <<< $NIX_QT5_MODULES
|
||||||
qt5LinkModuleDir @dev@ "lib"
|
for module in ${modules[@]}; do
|
||||||
qt5LinkModuleDir @dev@ "mkspecs"
|
qt5LinkModuleDir "$module" "lib"
|
||||||
qt5LinkModuleDir @dev@ "share"
|
done
|
||||||
|
|
||||||
|
IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV
|
||||||
|
for module in ${modules[@]}; do
|
||||||
|
qt5LinkModuleDir "$module" "bin"
|
||||||
|
qt5LinkModuleDir "$module" "include"
|
||||||
|
qt5LinkModuleDir "$module" "lib"
|
||||||
|
qt5LinkModuleDir "$module" "mkspecs"
|
||||||
|
qt5LinkModuleDir "$module" "share"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
preConfigureHooks+=(_qtLinkAllModules)
|
||||||
|
@ -1,7 +1,2 @@
|
|||||||
qt5LinkModuleDir @out@ "lib"
|
NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@"
|
||||||
|
NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@"
|
||||||
qt5LinkModuleDir @dev@ "bin"
|
|
||||||
qt5LinkModuleDir @dev@ "include"
|
|
||||||
qt5LinkModuleDir @dev@ "lib"
|
|
||||||
qt5LinkModuleDir @dev@ "mkspecs"
|
|
||||||
qt5LinkModuleDir @dev@ "share"
|
|
||||||
|
@ -47,9 +47,15 @@ cmakeConfigurePhase() {
|
|||||||
cmakeFlags="-DCMAKE_INSTALL_LIBDIR=${!outputLib}/lib $cmakeFlags"
|
cmakeFlags="-DCMAKE_INSTALL_LIBDIR=${!outputLib}/lib $cmakeFlags"
|
||||||
cmakeFlags="-DCMAKE_INSTALL_INCLUDEDIR=${!outputDev}/include $cmakeFlags"
|
cmakeFlags="-DCMAKE_INSTALL_INCLUDEDIR=${!outputDev}/include $cmakeFlags"
|
||||||
|
|
||||||
# Avoid cmake resetting the rpath of binaries, on make install
|
# Always build Release, to ensure optimisation flags.
|
||||||
# And build always Release, to ensure optimisation flags
|
cmakeFlags="-DCMAKE_BUILD_TYPE=Release $cmakeFlags"
|
||||||
cmakeFlags="-DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags"
|
# Do not change the RPATH between build and install, simply
|
||||||
|
# build with the correct RPATH in the first place.
|
||||||
|
cmakeFlags="-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE $cmakeFlags"
|
||||||
|
# Do not try to guess the correct RPATH based on linker flags.
|
||||||
|
cmakeFlags="-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE $cmakeFlags"
|
||||||
|
# Just use exactly our RPATH.
|
||||||
|
cmakeFlags="-DCMAKE_INSTALL_RPATH=$CMAKE_INSTALL_RPATH $cmakeFlags"
|
||||||
|
|
||||||
echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}"
|
echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}"
|
||||||
|
|
||||||
@ -77,6 +83,7 @@ makeCmakeFindLibs(){
|
|||||||
;;
|
;;
|
||||||
-L*)
|
-L*)
|
||||||
export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}"
|
export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}"
|
||||||
|
export CMAKE_INSTALL_RPATH="$CMAKE_INSTALL_RPATH${CMAKE_INSTALL_RPATH:+:}${flag:2}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user