Skip to content
  • jcfr's avatar
    ENH: Extension package are now properly "fixed up" on MacOX · ac842fee
    jcfr authored
    * Disable CMAKE_INSTALL_NAME_TOOL when packaging extension, that way all
    installed library will contain the full path to their direct dependencies provided
    by the extension itself. Doing so will allow the to properly fix all libraries.
    
    * Copy SlicerCompleteBundle.cmake.in into SlicerExtensionCompleteBundle.cmake.in,
    also copy function "get_bundle_keys" and "fixup_bundle" from BundleUtilities.cmake
    and respectively rename them into "get_extension_keys" and "fixup_extension".
    This has been motivated by the fact there is no executable available within the
    "Slicer.app/Contents/MacOS" directory. It means we have to "fake" it by
    commenting the function which was explicitly checking for the existence
    of an executable. For instance, "get_bundle_and_executable" has been commented out.
    The variable "exepath" is now explicitly set within the function "fixup_extension"
    and "get_extension_keys"
    
    * To speed up the "fixup" process, "get_prerequisites" is called with
    "recurse" parameter set to "0".
    
    * Note also that since all the libraries available under the Slicer superbuild
    directory have already been fixed up, the "fixup_extension" function
    check if a given item is located within a sub directory of "Slicer_SUPERBUILD_DIR".
    If it's the case, the item will be skipped.
    
    * The install directory being different within the bundle, the CMake block
    "SlicerBlockUploadExtensionPrerequisites" has been updated to "patch"
    the *MODULES_*_DIR" variable with "Slicer_BUNDLE_EXTENSIONS_LOCATION".
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@19644 3bd1e089-480b-0410-8dfb-8563597acbee
    ac842fee