Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Feb 5, 2015
  1. @jcfr

    ENH: Improve build targets organization in IDE that support folders

    jcfr authored
    This commit set the FOLDER property on all targets to group them
    into meaningful "units". This will make development easier ensuring
    it is possible to quickly re-build and open the source files associated
    with the targets of either a given module, the core libraries or even
    the Slicer application.
    Currently the grouping is:
    * App-SlicerApp
    * CMakePredefinedTargets
    * Core-Base
    * Core-Libs
     * FreeSurfer
     * ITKFactoryRegistration
     * [...]
    * Module-<NameOfModule>
    * [...]
    If for some reason, the folder organization needs to be disabled. Slicer
    could be configured with Slicer_USE_FOLDERS set to OFF.
    Projects updated in this commit:
    * CTK
    * SlicerExecutionModel
    * OtsuThresholdImageFilter
     (1) some of the targets (EMSegment, BRAINSTools, MultiVolume, ...)
    are still associated to the root and not yet categorized.
     (2) ideally few more  macros/functions should be introduced: one to
    easily configure subject hierarchy plugin, and one to easily configure
    tests associated with a CLI.
    CTK changes:
    // -------------
    commit commontk/CTK@ac1370e
    Author: Jean-Christophe Fillion-Robin <>
    Date:   Wed Feb 4 14:47:09 2015 -0500
        Add FOLDER parameter to ctkMacroBuildQtPlugin
        If specified, the target(s) associated with designer, icon engine and
        style plugins will be added into the specified folder when the project is
        configured for an IDE supporting it.
        For more details, see
    // -------------
    SlicerExecutionModel changes:
    // -------------
    commit Slicer/SlicerExecutionModel@0b780eb
    Author: Jean-Christophe Fillion-Robin <>
    Date:   Wed Feb 4 18:06:25 2015 -0500
        ENH: SEMMacroBuildCLI - Add possibility to associate FOLDER with CLI targets
        In project building a lot of modules (i.e Slicer), whenever possible, it
        is better to keep the huge list of targets organized. To help with this,
        CMake allows to set a FOLDER target property.
        This commit extends the SEMMacroBuildCLI API to accept an optional FOLDER
        parameter. If not set, the folder name will default to:
        By default the prefix is set to an empty string and the folder will be
        named after the module name.
        There are two ways to specify a default prefix value:
         (1) Set the variable SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX
        in the current scope before calling 'SEMMacroBuildCLI'
         (2) Configure the SlicerExecutionModel project with the option
        Note that:
         - FOLDER support has been introduced in CMake >= 2.8.3
         - it can optionally be enabled in a project by setting the global
        property named USE_FOLDERS.
        Finally, to associate CLI test expected to be in the same "FOLDER",
        a variable named <MODULE_NAME>_TARGETS_FOLDER is conveniently set in the
        current scope each time the macro SEMMacroBuildCLI is called.
    commit Slicer/SlicerExecutionModel@e84d231
    Author: Matt McCormick <>
    Date:   Thu Aug 7 11:09:39 2014 -0400
        BUG: Fix ModuleDescriptionParser test data dir.
        Fixes Parser1Test{1,2}.
        Simplify by consolidation of variables.
    // -------------
    OtsuThresholdImageFilter changes:
    // -------------
    commit :Slicer/Slicer-OtsuThresholdImageFilter@5efe412
    Author: Jean-Christophe Fillion-Robin <>
    Date:   Wed Feb 4 18:08:28 2015 -0500
        Associate folder with test targets.
    // -------------
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Dec 17, 2013
  1. @jcfr

    COMP: Configure include directories into SlicerConfig.cmake

    jcfr authored
    This commit adds the following variables to the config file:
    For each module:
    - <Module>_INCLUDE_DIRS
    - <ModuleLogic>_INCLUDE_DIRS
    - <ModuleWidget>_INCLUDE_DIRS
    and for MRMLLogic:
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Feb 24, 2013
  1. @jcfr

    COMP: Update system to use CMake built-in macro "cmake_parse_arguments"

    jcfr authored
    SLICER_PARSE_ARGUMENTS has been kept around but will display an error
    message if it used by some extension. That will give the opportunity
    for extension maintainer to update their CMakeLists.txt.
    Considering that the file "CMakeParseArguments" is also included in the
    code base associated with Slicer 4.2.2-1, simply updating the extension
    so that "cmake_parse_arguments" is used will be sufficient. Say differently,
    CMakeLists.txt maintained for both extension build against Slicer nightly
    and Slicer 4.2.2-1 won't diverge.
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Feb 14, 2013
  1. @jcfr

    COMP: Unknown keyword passed to build macro now trigger an error.

    jcfr authored
    This will allow to catch typo early one by preventing developer from
    adding unknown/unused arguments.
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Mar 22, 2012
  1. @jcfr

    COMP: Allow extension to update Slicer_Module*_INCLUDE_DIRS variables

    jcfr authored
    * This is similar to what's done in Slicer/CMakeLists.txt.
    * Doing so ensure that the variable are globally updated.
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Jan 12, 2012
  1. @jcfr

    COMP: Similarly to module located in Slicer source, extension should …

    jcfr authored
    …NOT specify include dirs.
    * Thanks to "Andriy Fedorov" for his help in addressing this issue.
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Sep 21, 2011
  1. @jcfr

    STYLE: Remove year from Kitware copyright

    jcfr authored
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Jul 10, 2011
  1. @jcfr

    ENH: SlicerMacroBuildModuleWidgets - Add NO_INSTALL option

    jcfr authored
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Jun 23, 2011
  1. @jcfr

    STYLE: Rename Doc/copyright/copyright.txt into COPYRIGHT.txt

    jcfr authored
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
  2. @jcfr

    STYLE: Move CMake commands to match new conventions

    jcfr authored
    The next step in removing end-of-lines is to run through all the
    CMakeLists.txt files and clean them up.
    This also changes all the key words to lower
    case. The primary reason for changing key words is that all documentation for
    CMakeLists.txt now shows the key words as lower case. Even the printed
    “Mastering CMake v5” uses lower case. I’ve come across this several
    times in my class where students stumble over the fact that the
    documentation about Cmake does not match the implementation in ITK.
    I have a script (a wrapper around a vim macro) written that can make
    these substituions reliably (Tested on the BRAINS tree, the Slicer3
    tree, and the ITK tree without causing any errors).  More complete
    documentation can be found in
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Jun 22, 2011
  1. @jcfr

    ENH: Add "WRAP_PYTHONQT" option to SlicerMacroBuildModuleQtLibrary / …

    jcfr authored
    * Enabling this option will build the PythonQt wrapped static library
    associated with the given SRCS.
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Commits on Jun 1, 2011
  1. @jcfr

    COMP: Add SlicerMacroBuildModuleWidgets

    jcfr authored
    This macro uses the more generic macro SlicerMacroBuildModuleQtLibrary
    and update the variable Slicer_ModuleWidgets_INCLUDE_DIRS.
    This variable is configured into SlicerConfig and can be re-used within
    loadable extension.
    git-svn-id: 3bd1e089-480b-0410-8dfb-8563597acbee
Something went wrong with that request. Please try again.