Merge topic 'cpack-deb-autodep-ORIGIN-RPATH'

e8daee5b CPack/Deb $ORIGIN handling in rpath
b8263a2f CPack/Deb Create DEBIAN directory for dpkg-shlibdeps
This commit is contained in:
Brad King 2016-02-19 09:47:44 -05:00 committed by CMake Topic Stage
commit 509b1f08ea
2 changed files with 12 additions and 0 deletions

View File

@ -0,0 +1,6 @@
cpack-deb-autodep-ORIGIN-RPATH
--------------------------------
* The "CPackDeb" module learned how to handle ``$ORIGIN``
in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS`
is used for dependency auto detection.

View File

@ -504,6 +504,9 @@ function(cpack_deb_prepare_package_vars)
file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian) file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian)
file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control "") file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control "")
# Create a DEBIAN directory so that dpkg-shlibdeps can find the package dir when resolving $ORIGIN.
file(MAKE_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}/DEBIAN")
# Add --ignore-missing-info if the tool supports it # Add --ignore-missing-info if the tool supports it
execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --help execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --help
OUTPUT_VARIABLE _TMP_HELP OUTPUT_VARIABLE _TMP_HELP
@ -544,6 +547,9 @@ function(cpack_deb_prepare_package_vars)
# Remove blank control file # Remove blank control file
# Might not be safe if package actual contain file or directory named debian # Might not be safe if package actual contain file or directory named debian
file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/debian") file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/debian")
# remove temporary directory that was created only for dpkg-shlibdeps execution
file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/DEBIAN")
else() else()
if(CPACK_DEBIAN_PACKAGE_DEBUG) if(CPACK_DEBIAN_PACKAGE_DEBUG)
message(AUTHOR_WARNING "CPackDeb Debug: Using only user-provided depends because package does not contain executable files that link to shared libraries.") message(AUTHOR_WARNING "CPackDeb Debug: Using only user-provided depends because package does not contain executable files that link to shared libraries.")