|
Tags: 2017 source edit, Replaced |
(104 intermediate revisions by 12 users not shown) |
Line 1: |
Line 1: |
− | <noinclude>__TOC__ | + | <noinclude>{{documentation/versioncheck}}</noinclude> |
− | ={{#titleparts: {{PAGENAME}} | | -1 }}=</noinclude><includeonly>
| |
− | ='''Developer FAQ: {{{1}}}'''=
| |
− | </includeonly>
| |
− | == What is an extension ? ==
| |
− | {{:Documentation/{{documentation/version}}/Extensions/Description}}
| |
| | | |
− | == Is --launch flag available for a MacOSX installed Slicer.app ==
| + | {{documentation/banner |
− | | + | | text = [https://slicer.readthedocs.io/en/latest/developer_guide/extensions.html#frequently-asked-questions This page has been moved to read-the-docs.] |
− | On MacOSx, running Slicer with the --help argument does NOT list the usual launcher related options.
| + | | background-color = 8FBC8F }} |
− | | |
− | $ ./Slicer.app/Contents/MacOS/Slicer --help
| |
− | Usage | |
− | Slicer [options]
| |
− |
| |
− | Options
| |
− | --, --ignore-rest Ignores the rest of the labeled arguments following this flag. (default: false)
| |
− | -h, --help Display available command line arguments.
| |
− | [...]
| |
− | --version Displays version information and exits.
| |
− | | |
− | To provide some background information, when generating the package that will be distributed, an application bundle <code>Slicer.app</code> is created. As explained [http://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html here], a bundle is a directory with a standardized hierarchical structure that holds executable code and the resources used by that code. It means that since all libraries contained within a bundle are referenced relatively to the location of either the CLI or the Slicer executable, the use of launcher does NOT make sens.
| |
− | | |
− | To help fixing-up the libraries, executables and plugins so that they reference each other in a relative way, CMake provides us with the [http://www.cmake.org/cmake/help/v2.8.8/cmake.html#module:BundleUtilities BundleUtilities] module.
| |
− | | |
− | This module is used in two situations:
| |
− | # Fixup of Slicer application itself. See [https://github.com/Slicer/Slicer/blob/master/CMake/SlicerCPack.cmake#L36-68 SlicerCPack.cmake#L36-68] and [https://github.com/Slicer/Slicer/blob/master/CMake/SlicerCPackBundleFixup.cmake.in SlicerCPackBundleFixup.cmake.in]
| |
− | # Fixup of an extension package. See [https://github.com/Slicer/Slicer/blob/master/CMake/SlicerExtensionCPack.cmake#L126-143 SlicerExtensionCPack.cmake#L126-143] and [https://github.com/Slicer/Slicer/blob/master/CMake/SlicerExtensionCPackBundleFixup.cmake.in SlicerExtensionCPackBundleFixup.cmake.in]
| |