diff options
Diffstat (limited to 'cpack/fakeroot_fix.cmake')
| -rw-r--r-- | cpack/fakeroot_fix.cmake | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/cpack/fakeroot_fix.cmake b/cpack/fakeroot_fix.cmake deleted file mode 100644 index e34baa0..0000000 --- a/cpack/fakeroot_fix.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# This script works around a bug in CPack's DEB/RPM generator, which causes -# files installed by subprojects (not by the main CMake script) to end up in -# packages alongside the "real" installation directory. It probably happens due -# to CMake running under fakeroot (when invoked by CPack to prepare the files -# to be packaged) and referencing absolute paths, which would explain why the -# entire build directory tree is replicated inside the packages. What this -# script does is simply finding and deleting all directories that do not match -# the installation prefix before CPack generates the package. - -cmake_minimum_required(VERSION 3.21) - -set(_prefix ${CPACK_TEMPORARY_INSTALL_DIRECTORY}${CPACK_PACKAGING_INSTALL_PREFIX}) - -file( - GLOB_RECURSE _entries - LIST_DIRECTORIES ON - ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/* -) - -foreach(_entry IN LISTS _entries) - # Skip the entry if it (or its parent directory) has already been deleted. - if(NOT EXISTS ${_entry}) - continue() - endif() - - # Delete anything whose path doesn't start with the expected prefix. - string(FIND ${_entry} ${_prefix} _index) - if(NOT _index EQUAL 0) - message(NOTICE "Deleting unneeded entry from package: ${_entry}") - file(REMOVE_RECURSE ${_entry}) - endif() -endforeach() |
