Skip to content
  • Brad King's avatar
    install(EXPORT): Force absolute paths for usr-move · 0c727b90
    Brad King authored
    If the absolute install(EXPORT) destination for the CMAKE_INSTALL_PREFIX
    used during configuration is under (/usr)?/lib(64)? then assume the
    current build is for a system package installation instead of a
    relocatable distribution.  Generate an absolute path for _IMPORT_PREFIX
    in the target exports file instead of generating code to compute the
    value relative to the file location.  This is necessary for
    distributions implementing a move to /usr such as:
    
     https://wiki.archlinux.org/index.php/DeveloperWiki:usrlib
     "All files in the /lib directory have been moved to /usr/lib and now
      /lib is a symlink to usr/lib."
    
    The relative path computation is not reliable because the targets file
    could be installed through cross-prefix a symlink and loaded without it
    or vice versa.
    
    A similar change was made for package configuration file generation by
    commit d4774140 (configure_package_config_file: force absolute paths for
    usr-move, 2013-01-24).
    0c727b90