1. 11 Jan, 2013 1 commit
    • jcfr's avatar
      COMP: Add ITKFactoryRegistration library centralizing ITK IO factory registration · 03b89614
      jcfr authored
      This commit will ensure that ITK IO factory are properly registered on all
      supported platforms.
      
      When ITKv4 is build shared, the library holding the factory registration code
      are build statically. As a consequence, when CLI module are loaded as library
      the factory are registered multiple times. Around 800 factories where registered
      and this was leading to poor performance when loading images.
      
      This commit enable the building of a shared library named ITKFactoryRegistration
      that should be linked against to ensure loading of the factory. This approach
      can succeed thanks to the help of the ITK variable ITK_NO_IO_FACTORY_REGISTER_MANAGER.
      
      This variable allow to disable the automatic registration of factory in selected part
      of the code.
      
      The following two cases are handled:
       - Registration of the factories within the Slicer executable.
       - Registration of the factories within CLI executable.
      
      Fixes #2813
      
      From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@21592 3bd1e089-480b-0410-8dfb-8563597acbee
      03b89614
  2. 31 Dec, 2012 4 commits
  3. 06 Dec, 2012 1 commit
    • jcfr's avatar
      ENH: Support per user per revision extensions settings · e6fb116c
      jcfr authored
      There is now a clear distinction between:
       - userSettings -> i.e. ~/.config/NA-MIC/Slicer.ini
       - revisionUserSettings -> i.e. ~/.config/NA-MIC/Slicer-<revision>.ini
      
      The following slicer settings are now revision specific:
       - Extensions/ManagerEnabled
       - Extensions/ServerUrl
       - Extensions/InstallPath
       - Modules/AdditonalPath
       - Modules/IgnoreModules
      
      Additionally, the launcher version has also been updated to be able to
      consider settings associated with a user, application and revision. This is
      captured by the new parameter APPLICATION_REVISION, ORGANIZATION_DOMAIN,
      ORGANIZATION_NAME and USER_ADDITIONAL_SETTINGS_FILEBASENAME passed to the CMake
      function "ctkAppLauncherConfigure".
      
      qSlicerCoreApplication API has also been extended and now includes methods
      like:
        - QSettings* userSettings()  [settings() method is deprecated and kept for backward compatibility]
        - QSettings* revisionUserSettings()
        - QString launcherRevisionUserSettingsFilePath()
        - QString slicerUserSettingsFilePath()
        - QString slicerRevisionUserSettingsFilePath()
      
      In addition to the settings, the extensions install path is also revision
      specific, it means that it's now possible to have multiple version of slicer
      running with different set of extensions.
      
      Fixes #2791, #2143, #2720, #2533
      
      
      Since the version of the launcher is updated, launcher will return EXIT_FAILURE
      also when no application is been set in the launcher settings.
      
      Fixes #2767
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@21482 3bd1e089-480b-0410-8dfb-8563597acbee
      e6fb116c
  4. 18 Nov, 2012 1 commit
  5. 31 Oct, 2012 3 commits
  6. 27 Oct, 2012 1 commit
  7. 23 Oct, 2012 2 commits
  8. 16 Oct, 2012 1 commit
  9. 12 Oct, 2012 1 commit
  10. 11 Oct, 2012 1 commit
  11. 05 Oct, 2012 1 commit
  12. 26 Sep, 2012 1 commit
  13. 25 Sep, 2012 1 commit
  14. 10 Sep, 2012 2 commits
  15. 23 Aug, 2012 1 commit
  16. 24 Jul, 2012 1 commit
  17. 20 Jul, 2012 1 commit
  18. 10 Jul, 2012 3 commits
  19. 05 Jul, 2012 1 commit
    • jcfr's avatar
      ENH: Extensions can now be built with Slicer proper · defd86d6
      jcfr authored
      Assuming the top-level folder name matches the extension name, it is now
      possible to configure Slicer so that it also builds a chosen set of
      extension source directories. If a package is generated,
      these extensions will also be packaged.
      
      Configuring Slicer passing the option "Slicer_EXTENSION_SOURCE_DIRS" will
      achieve the desired goal.
      
      For example, if we want to bundle within Slicer extensions "MinimalistiCli" and "SkullStripper",
      the following could be done:
      
       cmake -DSlicer_EXTENSION_SOURCE_DIRS:STRING=/home/jchris/Projects/MinimalistiCli\;/home/jchris/Projects/SkullStripper .
      
      The associated build tree will then be located in:
        /path/to/Slicer-Superbuild-Release/Slicer-build/Extensions/MinimalistiCli and
      /path/to/Slicer-Superbuild-Release/Slicer-build/Extensions/SkullStripper
      
      See http://na-mic.org/Mantis/view.php?id=2293
      
      Fixes #2293
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@20576 3bd1e089-480b-0410-8dfb-8563597acbee
      defd86d6
  20. 28 Jun, 2012 2 commits
  21. 27 Jun, 2012 1 commit
  22. 18 Jun, 2012 1 commit
  23. 11 Jun, 2012 1 commit
  24. 06 Jun, 2012 1 commit
  25. 03 Jun, 2012 1 commit
  26. 28 May, 2012 1 commit
    • jcfr's avatar
      BUG: Fix extension bundling and simplify mechanism used to specify the main application · abdde218
      jcfr authored
      1) In Applications/SlicerApp/CMakeLists.txt:
      
        Improve comment explaining what should be considered when adding an other
      application into Applications folder.
      
        Given the fact Slicer_APPLICATION_NAME is used locally, minimize confusion
      by renaming variable renaming it into SlicerApp_APPLICATION_NAME.
      
        In case the application being configured is the *Main* application,
      explicitly compare "PROJECT_NAME" with "Slicer_MAIN_PROJECT".
      
      
      2) Rename variable Slicer_APPLICATION_NAME used to identified the main
      application into Slicer_MAIN_PROJECT_APPLICATION_NAME. This will
      minimize confusion and help maintaining the code.
      
      3) Let's note that the mechanism used to fixup application should probably
      be extended to account for other application build in the Applications folder.
      
      4) In top-level CMakeLists, move code specific to main application description
      into its own section.
      
      5) Configure variable "Slicer_MAIN_PROJECT" and "Slicer_MAIN_PROJECT_APPLICATION_NAME"
      into SlicerConfig so that "SlicerExtensionCPackBundleFixup" could successfully
      refer to Slicer_MAIN_PROJECT_APPLICATION_NAME. This closes #2130
      
      See http://www.na-mic.org/Bug/view.php?id=2130
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@20272 3bd1e089-480b-0410-8dfb-8563597acbee
      abdde218
  27. 27 May, 2012 1 commit
    • jcfr's avatar
      COMP: Configuring to use External Data. · 4c1f7612
      jcfr authored
      Patch contributed by Jim Miller
      
      Using mechanisms developed for ITKv4 to store test and baseline data
      on a web resource (Midas or other website).
      
      Data can be referenced using content based hashing scheme.
      
      Still need to configure Extensions to use the Slicer object store.
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@20163 3bd1e089-480b-0410-8dfb-8563597acbee
      4c1f7612
  28. 25 May, 2012 1 commit
  29. 16 May, 2012 1 commit
  30. 11 May, 2012 1 commit
    • jcfr's avatar
      ENH: Enforce the use of Qt 4.7.4. Fixes #2024 · 99f950f2
      jcfr authored
      Note that developer can still specify a different version of Qt passing
       the CMake variable "Slicer_REQUIRED_QT_VERSION"
      
      For example:
      
        $ cmake -DSlicer_REQUIRED_QT_VERSION:STRING=4.8.0 -DQT_QMAKE_EXECUTABLE:FILEPATH=/home/jchris/Projects/QtSDK-1.2/Desktop/Qt/4.8.0/gcc/bin/qmake ../Slicer4
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@20069 3bd1e089-480b-0410-8dfb-8563597acbee
      99f950f2