[Repository Listing] / [Slicer4] / trunk / CMake
 

Log of /trunk/CMake

Parent Directory Parent Directory View Directory Listing Directory Listing


Sticky Revision:

Revision 26393  Directory Listing
Modified Sun Sep 24 12:04:18 2017 UTC (27 hours, 8 minutes ago) by lassoan
ENH: Added column property editor to tables module

Type and other properties of any existing column and default properties of new columns can be changed using GUI.
This is important for plotting, which requires numeric column types.

Additional improvements:
* changed defaultValue to nullValue to better reflect that the value represents missint/unknown value.
* made reading and conversion of bit and char type columns more robust

Revision 26350  Directory Listing
Modified Tue Sep 5 17:52:49 2017 UTC (2 weeks, 5 days ago) by jcfr
COMP: Remove unused Slicer3PluginsMacros CMake module

Support for Slicer3 has long been removed. Code that was last using these
macros was removed in r23396 (COMP: Remove unused CLIs MIDASApplications
and BatchMakeApplications)

Revision 26349  Directory Listing
Modified Tue Sep 5 15:26:24 2017 UTC (2 weeks, 5 days ago) by jcfr
COMP: CTestCustom: Add windows warning exceptions

Revision 26346  Directory Listing
Modified Tue Sep 5 14:29:52 2017 UTC (2 weeks, 6 days ago) by jcfr
COMP: CTestCustom: Exclude SimpleITK "is a python keyword"  warning

See https://github.com/SimpleITK/SimpleITK/issues/277

Revision 26343  Directory Listing
Modified Tue Sep 5 14:29:46 2017 UTC (2 weeks, 6 days ago) by jcfr
COMP: CTestCustom: Reduce noise adding warning exceptions

Revision 26336  Directory Listing
Modified Tue Sep 5 02:39:45 2017 UTC (2 weeks, 6 days ago) by jcfr
ENH: Introduce SlicerPatch.cmake allowing to apply patch only once

Revision 26334  Directory Listing
Modified Mon Sep 4 20:52:20 2017 UTC (2 weeks, 6 days ago) by jcfr
ENH: Use copy of upstream FindPatch module

This commit integrates the latest version of FindPatch module
from https://gitlab.kitware.com/cmake/cmake/merge_requests/1184

It also updates the version of the python build system where the same
change was applied:

$ git shortlog b9ae615..cc93717 --no-merges
Jean-Christophe Fillion-Robin (1):
      ApplyPatches: Use copy of upstream FindPatch.cmake

Revision 26331  Directory Listing
Modified Sun Sep 3 19:08:39 2017 UTC (3 weeks ago) by jcfr
ENH: Update BRAINSTools and allows Slicer extension to depends on it.

$ git shortlog 0558e43..7994f92 --no-merges
Jean-Christophe Fillion-Robin (1):
      COMP: Export BRAINSCommonLib target for build tree

Revision 26327  Directory Listing
Modified Thu Aug 31 22:49:12 2017 UTC (3 weeks, 3 days ago) by jcfr
ENH: Build system: Update FindPatch module

This commit updates the module to match latest CMake version.
See https://gitlab.kitware.com/cmake/cmake/merge_requests/1184

Revision 26318  Directory Listing
Modified Tue Aug 29 19:50:55 2017 UTC (3 weeks, 5 days ago) by jcfr
COMP: Build system: Fix finding of SVN or Git configuring extensions

This commit explicitly marks "Subversion_SVN_EXECUTABLE" and "GIT_EXECUTABLE"
as cache variable in SlicerConfig and remove workaround related to:

https://www.na-mic.org/Bug/view.php?id=4311
https://gitlab.kitware.com/cmake/cmake/issues/15448

This commit fixes MarginCalculator configuration error when directly
configuring the extension without building the extensions index:

```
CMake Error at /path/to/Software/cmake-3.9.0-Linux-x86_64/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Subversion (missing: Subversion_SVN_EXECUTABLE) (found
  version "1.8.13")
Call Stack (most recent call first):
  /path/to/Software/cmake-3.9.0-Linux-x86_64/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
  /path/to/Software/cmake-3.9.0-Linux-x86_64/share/cmake-3.9/Modules/FindSubversion.cmake:142 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /home/jcfr/Projects/Slicer-2/CMake/SlicerMacroExtractRepositoryInfo.cmake:118 (find_package)
  /path/to/Projects/Slicer-2/CMake/SlicerExtensionCPack.cmake:55 (SlicerMacroExtractRepositoryInfo)
  CMakeLists.txt:57 (INCLUDE)
```

Also confirmed that build the extensions index worked as expected.

Revision 26316  Directory Listing
Modified Tue Aug 29 08:21:47 2017 UTC (3 weeks, 6 days ago) by jcfr
COMP: Update ExtractRepositoryInfo macro to use top-level source directory

This commit ensures that extension including packaging code from
a subdirectory can detect the SCM and create packages with the expected
name.

Revision 26314  Directory Listing
Modified Tue Aug 29 06:33:44 2017 UTC (3 weeks, 6 days ago) by jcfr
COMP: Fix regression in VTK python wrapping built using VTK7

This commit fixes a regression introduced in previous commit r26313 (COMP: Fix
VTK python wrapping of extension built against Slicer with VTK8)

It ensures that VTK_WRAP_INCLUDE_DIRS is also set when building
with vTK <= 8.

It fixes the following error reported when building EMSegment python
wrappers:

```
/path/to/Slicer-build/Slicer-build/Modules/Remote/EMSegment/Qt/Logic/vtkImageEMLocalGenericClassPython.cxx: In function ‘PyObject* PyvtkImageEMLocalGenericClass_SetProbDataPtr(PyObject*, PyObject*)’:
/path/to/Slicer-build/Slicer-build/Modules/Remote/EMSegment/Qt/Logic/vtkImageEMLocalGenericClassPython.cxx:262:11: error: ‘class vtkImageEMLocalGenericClass’ has no member named ‘SetProbDataPtr’
       op->SetProbDataPtr(temp0);
           ^
/path/to/Slicer-build/Slicer-build/Modules/Remote/EMSegment/Qt/Logic/vtkImageEMLocalGenericClassPython.cxx:266:40: error: ‘class vtkImageEMLocalGenericClass’ has no member named ‘SetProbDataPtr’
       op->vtkImageEMLocalGenericClass::SetProbDataPtr(temp0);
                                        ^
```

Revision 26313  Directory Listing
Modified Mon Aug 28 20:14:31 2017 UTC (3 weeks, 6 days ago) by jcfr
COMP: Fix VTK python wrapping of extension built against Slicer with VTK8

This commit ensures the complete set of include directories is provided
to the vtkWrapHierarchy executable.

This problem was discovered while adding support for Qt5 and VTK8 to
the CarreraSlice extension.

It fixes the following error where vtkTypeMacro was improperly considered
as a function:

```
In file included from /home/jcfr/Projects/Slicer-2-Qt5-VTK8-build/VTKv8/Common/Core/vtkVariant.h:37:0,
                 from /tmp/CarreraSlice-build/src/fastGrowCut/Logic/vtkFastGrowCutPython.cxx:10:
/tmp/CarreraSlice-build/src/fastGrowCut/Logic/vtkFastGrowCutPython.cxx: In function ‘PyObject* PyvtkFastGrowCut_vtkTypeMacro(PyObject*, PyObject*)’:
/home/jcfr/Projects/Slicer-2-Qt5-VTK8-build/VTKv8/Common/Core/vtkSetGet.h:630:3: error: expected unqualified-id before ‘protected’
   protected: \
   ^
/home/jcfr/Projects/Slicer-2-Qt5-VTK8-build/VTKv8/Common/Core/vtkSetGet.h:664:3: note: in expansion of macro ‘vtkAbstractTypeMacroWithNewInstanceType’
   vtkAbstractTypeMacroWithNewInstanceType(thisClass, superclass, thisClass, #thisClass) \
   ^
/home/jcfr/Projects/Slicer-2-Qt5-VTK8-build/VTKv8/Common/Core/vtkSetGet.h:670:3: note: in expansion of macro ‘vtkAbstractTypeMacro’
   vtkAbstractTypeMacro(thisClass, superclass) \
   ^
/tmp/CarreraSlice-build/src/fastGrowCut/Logic/vtkFastGrowCutPython.cxx:45:11: note: in expansion of macro ‘vtkTypeMacro’
       op->vtkTypeMacro(*temp0, *temp1);
           ^
```

Revision 26304  Directory Listing
Modified Thu Aug 24 22:39:19 2017 UTC (4 weeks, 3 days ago) by jcfr
ENH: Abort configuration early if patch executable is not found

This commit adds the FindPatch CMake module. Corresponding merge
request adding the functionality into upstream CMake is:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1184

See #4411

Revision 26290  Directory Listing
Modified Thu Aug 17 16:22:08 2017 UTC (5 weeks, 3 days ago) by jcfr
BUG: SlicerCPack: Fix list of Qt plugins to install on macOS

Revision 26289  Directory Listing
Modified Wed Aug 16 22:51:32 2017 UTC (5 weeks, 4 days ago) by jcfr
ENH: Support Linux, macOS (partial), Windows packaging using Qt5

This commit updates CMake module installing Qt5 libraries:
* Linux: Explicitly install required libraries
* macOS: No update required, the fixup script is used instead.
* Windows: Leverage "windeployqt" tool to automatically install libraries

It also updates (for all platforms) the list of plugins that should
be installed.

Finally, it updates the macOS fixup rules to consider the new
macOS platform plugin.

It was tested on Ubuntu 15.10 and Windows using VS2015.

Revision 26271  Directory Listing
Modified Mon Aug 14 18:34:47 2017 UTC (5 weeks, 6 days ago) by jcfr
ENH: Extension buildsystem: Remove custom (Experimental|Nightly)Upload targets

This commit simplifies the extension build system removing targets made
obsolete by adding support for the "packageupload" target in r24289 (BUG:
Update extension build system to report packaging error on CDash.)

Revision 26268  Directory Listing
Modified Mon Aug 14 02:16:28 2017 UTC (6 weeks ago) by jcfr
ENH: Support Qt5 in dashboard script

When building with Qt4, QT_QMAKE_EXECUTABLE is required.
When building with Qt5, Qt5_DIR is required.

From: Max Smolens <max.smolens@kitware.com>

Revision 26267  Directory Listing
Modified Mon Aug 14 02:16:26 2017 UTC (6 weeks ago) by jcfr
COMP: Require minimum OSX deployment target of 10.9 if using Qt5 or VTK8

Require minimum OSX deployment target of 10.9. In 10.9 libc++ replaces
libstdc++ as the default runtime. Requiring this minimum ensures that
all libraries use libc++.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Max Smolens <max.smolens@kitware.com>

Revision 26260  Directory Listing
Modified Mon Aug 14 02:16:07 2017 UTC (6 weeks ago) by jcfr
ENH: Set default QSurfaceFormat for QVTKOpenGLWidget

Set default QSurfaceFormat for QVTKOpenGLWidget so that QVTKOpenGLWidget
receives the proper OpenGL core profile context.

From QOpenGLWidget documentation (http://doc.qt.io/qt-5/qopenglwidget.html):

    Note: Calling QSurfaceFormat::setDefaultFormat() before constructing
    the QApplication instance is mandatory on some platforms (for
    example, macOS) when an OpenGL core profile context is requested.
    This is to ensure that resource sharing between contexts stays
    functional as all internal contexts are created using the correct
    version and profile.

Client code uses QVTKOpenGLWidget when SlICer_VTK_USE_QVTKOPENGLWIDGET
is defined in vtkSlicerConfigure.h.

Multisampling is disabled to support volume rendering and other VTK
functionality that reads from the framebuffer. See
https://gitlab.kitware.com/vtk/vtk/issues/1709.

From: Max Smolens <max.smolens@kitware.com>

Revision 26251  Directory Listing
Modified Mon Aug 14 02:07:21 2017 UTC (6 weeks ago) by jcfr
ENH: Add preliminary support for Qt5

Support configuration using either Qt4 or Qt5

Based on preliminary work from Steve Pieper <pieper@bwh.harvard.edu>

* vtkSlicerConfigure: Introduced Slicer_HAVE_QT5 and Slicer_HAVE_WEBKIT_SUPPORT.
  This was needed to workaround limitation of "moc" compiler preventing it
  from expanding macro like "QT_VERSION_CHECK.

* Explicitly set QT_PLUGINS_DIR and QT_BINARY_DIR variables when using Qt5

* Update extension build system to propagate Qt version

Tested with Qt 5.7 and Qt 5.9 on Ubuntu

Remaining tasks:
* Port extension manager
* Update install/packaging rules to support Qt5
* SlicerStyle (based on CommonStyle) is disabled (see Main.cxx). Application crashes on Linux.
* Fix runtime errors:
 * libpng warning: iCCP: known incorrect sRGB profile
 * QPixmap::grabWidget is deprecated, use QWidget::grab() instead

Co-authored-by: Hina Shah <hina.shah@kitware.com>
Co-authored-by: Max Smolens <max.smolens@kitware.com>

COMP adding qt5 variables for extension testing

COMP Adding Qt5 build and plugin cmake variables

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 26250  Directory Listing
Modified Mon Aug 14 02:06:37 2017 UTC (6 weeks ago) by jcfr
ENH: Enable C++11 for external projects and extensions

From: Max Smolens <max.smolens@kitware.com>

Revision 26244  Directory Listing
Modified Mon Aug 14 02:05:08 2017 UTC (6 weeks ago) by jcfr
ENH: Update to VTK 8.0.0

A Slicer_VTK_VERSION_MAJOR option is added to allow building with VTK7 or VTK8.
The option should be set to 7 or 8 and defaults to 8.

The VTK8 branch includes VTK 8.0.0 plus a Slicer-specific fix for
picking. Other Slicer-specific fixes, both for VTK8/Qt5 support and
older patches, have been merged upstream.

When building with VTK8, now generate VTK wrapping hierarchy files as required
by VTK.

From: Max Smolens <max.smolens@kitware.com>

Revision 26220  Directory Listing
Modified Wed Aug 9 15:23:35 2017 UTC (6 weeks, 4 days ago) by jcfr
STYLE: SlicerBlockPlatformCheck: Remove obsolete CMake version check

This commit removes check obsoleted by r26201 (COMP: Update CMake
minimum required version from 2.8.9 to 3.5)

Revision 26219  Directory Listing
Modified Tue Aug 8 06:40:29 2017 UTC (6 weeks, 6 days ago) by jcfr
COMP: slicerMacroBuildApplication: Fix config properly referencing nib files

This commit fixes the following error occurring on the macOS factory after
transitioning from CMake 3.5 to CMake 3.9:

```
CMake Error at CMake/SlicerMacroBuildApplication.cmake:424 (add_executable):
  Cannot find source file:

    /Users/kitware/Dashboards/Nightly/Slicer-0/Applications/SlicerApp/@QT_QTGUI_LIBRARY_RELEASE@/Resources/qt_menu.nib/classes.nib

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx
Call Stack (most recent call first):
  Applications/SlicerApp/CMakeLists.txt:95 (slicerMacroBuildApplication)
```

Revision 26212  Directory Listing
Modified Mon Aug 7 22:42:12 2017 UTC (6 weeks, 6 days ago) by jcfr
STYLE: Refactor SlicerCheckCMakeHTTPS to automatically call test function

This allows to easily download the script and check that CMake
support HTTPS.

For example:

```
curl -L https://raw.githubusercontent.com/Slicer/Slicer/master/CMake/SlicerCheckCMakeHTTPS.cmake -o SlicerCheckCMakeHTTPS.cmake
./CMake-3.9.0.app/Contents/bin/cmake -P ./SlicerCheckCMakeHTTPS.cmake
```

Revision 26211  Directory Listing
Modified Mon Aug 7 22:42:10 2017 UTC (6 weeks, 6 days ago) by jcfr
COMP: SlicerConfig: Include "CTestUseLaunchers" to fix extension tests

This commit will fix the tests:

* py_cmake_slicer_extensions_index_build_with_upload_using_ctest
* py_cmake_slicer_extensions_index_build_without_upload_using_ctest

failing on Linux with error message like this one:

```
CMake Error: CTEST_USE_LAUNCHERS is enabled, but the RULE_LAUNCH_COMPILE global property is not defined.
Did you forget to include(CTest) in the toplevel CMakeLists.txt ?
Command exited with the value: 1
Error(s) when configuring the project
```

Revision 26201  Directory Listing
Modified Fri Aug 4 19:15:46 2017 UTC (7 weeks, 2 days ago) by jcfr
COMP: Update CMake minimum required version from 2.8.9 to 3.5

This commit removes few workarounds and explicit setting of CMake policies.

Note that the setting of CMP0017 to OLD (introduced in r16366 (COMP: Update
CMake policy requirements) is not needed. Slicer does not provide CMake
modules that should be included by modules distributed by CMake.

This will ensure the CMake version has:

* support for VS 2015 (introduced in CMake 3.1)

* a decent support for detecting compiler features (useful with C++11 and above)
  See https://cmake.org/cmake/help/v3.5/manual/cmake-compile-features.7.html

* as well as support for modern cmake that will be used to modernize the
  Slicer build system.
  See https://cmake.org/cmake/help/v3.5/manual/cmake-buildsystem.7.html#build-specification-and-usage-requirements

CMake 3.5 is also old enough (release in April 2016) and available (same version
or above) in distributions like these ones:

* Arch Linux
* Ubuntu LTS 14.04, 16.04
* OpenSUSE Leap 42.2, 42.3
* Debian 9, Sid
* Fedora 24/25/26
* Slackware 14.2

See https://pkgs.org/download/cmake

// ------------
Update MultiVolumeExplorer:

$ git shortlog 7e44252..c4d3b65 --no-merges
Andrey Fedorov (1):
      ENH: helper script to get stats for a mv frame

Jean-Christophe Fillion-Robin (1):
      COMP: Update CMake version to 3.5.0

// ------------
Update MultiVolumeImporter:

git shortlog 3fb2858..b2453a8 --no-merges
Jean-Christophe Fillion-Robin (1):
      COMP: Update CMake version to 3.5.0

Revision 26200  Directory Listing
Modified Fri Aug 4 17:05:09 2017 UTC (7 weeks, 2 days ago) by lassoan
ENH: Make continuous build more configurable

If CTEST_CONTINUOUS_DURATION is set to 0 then the build is performed only once and the build tree will not be cleaned.

If CTEST_CONTINUOUS_DURATION is not set or set to >0 value then the behavior is the same as before (clean the build tree once and then keep building and testing for the specified duration).

Revision 26192  Directory Listing
Modified Thu Aug 3 16:04:19 2017 UTC (7 weeks, 3 days ago) by lassoan
COMP: Do not clean directory for continuous dashboard builds

Develoepr feedback would be too slow if continuous builds would start from scratch.
This seems to be a bug, as in SlicerExtensionsDashboardScript.TEMPLATE.cmake it is stated that continuous build does not clean the build directory.

Revision 26101  Directory Listing
Modified Fri Jun 16 19:55:25 2017 UTC (3 months, 1 week ago) by lassoan
ENH: Avoid recheck of CMake SSL capability

Reconfiguring Slicer required internet connection for CMake SSL test to pass.
It caused inconvenience when Slicer build was attempted from an unstable network connection.

Fixes #4326 (https://issues.slicer.org/view.php?id=4326)

Revision 26057  Directory Listing
Modified Mon May 29 20:42:55 2017 UTC (3 months, 3 weeks ago) by jcfr
ENH: cmake: Add FindVcvars CMake module

This module allows to look up path of 'vcvars(32|64|amd64).bat' scripts.

It will facilitate the building of Slicer extension including python
modules having compilation steps.

It is being contributed to upstream CMake as
https://gitlab.kitware.com/cmake/cmake/merge_requests/899

Revision 26056  Directory Listing
Modified Mon May 29 20:42:54 2017 UTC (3 months, 3 weeks ago) by jcfr
ENH: cmake: Allow use of GenerateProjectDescription_Step in extension

Revision 26055  Directory Listing
Modified Mon May 29 20:42:52 2017 UTC (3 months, 3 weeks ago) by jcfr
ENH: cmake: Check package availability when building against system python

This commit implements the check looking for required python modules
when building against system version of python.

For example, assuming that all required packages are installed in
a python virtual environment named "slicer":

$ cmake -DQT_QMAKE_EXECUTABLE:FILEPATH=/path/to/bin/qmake \
  -DCMAKE_BUILD_TYPE:STRING=Release \
  -DSlicer_USE_SYSTEM_python:BOOL=1 \
  ../Slicer

would output text like this one:

[...]
-- SuperBuild -         python-pyparsing => Requires python[INCLUDED],
-- SuperBuild -         python-pyparsing[OK] (SYSTEM)
-- PYPARSING_PATH: /home/jcfr/.virtualenvs/slicer/local/lib/python2.7/site-packages
-- PYPARSING_VERSION: 2.2.0
-- SuperBuild -       python-packaging[OK] (SYSTEM)
-- PACKAGING_PATH: /home/jcfr/.virtualenvs/slicer/local/lib/python2.7/site-packages/packaging
-- PACKAGING_VERSION: 16.8
-- SuperBuild -       python-six => Requires python[INCLUDED],
-- SuperBuild -       python-six[OK] (SYSTEM)
-- SIX_PATH: /home/jcfr/.virtualenvs/slicer/local/lib/python2.7/site-packages
-- SIX_VERSION: 1.10.0
[...]

Revision 26048  Directory Listing
Modified Thu May 25 22:03:03 2017 UTC (4 months ago) by jcfr
COMP: BuildSystem: Ensure extension can find CTKAppLauncherLib

Fix regression introduced in r26042 (ENH: Add support for reading
launcher setting using CTKAppLauncherLib)

Reported-by: Isaiah Norton <inorton@bwh.harvard.edu>
Tested-by: Isaiah Norton <inorton@bwh.harvard.edu>

Revision 26042  Directory Listing
Modified Thu May 25 05:06:47 2017 UTC (4 months ago) by jcfr
ENH: Add support for reading launcher setting using CTKAppLauncherLib

This commit introduces a dependency to the statically linked
library CTKAppLauncherLib

This library also used internally by the regular Slicer launcher allows
to read the launcher main settings and its associated revision specific
settings listing extensions paths.

Since on all platforms, environment variables are now consistently read
from settings files, this commit removes:

(1) the duplicated code path settings variables from the application
using methods like:
* qSlicerCoreApplicationPrivate::setPythonEnvironmentVariables()
* qSlicerCoreApplicationPrivate::setTclEnvironmentVariables()
* qSlicerCoreApplicationPrivate::discoverITKFactoriesDirectory()
* qSlicerCorePythonManager::pythonPaths()

(2) the application settings "Python/AdditionalPythonPaths" originally
introduced in r20852 (BUG: Ensure extension python paths are set on MacOSX)
to workaround the fact launcher settings were not used on MacOSX.

Finally, this commit also ensures that PYTHONPATH associated with thirdparty
libraries bundled in extension are considered on MacOSX. See Radiomics/SlicerRadiomics#18

[ci skip]

Revision 26031  Directory Listing
Modified Tue May 23 05:27:52 2017 UTC (4 months ago) by jcfr
BUG: BuildSystem: Add missing entries from launcher settings

This commit explicitly adds ITK_AUTOLOAD_PATH env. variable
and Slicer_QTSCRIPTEDMODULES_LIB_DIR python path.

Revision 26027  Directory Listing
Modified Tue May 23 05:24:54 2017 UTC (4 months ago) by jcfr
STYLE: BuildSystem: Improve comments associated with launcher settings

Revision 26021  Directory Listing
Modified Thu May 18 15:23:09 2017 UTC (4 months, 1 week ago) by jcfr
ENH: Buildsystem: Support packaging of existing extension install dirs

Configuring Slicer using

  cmake -DSlicer_EXTENSION_INSTALL_DIRS:STRING=/path/to/ext1-install-tree;/path/to/ext2-install-tree ...

will ensure the file found in each extension install directories are
packaged with Slicer.

Co-authored-by: Hina Shah <hina.shah@kitware.com>

Revision 25996  Directory Listing
Modified Tue May 2 21:18:44 2017 UTC (4 months, 3 weeks ago) by jcfr
BUG: Fix MacOSX Packaging to avoid failure to import compiled python module.

This commit should fix the regression introduced in r25947 [1] by ensuring the
variables PYTHON_STDLIB_SUBDIR and  PYTHON_SITE_PACKAGES_SUBDIR are
defined in the fixup script.

[1] ENH: Introduce PYTHON_STDLIB_SUBDIR and PYTHON_SITE_PACKAGES_SUBDIR CMake vars

It will prevents message like this one from being reported when installing
and starting Slicer from generated installer:

```
code for hash md5 was not found.
Traceback (most recent call last):
  File "/Applications/Slicer.app/Contents/lib/Python/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/Applications/Slicer.app/Contents/lib/Python/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
```

Thanks to

Isaiah Norton <inorton@bwh.harvard.edu>
Andriy Fedorov <fedorov@bwh.harvard.edu>
Steve Pieper <pieper@isomics.com>

for their help investigating.

Revision 25992  Directory Listing
Modified Sat Apr 29 13:17:10 2017 UTC (4 months, 3 weeks ago) by lassoan
BUG: Fixed extension test errors

Fixed regression in SlicerMacroExtractRepositoryInfo.cmake. Variables were missing because a return() statement was added to a macro, which did not just return from the macro but from the caller function.

Revision 25987  Directory Listing
Modified Fri Apr 28 20:37:47 2017 UTC (4 months, 4 weeks ago) by lassoan
ENH: Fixed AdditionalLauncherSettings.ini for extensions with dependencies

AdditionalLauncherSettings.ini now contains library paths, paths, env vars, python paths from all dependent extensions.
The values are passed through the <ExtensionName>Config.cmake file.

Revision 25984  Directory Listing
Modified Fri Apr 28 15:18:03 2017 UTC (4 months, 4 weeks ago) by jcfr
BUG: Update extension buildsystem to handle source dir without vcs

This commit prevents extension generated using the wizard but not yet
associated with a source control system from failing to build with a
message like:

  -- Could NOT find Subversion (missing:  Subversion_SVN_EXECUTABLE)
  CMake Error at /path/to/Slicer/Extensions/CMake/SlicerBlockUploadExtension.cmake:38 (message):
    Variable Subversion_SVN_EXECUTABLE is set to an inexistent directory or
    file ! []
  Call Stack (most recent call first):
    /path/to/Slicer/Extensions/CMake/SlicerEnableExtensionTesting.cmake:23 (include)
    /path/to/Slicer-Release/Slicer-build/UseSlicer.cmake:421 (include)
    CMakeLists.txt:21 (include)

If an extension named Foo is not yet associated with a repository is
built, the following author warning is now reported:

  -- Configuring Scripted module: bar
  CMake Warning (dev) at /path/to/Slicer/CMake/SlicerMacroExtractRepositoryInfo.cmake:94 (message):
    Skipping repository info extraction: directory [/path/to/Foo] is not a GIT, SVN
    or CVS checkout
  Call Stack (most recent call first):
    /path/to/Slicer/CMake/SlicerExtensionCPack.cmake:55 (SlicerMacroExtractRepositoryInfo)
    CMakeLists.txt:45 (include)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Configuring done
  -- Generating done
  -- Build files have been written to: /path/to/Foo-build/inner-build

Reported-by: Matt McCormick <matt.mccormick@kitware.com>

Revision 25978  Directory Listing
Modified Wed Apr 26 18:33:02 2017 UTC (4 months, 4 weeks ago) by jcfr
ENH: Update ExternalProjectDependency based on commontk/Artichoke@0fff214

This commit fixes a configure error introduced in r25929 (ENH: Update
ExternalProjectDependency based on commontk/Artichoke@5ee3d50) by ensuring
USES_TERMINAL_* option are not used with CMake 3.3.2.

Also Update CTK to integrate a similar update:

$ git shortlog commontk/CTK@185e6e3..commontk/CTK@a63253f --no-merges
Jean-Christophe Fillion-Robin (1):
      Update ExternalProjectDependency based on commontk/Artichoke@0fff214

Reported-by: Bill Lorensen <bill.lorensen@gmail.com>

Revision 25976  Directory Listing
Modified Wed Apr 26 05:40:57 2017 UTC (5 months ago) by jcfr
COMP: CTestCustom: Add error exceptions to avoid false positive

This commit reverts r25965 and instead adds the regular expressions
to the CTEST_CUSTOM_ERROR_EXCEPTION list.

Revision 25965  Directory Listing
Modified Tue Apr 25 22:24:41 2017 UTC (5 months ago) by jcfr
COMP: CTestCustom: Add warning exceptions to avoid false positive

This commit prevents the following warnings from being reported as error
on CDash:

  C:\D\S4R\python-install\Lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'test_suite'
  C:\D\S4R\python-install\Lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'tests_require'
  C:\D\S4R\python-install\Lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
  C:\D\S4R\python-install\lib\site-packages\setuptools-35.0.1.post20170425-py2.7.egg\setuptools\dist.py:334: UserWarning: Normalizing '0.30.0.a0' to '0.30.0a0'

Reported-by: Andras Lasso <lasso@queensu.ca>

Revision 25959  Directory Listing
Modified Tue Apr 25 03:58:22 2017 UTC (5 months ago) by jcfr
STYLE: ExtensionManager: Add PYTHON_SITE_PACKAGES_SUBDIR to launcher settings

This commit ensures that python path is updated after installing extension
bundling python packages.

Revision 25958  Directory Listing
Modified Tue Apr 25 03:58:20 2017 UTC (5 months ago) by jcfr
STYLE: ExtensionManager: Add Slicer_THIRDPARTY_ vars to launcher settings

For sake of consistency, this commit explicitly add directory associated
with third-party libraries packages to the launcher settings.

Related commits:

* r25288 (BUG: Add the extension third party directories to
  additional launcher settings)

* r25182 (BUG: Extension packaging: Support fixup of 3rd-party (external
  proj) libs)

Revision 25951  Directory Listing
Modified Tue Apr 25 03:58:07 2017 UTC (5 months ago) by jcfr
STYLE: SlicerBlockCTKAppLauncherSettings: Add comment and re-organize code

Revision 25950  Directory Listing
Modified Tue Apr 25 03:58:06 2017 UTC (5 months ago) by jcfr
ENH: Allow extension to check Slicer_USE_SYSTEM_python

This commit adds support for explicitly associating Slicer_USE_SYSTEM_*
variables with a label of the same name so that they are automatically
added to SlicerConfig.

This will allow to easily build Slicer extension against a system python
where extension python dependencies are already available.

Revision 25949  Directory Listing
Modified Tue Apr 25 03:58:03 2017 UTC (5 months ago) by jcfr
STYLE: Slicer(Extension)CPackBundleFixup: Fix typo in variable name

Revision 25947  Directory Listing
Modified Tue Apr 25 03:58:00 2017 UTC (5 months ago) by jcfr
ENH: Introduce PYTHON_STDLIB_SUBDIR and PYTHON_SITE_PACKAGES_SUBDIR CMake vars

This commit :

 (1) avoids duplicated code paths by setting these two variables only
     in External_python.cmake,

 (2) prepares the transition to python 3 by removing most of the
     to hard-coded "python2.7" strings

 (3) adds the variables to SlicerConfig to facilitate the packaging
     of python packages within Slicer extensions.

Revision 25944  Directory Listing
Modified Mon Apr 24 17:50:32 2017 UTC (5 months ago) by lassoan
ENH: Generate (Extension)Config.cmake

Generate (Extension)Config.cmake to allow an extension import targets from another extension.

Revision 25942  Directory Listing
Modified Sat Apr 22 02:01:39 2017 UTC (5 months ago) by lassoan
ENH: Install SSL dlls into bin folder

SSL libraries (libeay32.dll, ssleay32.dll) sometimes fail to load on Windows if they are not in the same folder as SlicerApp-real.exe.

This commit makes the SSL libraries installed in SlicerApp-real.exe's folder (c:\Program Files\Slicer 4.7.0-2017-04-20\bin) instead of lib folder (c:\Program Files\Slicer 4.7.0-2017-04-20\lib\Slicer-4.7\ssleay32.dll).

Revision 25929  Directory Listing
Modified Fri Apr 14 22:24:36 2017 UTC (5 months, 1 week ago) by jcfr
ENH: Update ExternalProjectDependency based on commontk/Artichoke@5ee3d50

This commit improves the support for Ninja generator by ensuring the
option USES_TERMINAL_* options are set to give Ninja access to the
terminal when the CMake version supports it.

See https://cmake.org/cmake/help/v3.4/module/ExternalProject.html

Also Update CTK to integrate a similar update:

$ git shortlog 19fc678..b8587e5 --no-merges
Jean-Christophe Fillion-Robin (2):
      Update ExternalProjectDependency based on commontk/Artichoke@5ee3d50
      ENH: ExternalProjecDependency: Re-apply commontk/CTK@6cc426b

Revision 25881  Directory Listing
Modified Tue Mar 28 07:54:09 2017 UTC (5 months, 4 weeks ago) by jcfr
STYLE: Add ScriptedEditorEffect to SlicerGenerateExtensionTemplates

This commit adds "ScriptedEditorEffect" to the list of templates
considered when executing the SlicerGenerateExtensionTemplates target.

Revision 25879  Directory Listing
Modified Tue Mar 28 07:54:03 2017 UTC (5 months, 4 weeks ago) by jcfr
STYLE: Add ScriptedSegmentEditorEffect to SlicerGenerateExtensionTemplates

This commit adds "ScriptedSegmentEditorEffect" to the list of templates
considered when executing the SlicerGenerateExtensionTemplates target.

Revision 25847  Directory Listing
Modified Mon Mar 20 16:58:37 2017 UTC (6 months ago) by jcfr
ENH: Add external project step allowing to keep track of project version.

This commit adds a module named "ExternalProjectGenerateProjectDescription"
providing a convenient function allowing to add a step generating
a project description file containing the name of the project and
its version.

For each project instrumented with this function, a file named
"version-<projectnmame>.txt" is generated in ${CMAKE_BINARY_DIR}.

Revision 25845  Directory Listing
Modified Mon Mar 20 15:07:07 2017 UTC (6 months ago) by jcfr
COMP: Update ExternalProjectDependency based on commontk/Artichoke@35c64c7

$ git shortlog  f3359ad..35c64c7 --no-merges
Jean-Christophe Fillion-Robin (5):
      Add support for specifying a different CMAKE_GENERATOR for each project
      Add support for specifying different toolset/platform for each project
      Teach mark_as_superbuild how to handle variables with double-quotes
      Add ExternalProject_SetIfNotDefined macro
      ExternalProject_SetIfNotDefined: Add support for QUIET argument

Revision 25822  Directory Listing
Modified Sun Mar 12 19:44:27 2017 UTC (6 months, 2 weeks ago) by jcfr
ENH: slicerMacroBuildAppLibrary: Add support for WRAP_PYTHONQT

Suggested-by: Alexis Girault <alexis.girault@kitware.com>

Revision 25783  Directory Listing
Modified Sat Mar 11 07:09:48 2017 UTC (6 months, 2 weeks ago) by jcfr
BUG: Teach 'slicer_add_python_unittest' to add module search paths

This commit allows scripted module test within extension to successfully
load dependent modules.

Fixes http://www.na-mic.org/Bug/view.php?id=4242

From: Isaiah Norton <inorton@bwh.harvard.edu>

Revision 25782  Directory Listing
Modified Sat Mar 11 07:09:46 2017 UTC (6 months, 2 weeks ago) by jcfr
STYLE: Update Slicer function and macro name to lower case

For search-ability, case of the function is now consistent with the
lower case usage of the function.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Isaiah Norton <inorton@bwh.harvard.edu>

Revision 25781  Directory Listing
Modified Sat Mar 11 00:00:40 2017 UTC (6 months, 2 weeks ago) by jcfr
COMP: Fix CMake extension build issue. See #4311

This commit reverts r25552 (BUG: ExtensionBuildSystem: Ensure GIT_EXECUTABLE
set in SliceConfig is used) and implements a more robust workaround
for CMake issue #15448 [1] and fix Slicer issue #4311

[1] https://gitlab.kitware.com/cmake/cmake/issues/15448
[2] https://www.na-mic.org/Bug/view.php?id=4311

Reviewed-by: Steve Pieper <pieper@bwh.harvard.edu>
Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Isaiah Norton <inorton@bwh.harvard.edu>

Revision 25644  Directory Listing
Modified Fri Jan 20 04:18:47 2017 UTC (8 months ago) by lassoan
ENH: Use RapidJSON instead of JsonCPP in Terminologies module logic

RapidJSON is magnitudes faster than JsonCPP (https://github.com/miloyip/nativejson-benchmark).
This is important, because when terminologies (rather large json documents) are parsed/searched/modified then each operation may take hundreds of milliseconds
with JsonCPP. Multiple calls easily accumulate to user-perceivable delays (magnitude of seconds). By keep using JsonCPP we would constantly have to
optimize number of logic calls to make sure only json access is minimized. Also, JsonCPP was unbearably slow in debug mode in Windows (simple operations took
tens of seconds).

To minimize development time and optimize speed we switch to RapidJSON instead. RapidJSON's advantages compared to jsoncpp (https://github.com/miloyip/nativejson-benchmark):
* Magnitudes faster, also, its API facilitates writing efficient application code
* CMake-ified
* Header-only (no need to install DLLs, ...)
* More conform to json standard
* Library is much smaller (31k vs 243k)

Revision 25631  Directory Listing
Modified Fri Jan 6 02:02:33 2017 UTC (8 months, 2 weeks ago) by jcfr
BUG: Update ITK to fix linux packaging of itkhdf5_cpp library

This patch addresses the issue reported in [1], [2] and [3] by
updating ITK to include InsightSoftwareConsortium/ITK@2a07831 and
by installing the ITK component "cpplibraries" to ensure hdf5_cpp
get packaged in Slicer.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

[1] http://www.na-mic.org/Bug/view.php?id=4301
[2] http://www.na-mic.org/Bug/view.php?id=4302
[3] https://issues.itk.org/jira/browse/ITK-3504

From: Francois Budin <francois.budin@gmail.com>

Revision 25553  Directory Listing
Modified Fri Nov 18 19:49:39 2016 UTC (10 months ago) by jcfr
STYLE: CMake: Remove unused and unmaintained custom FindCuda module

Originally introduced in 2008 by r7552 (ENH:added cuda CMake scripts) and
last updated in 2009 by r9363 (COMP: fix cmake file for machines that
don't have cuda sdk installed ), this module and associated file
are removed.

Up-to-date and maintained version is available in CMake:

https://cmake.org/cmake/help/v3.7/module/FindCUDA.html

Revision 25552  Directory Listing
Modified Fri Nov 18 19:41:07 2016 UTC (10 months ago) by jcfr
BUG: ExtensionBuildSystem: Ensure GIT_EXECUTABLE set in SliceConfig is used

This problem is not revealed when Slicer extensions are
configured and built automatically by the Extensions build system setup
on the factory machines. In that case, variables like git and svn paths
are explicitly passed to the extension and added to the cache
using the "-D" cmake arguments.

Instead, this commit fixes a problem occurring when an extension is
configured manually by only passing "-DSlicer_DIR:PATH=/path/to/Slicer-SuperBuild-Release/Slicer-build/"

In that case, because the value of GIT_EXECUTABLE is set in
SlicerConfig (see r25523) and then mark_as_advanced is used
in FindGit module, it triggered https://gitlab.kitware.com/cmake/cmake/issues/15448

This commit workaround the problem commenting "mark_as_advanced"

Revision 25546  Directory Listing
Modified Fri Nov 18 06:34:00 2016 UTC (10 months, 1 week ago) by jcfr
ENH: Update ExternalData module based of InsightSoftwareConsortium/ITK@883ecb4

This commit integrates version of the ExternalData module
available in InsightSoftwareConsortium/ITK@883ecb4

Here is the details of changes added to the Slicer version:

$ git shortlog 5a11039..883ecb4 --no-merges CMake/ExternalData.cmake
Brad King (6):
      ENH: ExternalData: Do not re-stage staged object files
      ENH: ExternalData: Allow local stores without any URL templates
      ENH: ExternalData: Warn on missing file instead of failing
      ENH: ExternalData: Add support for custom download scripts
      ENH: ExternalData: Add support for custom algorithm-to-URL mapping
      DOC: ExternalData: Update documentation to match CMake copy

Matthew McCormick (4):
      ENH: Add Azure Storage as ExternalData source.
      ENH: Add ExternalData_NO_SYMLINKS option.
      ENH: Sync ExternalData.cmake with upstream CMake 3.6.2
      ENH: ExternalData multi-algorithm support

Michka Popoff (2):
      STYLE: Remove old cmake < 2.8.4 specific code
      STYLE: Remove old cmake < 2.8.5 specific code

Rolf Eike Beer (2):
      STYLE: ExternalData: Replace MATCHES with STREQUAL where possible
      STYLE: ExternalData: Clean up duplicate regex matches with CMAKE_MATCH_<n>

Revision 25536  Directory Listing
Modified Mon Nov 14 21:43:12 2016 UTC (10 months, 1 week ago) by lassoan
BUG: Attempt to fix Windows build error due to distutils warning

Suppressing as a warning was not enough, now suppressing it as an error.

Revision 25534  Directory Listing
Modified Mon Nov 14 16:31:24 2016 UTC (10 months, 1 week ago) by lassoan
BUG: Attempt to fix Windows build error due to distutils warning

This reverts commit 1b7867f8b9663940a5be618d3160de8461312341. Revert "BUG: fix Windows build error by reverting to GitPython 2.0.9" - it did not help.

Add CMake error exception instead to make sure that this warning is not treated as an error.

Revision 25523  Directory Listing
Modified Sat Nov 12 00:58:30 2016 UTC (10 months, 1 week ago) by jcfr
ENH: SlicerConfig: Facilitate building of extension adding VCS command

This commit will make it easier to locally build extension by simply
providing -DSlicer_DIR:PATH=/path/to/Slicer-Superbuild-Release/Slicer-build

Note that on MacOSX, CMAKE_OSX_* option still need to be provided.

Revision 25501  Directory Listing
Modified Fri Nov 4 19:12:04 2016 UTC (10 months, 2 weeks ago) by lassoan
ENH: Use github for CMake HTTPS testing

URL to the Slicer wiki was used for testing. If Slicer wiki breaks down (which is not uncommon) then it causes the build to fail.
Switched to a github URL (https://raw.githubusercontent.com/Slicer/Slicer/master/CMakeLists.txt) as github is more reliable
and if github is down then Slicer cannot be built anyway (as dependencies are downloaded from github).

Revision 25434  Directory Listing
Modified Wed Oct 12 18:13:17 2016 UTC (11 months, 1 week ago) by jcfr
BUG: Extension upload: Ensure missing optional metatdata do not cause failure

This commit improves the Extension build system tests to check that:

(1) optional extension metatdata NOT specified in the CMakeLists do NOT
    prevent the configure/build/test/upload from happening

(2) metadata submitted to the extension server during the upload are the
    expected ones.

Fixes #4276

Revision 25433  Directory Listing
Modified Wed Oct 12 18:13:15 2016 UTC (11 months, 1 week ago) by jcfr
STYLE: UseSlicerMacros: setting_variable_message function learn PRETEXT arg

It is now possible to override the default pretext, specifying
PRETEXT argument.

Revision 25432  Directory Listing
Modified Wed Oct 12 18:13:14 2016 UTC (11 months, 1 week ago) by jcfr
STYLE: UseSlicerMacros: Use CMakeParseArguments with setting_variable_message

This is done anticipating a other change.

Revision 25431  Directory Listing
Modified Wed Oct 12 18:13:13 2016 UTC (11 months, 1 week ago) by jcfr
STYLE: UseSlicer: Simplify how list of optional extension variable is obtained

Revision 25416  Directory Listing
Modified Wed Oct 5 23:41:07 2016 UTC (11 months, 2 weeks ago) by jcfr
BUG: Introduce macro to set "Prefer CLI executable" settings default value

This commit fixes a regression introduced in r25404 (ENH: prefer executable
CLIs by default) and ensures the settings default value is consistently set.

Revision 25337  Directory Listing
Modified Thu Sep 8 20:09:24 2016 UTC (12 months, 2 weeks ago) by johan.andruejol
ENH: Add ParameterSerializer Support

With the paramater serializer support, one can now serialize and
deserialize CLIs with the command line. The python test
CLISerializationTest is added to make sure it works as expected.

Revision 25336  Directory Listing
Modified Thu Sep 8 20:09:14 2016 UTC (12 months, 2 weeks ago) by johan.andruejol
ENH: Add optionnal support for JsonCpp

This allows Slicer to build JsonCpp. This is part of the integration of the
parameter serializer effort.
By default, the JsonCpp support is disabled.

Revision 25303  Directory Listing
Modified Tue Aug 23 21:21:21 2016 UTC (13 months ago) by jcfr
COMP: SlicerExtensionCPack: Use proper variable evaluation

This commit should fix UKFTractography extension packaging, it is
currently failing because "UKFTractography_SUPERBUILD" is an option
and checking if it is defined always return TRUE.

It also fixes a regression introduced in r25181 (BUG: Extension
packaging: For SuperBuild extension, ensure fixup happen last)

Reviewed-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Isaiah Norton <inorton@bwh.harvard.edu>

Revision 25215  Directory Listing
Modified Fri Jul 8 01:26:19 2016 UTC (14 months, 2 weeks ago) by jcfr
ENH: MIDASAPI: Accept json response with whitespaces after the colon.

Revision 25213  Directory Listing
Modified Fri Jul 8 01:26:14 2016 UTC (14 months, 2 weeks ago) by jcfr
ENH: Add SlicerExtensionDescriptionSpec CMake module

* Update CMake module to Extract or Generate extension description file
to use "SlicerExtensionDescriptionSpec"

* Add tests

Revision 25191  Directory Listing
Modified Tue Jun 14 00:12:05 2016 UTC (15 months, 1 week ago) by jcfr
STYLE: Simplify SlicerConfigureVersionHeader target

This commit introduces vtkSlicerVersionConfigureInternal.h header
containing static information not expected to change between
source updates.

This commit also adds doxygen documentation.

Suggested-by: Francois Budin <francois.budin@kitware.com>

Revision 25190  Directory Listing
Modified Tue Jun 14 00:12:03 2016 UTC (15 months, 1 week ago) by jcfr
BUG: Ensure vtkSlicerConfigureVersion header is always up-to-date. Fixes #2087

Since vtkSlicerVersionConfigure.h was only updated at configure time,
a source code update that wasn't triggering a reconfigured was causing
the content of the header to be out of sync with the current build date
and revision.

This commit adds the target 'SlicerConfigureVersionHeader' ensuring
the version header is always up-to-date.

To ensure the file is generated when first needed, a dependency between
qSlicerBaseQTCore and SlicerConfigureVersionHeader is added.

Co-authored-by: Francois Budin <francois.budin@kitware.com>

Revision 25189  Directory Listing
Modified Tue Jun 14 00:12:02 2016 UTC (15 months, 1 week ago) by jcfr
STYLE: CMakeLists: Move setting of Slicer version into its own file

Revision 25183  Directory Listing
Modified Sat Jun 11 06:36:23 2016 UTC (15 months, 2 weeks ago) by jcfr
BUG: Extension packaging: Fix regression for regular extension

This commit re-adds code that was inadvertently removed in r25181 (BUG:
Extension packaging: For SuperBuild extension, ensure fixup happens last)

Revision 25182  Directory Listing
Modified Fri Jun 10 23:55:16 2016 UTC (15 months, 2 weeks ago) by jcfr
BUG: Extension packaging: Support fixup of 3rd-party (external proj) libs

Introduces "Slicer_THIRDPARTY_(BIN|LIB|SHARE)_DIR" and
"Slicer_INSTALL_THIRDPARTY_(BIN|LIB|SHARE)_DIR" variables providing a
well defined interface for configuring the build and install directories
of external projects.

This commit also updates the extension fixup script to consider
libraries associated with thirdparty libraries.

See SBU-BMI/SlicerOpenCV#30

Revision 25181  Directory Listing
Modified Fri Jun 10 23:55:14 2016 UTC (15 months, 2 weeks ago) by jcfr
BUG: Extension packaging: For SuperBuild extension, ensure fixup happens last

For extension of type "SuperBuild", the external projects to install are
specified by appending build directories to the variable
"CPACK_INSTALL_CMAKE_PROJECTS", then this variable is processed at
packaging time by "CPack".

This means that simply ensuring the fixup script is executed last during
the install of the current project was not sufficient.

Instead, this commit creates a minimal CMake project named
"<ExtensionName>-Fixup" that is including the fixup script. Then, this
project is appending last to the variable "CPACK_INSTALL_CMAKE_PROJECTS".

See SBU-BMI/SlicerOpenCV#30

Revision 25180  Directory Listing
Modified Fri Jun 10 23:55:12 2016 UTC (15 months, 2 weeks ago) by jcfr
BUG: Extension packaging: Ensure @rpath is not applied at build time

Having the ids of library set as full path is mandatory to ensure
fixup bundle script works properly.

Setting CMAKE_MACOSX_RPATH to 0 ensures that @rpath will not be automatically
be applied to extension module libraries where the CMake minimum required
version >= 3.0.

CMake 3.0 is the version where CMP0042 is set to NEW by default.

CMP0042 set to NEW means that CMAKE_MACOSX_RPATH is ON by default.

Notes: Existing workarounds within Slicer core (e.g use of patched version
of ITK forcing CMP0042 to OLD) will be removed and a similar change will
also be applied to SlicerCPack.cmake.

See SBU-BMI/SlicerOpenCV#30

Revision 25147  Directory Listing
Modified Thu Jun 2 03:36:07 2016 UTC (15 months, 3 weeks ago) by jcfr
ENH: Add configure time check that CMake supports HTTPS

Some build targets require downloading files using the HTTPS protocol. Before
this commit, targets such as 'python-source' would fail during the build process
with errors like:

    CMake Error at python-source-prefix/src/python-source-stamp/download-python-source.cmake:27 (message):
      error: downloading
      'https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz' failed

        status_code: 1
        status_string: "Unsupported protocol"
        log: Protocol "https" not supported or disabled in libcurl

This commit adds a configure-time check that CMake supports HTTPS. Now,
developers are made aware of the problem before building. If https is
supported it displays:

-- Checking if CMake supports https
-- Checking if CMake supports https - ok

If CMake doesn't support HTTPS, the configuration step now fails with a
descriptive error message and a suggested solution:

    CMake Error at CMake/SlicerCheckCMakeHTTPS.cmake:21 (message):
      error: This CMake does not support the HTTPS protocol.  Ensure that CMake
      is compiled with CMAKE_USE_OPENSSL enabled.

Fixes http://www.na-mic.org/Bug/view.php?id=4098

From: Max Smolens <max.smolens@kitware.com>

Revision 25128  Directory Listing
Modified Tue May 31 06:11:35 2016 UTC (15 months, 3 weeks ago) by jcfr
STYLE: Simplify import of Logic/MRML/DisplayableManager python modules

Instead of creating intermediate python scripts, this commit updates
loadable modules wrapping and import mechanism to directly use the
shared library.

The management of PythonQt and VTK*Python module is now identical.

Revision 25083  Directory Listing
Modified Thu May 19 07:10:48 2016 UTC (16 months, 1 week ago) by jcfr
STYLE: Automatically enable "ignore-slicerrc" if "testing" option is given

This simplifies writing of tests.

Revision 25040  Directory Listing
Modified Mon May 2 09:10:25 2016 UTC (16 months, 3 weeks ago) by jcfr
ENH: SlicerConfig: Allow forcing of Slicer_WC_REVISION to facilitate testing

Revision 25024  Directory Listing
Modified Sun Apr 24 23:15:01 2016 UTC (17 months ago) by jcfr
ENH: Add convenience target SlicerGenerateExtensionTemplates

This target, available on unix, allows to re-generate the extensions
templates in Extensions Testing directory using the extension wizard.

It also adds the extension wizard option --localExtensionsDir allowing
to explicitly mark an extension as a "local".

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24990  Directory Listing
Modified Tue Mar 22 22:07:23 2016 UTC (18 months ago) by jcfr
COMP: midas_api_upload_package: Do not attempt upload if login failed.

Revision 24989  Directory Listing
Modified Tue Mar 22 22:07:22 2016 UTC (18 months ago) by jcfr
STYLE: Fix comment associated with packageupload target

Revision 24985  Directory Listing
Modified Mon Mar 21 22:53:56 2016 UTC (18 months ago) by jcfr
ENH: Update Slicer driver dashboard script to display variables.

This will facilitate understanding of the build context.

Here is an example of output:

$ ctest -S slicer_experimental.cmake -VV
* Extra verbosity turned on
Reading Script: /home/jcfr/Projects/sandbox/slicer_experimental.cmake
-- Setting 'MIDAS_PACKAGE_URL' variable with default value 'http://slicer.kitware.com/midas3'
-- Setting 'MIDAS_PACKAGE_EMAIL' variable with environment variable value 'OBFUSCATED'
-- Setting 'MIDAS_PACKAGE_API_KEY' variable with environment variable value 'OBFUSCATED'
-- Setting 'run_ctest_with_disable_clean' variable with default value 'FALSE'
-- Setting 'run_ctest_with_configure' variable with default value 'TRUE'
-- Setting 'run_ctest_with_coverage' variable with default value 'TRUE'
-- Setting 'run_ctest_with_memcheck' variable with default value 'TRUE'
-- Setting 'run_ctest_with_packages' variable with default value 'TRUE'
-- Setting 'run_ctest_with_upload' variable with default value 'TRUE'
-- Setting 'run_ctest_with_notes' variable with default value 'TRUE'
-- CTEST_SITE ........................: cerrotorre.kitware
-- CTEST_BUILD_NAME ..................: Linux-g++5.2.1-64bits-QT4.8.7-PythonQt-With-Tcl-NoCLI-Release
-- SCRIPT_MODE .......................: experimental
-- CTEST_BUILD_CONFIGURATION .........: Release
-- WITH_MEMCHECK .....................: FALSE
-- WITH_COVERAGE .....................: FALSE
-- WITH_DOCUMENTATION ................: FALSE
-- ADDITIONAL_CMAKECACHE_OPTION ......:

-- CTEST_NOTES_FILES .................: /home/jcfr/Projects/sandbox/slicer_experimental.cmake
-- CTEST_DASHBOARD_ROOT ..............: /home/jcfr/Projects/
-- CTEST_CMAKE_GENERATOR .............: Unix Makefiles
-- CTEST_TEST_TIMEOUT ................: 500
-- CTEST_BUILD_FLAGS .................: -j8
-- TEST_TO_EXCLUDE_REGEX .............:
-- CTEST_PROJECT_NAME ................: Slicer4
-- CTEST_SOURCE_DIRECTORY ............: /home/jcfr/Projects//Slicer
-- CTEST_BINARY_DIRECTORY ............: /home/jcfr/Projects//Slicer-Release
-- CTEST_COVERAGE_COMMAND ............: /usr/bin/gcov
-- CTEST_MEMORYCHECK_COMMAND .........: /usr/bin/valgrind
-- CTEST_SVN_COMMAND .................: /usr/bin/svn
-- CTEST_GIT_COMMAND .................: /usr/bin/git
-- QT_QMAKE_EXECUTABLE ...............: /home/jcfr/Support/qt-everywhere-opensource-build-4.8.7/bin/qmake
-- CTEST_CONFIGURATION_TYPE ..........: Release
-- CTEST_LOG_FILE ....................: NOT DEFINED
-- CTEST_NOTES_FILES .................: /home/jcfr/Projects/sandbox/slicer_experimental.cmake
-- CTEST_PARALLEL_LEVEL ..............: 8
-- MIDAS_PACKAGE_URL .................: http://slicer.kitware.com/midas3
-- run_ctest_submit ..................: 1
-- run_ctest_with_disable_clean ......: FALSE
-- run_ctest_with_update .............: 0
-- run_ctest_with_configure ..........: TRUE
-- run_ctest_with_build ..............: 0
-- run_ctest_with_test ...............: 0
-- run_ctest_with_coverage ...........: TRUE
-- run_ctest_with_memcheck ...........: TRUE
-- run_ctest_with_packages ...........: TRUE
-- run_ctest_with_upload .............: TRUE
-- run_ctest_with_notes ..............: TRUE
-- SVN_REPOSITORY ....................: http://svn.slicer.org/Slicer4
-- SVN_BRANCH ........................: trunk
-- SVN_REVISION ......................:
-- SVN_URL ...........................: http://svn.slicer.org/Slicer4/trunk
-- empty_binary_directory ............: FALSE
-- force_build .......................: TRUE
-- model .............................: Experimental
-- track .............................: Experimental-Packages
-- CTEST_USE_LAUNCHERS ...............: 1
[...]

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24984  Directory Listing
Modified Mon Mar 21 22:53:54 2016 UTC (18 months ago) by jcfr
BUG: Update Slicer build system to report packaging errors on CDash.

See #3032

This commit adds a new target named "packageupload" that will
(1) build the standard 'package' target,
(2) extract the list of generated packages from its standard output and
(3) append the list of generated package filepaths to a file named PACKAGES.txt,
(4) upload the packages on midas.

Using this target a Slicer package can be uploaded to midas without
relying on CTest.

Within the ctest script, the target "packageupload" is built and then
the URL to download packages from midas are uploaded to CDash based on the
content of the file PACKAGES.txt

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24983  Directory Listing
Modified Mon Mar 21 22:53:52 2016 UTC (18 months ago) by jcfr
ENH: Remove support for building an ExtensionsIndex directly from Slicer

This commit simplifies Slicer build system removing the (untested) support
for building extensions given a directory containing *.s4ext files.

Note that building extensions by configuring and building the project
in "Extensions/CMake" can still be done. Extensions dashboards use and
test this approach. The template extension dashboard script can be used
as a model.

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24982  Directory Listing
Modified Mon Mar 21 22:53:50 2016 UTC (18 months ago) by jcfr
BUG: UseSlicer: Do not display value of Email and ApiKey.

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24981  Directory Listing
Modified Mon Mar 21 22:53:48 2016 UTC (18 months ago) by jcfr
ENH: Update slicer_setting_variable_message to understand OBFUSCATE option.

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24978  Directory Listing
Modified Mon Mar 21 22:53:43 2016 UTC (18 months ago) by jcfr
STYLE: Remove unneeded check for "ctest_upload" command

This code is now required anymore since the CMake minimum required
version (2.8.9) provided the command.

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24962  Directory Listing
Modified Wed Mar 9 04:32:18 2016 UTC (18 months, 2 weeks ago) by jcfr
STYLE: Rename Build Dir in PreventInSourceBuilds

Make the name used as the build directory consistent with line 22.

From: Alexis Girault <agirault@users.noreply.github.com>

Revision 24956  Directory Listing
Modified Thu Mar 3 17:00:12 2016 UTC (18 months, 3 weeks ago) by jcfr
ENH: Add include directories in slicerMacroBuildApplication

The slicerMacroBuildApplication was not including the
SLICERAPP_INCLUDE_DIRECTORIES defined in the macro by
the INCLUDE_DIRECTORIES argument.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Alexis Girault <alexis.girault@kitware.com>

Revision 24895  Directory Listing
Modified Tue Jan 26 05:12:44 2016 UTC (20 months ago) by jcfr
ENH: ITKPython: Add support for optionally installing ITKPython Wrapping

This commit adds the option Slicer_INSTALL_ITKPython (default OFF) that
depends on Slicer_BUILD_ITKPython (also OFF by default).

When enabled, ITK Wrapping files will be installed and packaged along
side the Slicer application.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Johan Andruejol <johan.andruejol@kitware.com>

Revision 24894  Directory Listing
Modified Tue Jan 26 05:12:42 2016 UTC (20 months ago) by jcfr
STYLE: Fix indentation in SlicerBlockInstallCMakeProjects.cmake

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24801  Directory Listing
Modified Tue Dec 1 20:06:37 2015 UTC (21 months, 3 weeks ago) by jcfr
STYLE: Remove VTKv5 support

As discussed during the developer hangout of 2015-03-31, this commit
removes support for VTKv5.

Most of the h/cxx files have been updated automatically using the
script "slicer_remove_vtk5_support.py" [1]. See below.

The remaining of h/cxx, python and CMake files have been updated
manually.


slicer_remove_vtk5_support.py:
cd ~/Project/Slicer
~/Download/slicer_remove_vtk5_support.py $(ack -l VTK_MAJOR_VERSION)

[1] https://gist.github.com/jcfr/91d2f5d07c2a36320e48

Revision 24793  Directory Listing
Modified Tue Dec 1 00:23:01 2015 UTC (21 months, 3 weeks ago) by jcfr
COMP: Update ExternalProjectDependency based on commontk/Artichoke@7f3359ad

This commit updates code introduced in commit r24779 so that it works
with CMake older than 3.2 in which "continue()" command was added.

Revision 24792  Directory Listing
Modified Tue Dec 1 00:22:59 2015 UTC (21 months, 3 weeks ago) by jcfr
COMP: ListToString: Ensure function works with CMake 2.8.9

This commit updates code introduced in commit r24778 so that it works
with CMake older than 3.2 in which "continue()" command was added.

Revision 24779  Directory Listing
Modified Sat Nov 28 04:23:50 2015 UTC (21 months, 4 weeks ago) by jcfr
COMP: Update ExternalProjectDependency based on commontk/Artichoke@7115980

$ git shortlog 82fa9f4..7115980 --no-merges
Jean-Christophe Fillion-Robin (1):
      _sb_list_to_string: Update function to not set CMP0007 to OLD

Revision 24778  Directory Listing
Modified Sat Nov 28 04:23:48 2015 UTC (21 months, 4 weeks ago) by jcfr
STYLE: ListToString: Update function to not set CMP0007 to OLD

Revision 24777  Directory Listing
Modified Thu Nov 26 22:22:31 2015 UTC (21 months, 4 weeks ago) by jcfr
STYLE: CMakeLists.txt: Set CMP0048 policy to NEW

This commit also updates projects EMSegment, MultiVolumeExplorer,
OpenIGTLinkIF and SlicerSimpleFilters.

EMSegment:

r17114
STYLE: Fix CMake warning setting CMP0048 to NEW


MultiVolumeExplorer:

$ git shortlog  9cd4730..a0743dc --no-merges
Jean-Christophe Fillion-Robin (5):
      STYLE: Remove unused extension packaging code
      STYLE: Simplify CMakeLists.txt removing extra comments
      STYLE: Update CMakeLists.txt to use recommended variable names
      STYLE: Update testing/CMakeLists.txt to use slicerMacroConfigureModuleCxxTestDriver
      STYLE: Fix CMake warning setting CMP0048 to NEW


OpenIGTLinkIF:

$ git shortlog 435b1c3..3ad1f67 --no-merges
Jean-Christophe Fillion-Robin (3):
      STYLE: Simplify CMakelists directly including find_package(Slicer)
      STYLE: CMakeLists.txt: Use recommended variable names
      STYLE: Fix CMake warning setting CMP0048 to NEW


SlicerSimpleFilters:

$ git shortlog 48b7873..c58cfe5 --no-merges
Jean-Christophe Fillion-Robin (1):
      STYLE: Fix CMake warning setting CMP0048 to NEW

Revision 24757  Directory Listing
Modified Fri Nov 20 02:59:35 2015 UTC (22 months ago) by jcfr
ENH: Added output checking to module CXX tests

Added a new option (WITH_VTK_ERROR_OUTPUT_CHECK) to slicerMacroConfigureModuleCxxTestDriver
that enables checking of error and warning messages. If the option is enabled then the test
fails if unexpected error or warning is logged.

Enabled the option for all tests that had debug leaks check option (WITH_VTK_DEBUG_LEAKS_CHECK)
enabled. Fixed failing tests by fixing the test, the tested code, or (most frequently) marking
expected errors/warning (using TESTING_OUTPUT_ASSERT_ERRORS_BEGIN() / TESTING_OUTPUT_ASSERT_ERRORS_END()
and similar macros).

Reviewed-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Andras Lasso <lasso@queensu.ca>

Revision 24732  Directory Listing
Modified Thu Nov 12 16:46:15 2015 UTC (22 months, 1 week ago) by jcfr
BUG: Fix CMake code checking if current build is a release or not.

Following r21548 (ENH: Make the applications to build customizable),
Slicer_VERSION_TWEAK is passed as a parameter to Slicer external
project, to account for this, this commit updates the code to check
for the variable being an empty string.

Revision 24731  Directory Listing
Modified Thu Nov 12 16:46:13 2015 UTC (22 months, 1 week ago) by jcfr
COMP: Fix ExternalProjectAddSource to work with non-clean build directory.

This commit ensure option associated with remote module are always
up-to-date even when changed in an existing build directory.

This particular problem was found after changing the minor version
to "5" and observing that BRAINSTools module were still building
in the lib/Slicer-4.4/cli-modules directory.

This was explained because variables like
BRAINSTools_CLI_LIBRARY_OUTPUT_DIRECTORY were not forced into the
cache, preventing the "mark_as_superbuild" function from grabbing
the up-to-date value.

Revision 24652  Directory Listing
Modified Wed Oct 21 02:02:28 2015 UTC (23 months ago) by jcfr
BUG: ExtensionsWizard: Fix CERTIFICATE_VERIFY_FAILED publishing error

This commit fixes SSL a regression introduced when updating the
version of python in r24526 (ENH: Upgrade to Python 2.7.10) because
of python/cpython@ae5b953 (pep 476: verify certificates by default (#22417))

The error was first reported in [1] and happened when contributing
an extension using the steps report below.

[1] http://slicer-devel.65872.n3.nabble.com/Problem-with-the-ExtensionWizard-td4035337.html

This commit fixes the issue by setting the SSL_CERT_FILE as suggested in
PEP-0476. See https://www.python.org/dev/peps/pep-0476/

Step to reproduce the problem:

// ----------------
$ bin/slicerExtensionWizard --create Slicer-MyTestExtension --addModule cli:MyTestCLI  ~
copy template
'/home/jcfr/Projects/Slicer/Utilities/Templates/Extensions/Default' to
'/home/jcfr/Slicer-MyTestExtension', replacing 'TemplateKey' -> 'Slicer-
MyTestExtension'
[...]
created module 'MyTestCLI'

$ bin/slicerExtensionWizard --publish ~/Slicer-MyTestExtension/
Creating initial commit containing the following files:
  MyTestCLI/Testing/Cxx/CMakeLists.txt
[...]
Continue y,n? y
creating github repository
Username for 'https://github.com': jcfr
Password for 'https://jcfr@github.com':
failed to publish extension: [SSL: CERTIFICATE_VERIFY_FAILED] certificate
verify failed (_ssl.c:590)
// ----------------

Reported-by: Jean-Baptiste Vimort <jvimort@umich.edu>

Revision 24631  Directory Listing
Modified Mon Oct 19 19:13:34 2015 UTC (23 months, 1 week ago) by jcfr
BUG: FindGit: Add GIT_VERSION_STRING from upstream.

This is required to use upstream ExternalProject.cmake for CMake 3.4rc01.

The use of GIT_VERSION_STRING in ExternalProject.cmake was added to
upstream version of the FindGit.cmake script in kitware/CMake@b04c38159
and kitware/CMake@7c5b6ed5c.

Comment https://cmake.org/Bug/view.php?id=15791 provides more details.

From: Matt McCormick <matt.mccormick@kitware.com>

Revision 24630  Directory Listing
Modified Mon Oct 19 19:04:28 2015 UTC (23 months, 1 week ago) by jcfr
STYLE: Remove executable bit from SlicerExtensionCPack scripts

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24629  Directory Listing
Modified Mon Oct 19 19:04:26 2015 UTC (23 months, 1 week ago) by jcfr
STYLE: Remove executable bit from FindGit.cmake.

From: Matt McCormick <matt.mccormick@kitware.com>

Revision 24627  Directory Listing
Modified Fri Oct 16 20:58:25 2015 UTC (23 months, 1 week ago) by msmolens
BUG: Fix packaging on Windows

A regression was introduced in r24591 [1] and r24593 [2] that causes packaging
to fail on Windows because of the following errors:

    CMake Error: Error in cmake code at
    C:/D/N/Slicer-1-build/Slicer-build/CPackConfig.cmake:109:
    Parse error.  Function missing ending ")".  Instead found unterminated string wi
    th text ")
    endif()

    if(EXISTS ${CPACK_PROPERTIES_FILE})
      include(${CPACK_PROPERTIES_FILE})
    endif()
    ".
    CPack Error: Problem reading CPack config file: "C:/D/N/Slicer-1-build/Slicer-bu
    ild/CPackConfig.cmake"

and

    CMake Warning (dev) at C:/dev/SR2/Slicer-build/CPackConfig.cmake:74 (SET):
      Syntax error in cmake code at

        C:/dev/SR2/Slicer-build/CPackConfig.cmake:74

      when parsing string

        ..\Slicer;Slicer

      Invalid escape sequence \S

The issue is that the slicer_verbose_set() macro doesn't function as a drop-in
replacement for the CMake set() function.

The first error occurs because CPACK_NSIS_INSTALL_SUBDIRECTORY remains unset
even after the following lines:

    set(Slicer_CPACK_NSIS_INSTALL_SUBDIRECTORY "")
    slicer_cpack_set("CPACK_NSIS_INSTALL_SUBDIRECTORY")

and the conditional below erroneously evaluates to true:

    if(NOT CPACK_NSIS_INSTALL_SUBDIRECTORY STREQUAL "")

Adding quotation marks around the ${ARGN} variable address this error.

The second error occurs because macros consume escapes in string literals, as
documented in CMake bug 5389 [3].

Change the macro to a function and making its set() call use PARENT_SCOPE
addresses this error.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=24591
[2] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=24593
[3] https://cmake.org/Bug/view.php?id=5389

Co-authored-by: Francois Budin <fbudin@email.unc.edu>

From: Max Smolens <max.smolens@kitware.com>

Revision 24615  Directory Listing
Modified Thu Oct 8 04:34:12 2015 UTC (23 months, 2 weeks ago) by lassoan
ENH: Make vtkAddon classes available in Python as vtkITK

Similarly to vtkITK make vtkAddon classes (vtkOrientedGridTransform, vtkOrientedBSplineTransform) easily accessible in Python.
One can now write: import vtkAddon (instead of import vtkAddonPython) to make classes available.

Revision 24600  Directory Listing
Modified Tue Oct 6 01:28:58 2015 UTC (23 months, 2 weeks ago) by jcfr
BUG: CR and LF replaced in URL when uploading extensions

CMake string variables can contain new lines [1][2]. The Slicer extension
mechanism uses string CMake to create extension description files and to
create the URL containing meta-data and the package file name to upload
extensions to the Midas server. New lines need to be handled correctly,
otherwise the user will receive a message that the Midas server did not
accept the submission of the extension. Carriage Return (CR) and
Line Feed (LF) need to be replace by equivalent URL-encoding characters.

[1] http://slicer-devel.65872.n3.nabble.com/Problem-with-the-factory-not-uploading-some-extensions-td4035069.html
[2] https://github.com/Slicer/ExtensionsIndex/pull/1112#issuecomment-145706433

From: Francois Budin <fbudin@unc.edu>

Revision 24593  Directory Listing
Modified Fri Oct 2 22:29:23 2015 UTC (23 months, 3 weeks ago) by jcfr
ENH: SlicerCPack: Introduce CPACK_NSIS_INSTALL_SUBDIRECTORY

If Slicer is configured using -DSlicer_CPACK_NSIS_INSTALL_SUBDIRECTORY:STRING=Foo
the application will be installed in

   "C:\Program Files\Foo\Slicer X.Y.Z"

instead of

   "C:\Program Files\Slicer X.Y.Z"

Revision 24592  Directory Listing
Modified Fri Oct 2 22:29:21 2015 UTC (23 months, 3 weeks ago) by jcfr
STYLE: SlicerCPack: Set NSIS generator properties only if it applies

Revision 24591  Directory Listing
Modified Fri Oct 2 22:29:20 2015 UTC (23 months, 3 weeks ago) by jcfr
STYLE: SlicerCPack: Simplify code introducing slicer_verbose_set macro

Revision 24590  Directory Listing
Modified Fri Oct 2 22:29:18 2015 UTC (23 months, 3 weeks ago) by jcfr
STYLE: SlicerCPack: Move generator selection at the top of the file

Revision 24586  Directory Listing
Modified Wed Sep 30 14:21:47 2015 UTC (23 months, 3 weeks ago) by fedorov
ENH: Update DMCTK to use version DCMTK-3.6.1_20150924

The important improvements provided by the new version of DCMTK
is the support for new API that in particular greatly simplify creation of and
interaction with DICOM Segmentation image objects.

More specifically, it introduces the dcmiod, dcmfg and dcmseg classes
helpful in creating multiframe DICOM objects, such as segmentation and
parametric map objects.

Considering that standard and private dictionaries can now be  embedded
in DCMTK library, this commit partially reverts r24473 (ENH: Add support
for DCMTK private dictionary). The test DCMTKPrivateDictTest.py was updated to
not expect DCMDICTPATH environment variable that is no longer needed and is not
initialized.

List of DCMTK changes:

$ git shortlog 3366181..DCMTK-3.6.1_20150924 --no-merges

Andreas Thiel (1):
      Updated man pages for new development snapshot.

Jan Schlamelcher (86):
      Some workarounds for VC6 compiler peculiarity.
      Introduced OFunique_ptr as a fallback if std::unique_ptr is not available.
      Make use of  unique pointer (free memory if C-MOVE/C-FIND is canceled).
      Fixed dll build on windows.
      Correction of inconsistent previous commit.
      Fixed DcmSCPPool test case failing on older systems.
      Enabled shutdown functionality of DcmSCPPool.
      Fixed building with mingw-w64.
      Fixed most of the warnings in dcmjpeg.
      Fixed potential bug in dcmjpeg 12 and 16 bit variants.
      Marked SCPPool-Test (dcmnet_scp_pool) as exhaustive.
      Fixed most of the warnings in dcmdata.
      Fixed a mistake in CHANGES.361.
      Minor fixes in dcmdata.
      Added support for some C++11 types, literals and traits.
      Added documentation for the new macro "DOXYGEN".
      Fixed most of the warnings in ofstd and oflog.
      Added support for some additional C++11 traits.
      Introduced the new explicit boolean type OFExplicitBool.
      Fixed possibly wrong overload resolution in DSRCodedEntryValue.
      Minor fixes (whitespace and line ending errors).
      Modified DcmQuantColorHashTable to perform lazy initialization.
      Introduced OFoptional, implementing optional types.
      Renamed DoxygenLayout.xml to comply with filename conventions.
      Minor fixes and workarounds for Microsoft's compilers.
      Fixed ofstd_tatof error on older MSVC versions.
      Fixed DCMTK-Exports for custom module setups.
      Fixed and suppressed some warnings.
      Added 'DCMTK_USE_CXX11_STL' and 'DCMTK_CXX11_FLAGS'.
      Updated manpages.
      Updated DCMTK_ABI_VERSION for new development snapshot.
      Clarified an ambiguous configure message.
      Removed misleading comment in dcmjpeg.
      Fixed a wrong type-alias for OFintegral_constant.
      Introduced C++11-like alignment support.
      Fixed an alignment problem in OFoptional.
      Fixed building 32 bit targets with mingw-w64.
      Refined definition of numeric types and traits.
      Fixed a problem with Microsoft Safe CRT in oflog.
      Fixed a bug in dcmdata.
      Introduced DcmOutputBufferStream::filled() method.
      Fixed a problem in storescp.
      Modified some of OFoptional's comparison operators.
      Introduced OFtuple implementing generic tuples.
      Introduced move emulation for pre C++11 compilers.
      Small fixes for a previous commit about OFtuple.
      Several fixes and additions for yesterday's commits.
      Reintroduced bugfix-comment in dcmjpeg.
      Fixed autoconf install regarding ofstd variadic.
      Introduced OFnumeric_limits.
      Several fixes regarding OFnumeric_limits.
      Fixed possible arith.h generation problem on MinGW.
      Introduced basic support for assisted cross compiling.
      Fixed some problems regarding DCMTK's C++11 support.
      Added support for trusted client certificates.
      Adjusted DCMNET's default socket buffer length.
      Introduced cross compiling support for Android.
      Fixed a const correctness problem within DCMTLS.
      Introduced check-exhaustive targets to Autoconf.
      Corrections regarding recent commits.
      Modified CMake minimum version as required.
      Revised cleanup of temporary unit test files.
      Updated Autoconf dependencies.
      Updated man pages for new development snapshot.
      Updated DCMTK_ABI_VERSION for new development snapshot.
      Fixed a CMake problem with paths containing spaces.
      Moved some utility functions inside OFStandard.
      Modified fallback implementation of OFtuple.
      Added additional configuration methods for DCMTLS.
      Updated Makefile dependencies.
      Updated DCMTK_ABI_VERSION for new development snapshot.
      Moved CHANGES.361 to /docs.
      Updated Doxygen configuration files.
      Updated man pages.
      Updated default compiler flags.
      Refactored handling of some <cmath> functions.
      Fixed problems with previous commit.
      Fixed cross compiling via MinGW and Wine.
      Fixed building on FreeBSD.
      Fixed building on FreeBSD with C++11 enabled.
      Fixed inconsistent defines in CMake's osconfig.h.
      Fixed a problem in DcmAttributeFilter's unit test.
      Fixed building via GCC 4.2 on OpenBSD.
      Updated man pages for new development snapshot.
      Updated DCMTK_ABI_VERSION for new development snapshot.
      Updated CHANGES.361 for new development snapshot.

Joerg Riesmeier (511):
      Added support for CP-1236 to data dictionary.
      Added support for CP-1236 to checkAndUpdateVR() method.
      Added support for Supplement 154 to the data dictionary.
      Added support for new SOP Class UIDs from Supplement 154.
      Added support for directory record type "SURFACE SCAN".
      Added new SOP Class UID from Supplement 162.
      Added missing assignment of member variable.
      Added full support for the new Comprehensive 3D SR IOD.
      Fixed various issues in syntax usage output.
      Minor fixes in comments, e.g. typos.
      Minor fixes in comments. Also made some input parameters "const".
      Use non-throwing new and delete operator.
      Fixed two possible memory leaks.
      Added comment to variable that is currently unused.
      Fixed issue with odd-length pixel data.
      Added missing sub-directory to "make install" target.
      Added some debug output to lookForXfer() method.
      Added some debug output to read() method.
      Added new print options for SOP class output.
      Added new command line options for print output.
      Fixed bug in checkSOPClassUID() method.
      Added note on support for shared libraries.
      Added support for CP-1246 and CP-1249 to data dictionary.
      Fixed some tag key constants of recently retired attributes.
      Fixed issue with unnecessary call to clearNodeCursorStack().
      Added missing support for the new print options.
      Enhanced output to trace logger.
      Fixed inconsistencies introduced with last commit.
      Various fixes to comments. Removed trailing spaces.
      Added support for recently approved Correction Items.
      Enhanced documentation of complete flag methods.
      Added support for Supplement 157 to data dictionary.
      Added SOP Class UIDs from Supplement 157.
      Minor fixes to comments on VOI-related methods.
      Fixed bug in getTimeZoneFromString() method.
      Fixed issue with misplaced log output.
      Replaced "OFString::length() == 0" by "OFString::empty()".
      Replaced "OFString::length() != 0" by "!OFString::empty()".
      Replaced "OFString::length() > 0" by "!OFString::empty()".
      Added support for new VR "Other Double String" (OD)
      Added private tags for AGFA IMPACS 6.5.x Solution.
      Fixed wrong VR for private AGFA IMPAX tag.
      Updated version number of snapshot compilers.
      Added comment on inappropriate use of EC_IllegalCall.
      Fixed various oddities and inconsistencies:
      Replaced tabulator by space characters.
      Fixed various oddities and inconsistencies.
      Really call shouldStopAfterCurrentSOPInstance():
      Fixed further documentation issues.
      Removed trailing space characters.
      Fixed various typos.
      Added releaseAssociation() and abortAssociation()
      Fixed various typos and other Doxygen issues.
      Enable WITH_THREADS for thread-related classes.
      Added new condition constants.
      Fixed various typos.
      Use optional fields in sendSTOREResponse().
      Reimplemented sendSTOREResponse() method.
      Modified log output in loadAssociationCfgFile().
      Fixed issues with optional message fields.
      Removed unused fields from sendACTIONResponse().
      Added file missing for last commit :(
      Added progress notification to DcmSCP.
      Removed trailing spaces.
      Added global helper function createDirectory().
      Fixed some minor Doxygen issues.
      Added new class DcmStorageSCP.
      Added new command line tool "dcmrecv".
      Added comments to unused exit codes.
      Rebuilt Makefile dependencies.
      Updated man pages.
      Function createDirectory() also works on Windows:
      Updated CMake version.
      Fixed various typos.
      Deprecated closeAssociation() method.
      Added support for Supplement 163 to data dictionary.
      Added meta header to stored DICOM files.
      Fixed various typos in comments.
      Pass existing dataset to handleSTORERequest().
      Fixed various inconsistencies in comments.
      Do not copy received dataset in memory.
      Removed class name from derived method calls.
      Removed "&" from constant integer parameters.
      Fixed wrong log message in handleMOVERequest().
      Fixed various typos in comments.
      Restructured implementation of handleSTORERequest().
      Introduced dataset storage mode.
      Fixed various typos in comments.
      Receive C-STORE request dataset directly to file.
      Added new dataset storage mode.
      dded new storage mode options.
      Updated copyright dates (where appropriate).
      Added support for generating a Doxygen tag file.
      Fixed wrong Doxygen reference to a method.
      Minor fixes, e.g. added Doxygen markup.
      Fixed issue with CP-246 files and private tags.
      Slightly changed output of print() method.
      Added new print flag for showing invalid codes.
      Added new option for printing invalid codes.
      Added missing references to closed DCMTK features.
      Fixed typos.
      Added support for <InlineBinary> XML element.
      Clarified use of writeXML() flags.
      Fixed typo copied from Supplement 163.
      Output a warning message if the VR is unknown.
      Output currently processed line of input file.
      Removed superfluous footnote symbol "(*)".
      Fixed various coding style issues.
      Added trace log message on VR replacement.
      Added two new global flags for VR generation.
      Made use of new global flags for VR generation:
      Updated our email address for bug reports.
      Updated to autoconf 2.69.
      Added definition of DCMTK_PACKAGE_URL.
      Added Doxygen tag file to .gitignore.
      Added *.patch files to .gitignore.
      Also updated autoconf support files.
      Updated automake script to version 1.14.
      Fixed typos.
      Fixed various typos.
      Fixed various typos in comments.
      Added method to determine SpecificCharacterSet.
      Added 'charset' parameter to checkStringValue().
      Added new variant of checkElementValue().
      Avoid unnecessary copies of sequence elements.
      Enhanced implementation of checkCode() method.
      Report warning on unsupported character set.
      Use helper function findAndGetSequence().
      Updated comment on current character set issue.
      Fixed memory leak in log4cplus code.
      Minor fixes in comments.
      Minor changes to comments.
      Updated Doxygen configuration files.
      Removed outdated custom CSS file.
      Updated URL of DCMTK's home page.
      Fixed timeout issue in handleAssociation().
      Fixed source code formatting and various comments.
      Fixed wrong content type of XML element in DTD.
      Do not output group length in Native DICOM Model.
      Fixed outdated comment on 1st PN component group.
      Removed redundant API comment.
      Added support for CP-1268 to data dictionary.
      Added support for Supplement 168 to data dictionary.
      Added support for new UID from Supplement 168.
      Never output NULL bytes to markup string/stream.
      Adapted test cases for markup conversion.
      Iterate more efficiently over sequence items.
      Use helper method for deleting data elements.
      Added comments on missing features.
      Fixed small typos in comments.
      Added support for Real World Value Mapping objects.
      Added comment on getFrameList() method.
      Moved checkCurrentValue() to "protected" section.
      Slightly enhanced comments.
      Check return value of write() methods.
      Added support for Referenced Segment Number.
      Updated CMake version.
      Fixed small issue reported by CMake 2.8.12.
      Added Corneal Topography Map Storage SOP Class.
      Fixed bug that could cause a crash.
      Fixed doubled output of XML start tag for VR=OD.
      Added comment on wrong color model for icon images.
      Fixed issue with color icon images.
      Removed trailing white spaces from man pages files.
      Fixed build issue with shared libraries (Win32).
      Avoid CMake warning on non-installable files.
      Added missing break statements to switch cases.
      Removed redundant and outdated Word document.
      Added global flag for disabling the VR checker.
      Added new option for disabling the VR checker.
      Fixed minor Doxygen-related issue in documentation.
      Fixed name of PN component in Native DICOM Model.
      Fixed minor Doxygen-related issue in documentation.
      Fixed issue with test "ofstd_markup_6" (Win32).
      Fixed various typos in man pages.
      Fixed output of AT values in Native DICOM Model.
      Do not check valueLoaded() for Native DICOM Model.
      Completed support for <InlineBinary> XML element.
      Second try to fix the issue with "ofstd_markup_6".
      Fixed typos, comments and coding style.
      Replaced deprecated DcmSCU::closeAssociation().
      Removed check on number of command line arguments.
      Cleaned up source code in various aspects.
      Again, fixed comments to be consistent with code.
      Fixed comments and documented default values.
      Added support for recently approved CPs.
      Added support for Supplement 165 to data dictionary.
      Added support for new UIDs from Supplement 165.
      Fixed wrong/missing comment on method parameter.
      Fixed various minor documentation issues.
      Added missing module dcmrt to include directories.
      Removed comment on UID_HangingProtocolStorage.
      Added support for approved but still missing CPs.
      Added comments on some ACR/NEMA attributes.
      Fixed timeout issue in DIMSE_moveUser().
      Fixed typos in comments.
      Moved ACR/NEMA data dictionary to a separate file.
      Fixed issue with wrong check on stream compression.
      Fixed wrong VR for some retired command fields.
      Consistently use upper case letters for DICOM tags.
      Added new test cases for testing helper functions.
      Fixed typo and added comment.
      Added OFFilename versions to some helper functions.
      Added new helper function for renaming files.
      Added function for appending filename extension.
      Added wide character support to this tool.
      Added new helper function for copying files.
      Changed file mode bits back from "0755" to "0644".
      Fixed typo in comment.
      Added new command line option --create-backup.
      Avoid passing invalid values to rename().
      Avoid passing NULL to OFString, which is deprecated.
      Added support for wide chars to DICOMDIR code.
      Fixed issue when compiled with wide char support.
      Added new condition constant and fixed typo.
      Fixed issue with missing terminating NULL byte.
      Always use OFFilename() instead of "" as a default.
      Use printError() instead of OFLOG_FATAL().
      Fixed further issues with wide char support.
      Allow empty file-set ID in DICOMDIR (type 2).
      Fixed some comments.
      Fixed wrong tag in CodingSchemeIdentificationSequence.
      Made installation of tag file optional.
      Added another addContentItem() method.
      Replaced tabs by spaces and fixed indention.
      Fixed various issues in Doxygen comments.
      Fixed various minor issues in new helper class.
      Rebuilt Makefile dependencies.
      Added missing data elements to BD profiles.
      Added check for Shared Functional Groups Sequence.
      DIMSE_createFilestream() now uses an OFFilename.
      Fixed various typo.
      Pass OFString to DIMSE_createFilestream().
      Added support for CP-1090 to the data dictionary.
      Fixed issue with automatically generated classes.
      Removed superfluous quotations marks.
      Fixed small typos in comments.
      Added readPatientData() and readStudyData().
      Updated outdated comments on "log stream".
      Made sure that header file is parsed by Doxygen.
      Made sure that "Files" section is available.
      Added further header files to Doxygen documentation.
      Added support for recently approved CPs.
      Fixed some issues with wide character support.
      Added test for OFStandard::appendFilenameExtension().
      Fixed issue with untyped NULL reported by MSVC++.
      Fixed various typos in comments.
      Enhanced removeRootDirFromPathname() function.
      Enhanced createDirectory() function.
      Use non-throwing new and delete operator.
      Fixed typo in comment.
      Output to debug logger if memory allocation fails.
      Simplified creation of temporary DICOMDIR file.
      Optionally disable isFilenameValid() check.
      Added support for new UIDs from Supplement 124.
      Added support for Supplement 124 to data dictionary.
      Removed superfluous member initialization.
      Fixed typo in comments.
      Added support for determining the FrameTime.
      Access the (total) number of frames in an image.
      Fixed inconsistent parameter type.
      Added explicit type casts to avoid warnings.
      Fixed inconsistent parameter type.
      Updated data dictionary for DICOM 2013 edition.
      Fixed typos in comments.
      Added further error handling options.
      Fixed typos in comments.
      Fixed typos, added missing documentation, etc.
      Various minor fixes for development version.
      Fixed typos in comments.
      Made sure that the move originator is cleared.
      Fixed issue with text alignment in PatternLayout.
      Fixed some Doxygen related issues (and a typo).
      Consistently use "presInfo" for variables/parameters.
      Added support for Supplement 159 to data dictionary.
      Added support for new UID from Supplement 159.
      Added support for new SR IOD from Supplement 159.
      Added DcmSCP::abortAssociation() method.
      Fixed typo and updated copyright date.
      Removed meaningless layout file setting.
      Renamed Doxygen's layout file again.
      Made sure that header file is parsed by Doxygen.
      Group condition constants in Doxygen output.
      Avoid full directory path in Doxygen footer.
      Replaced CMake variable in Doxygen config file.
      Removed outdated comment on DICOM 2008 standard.
      Added missing empty line.
      Fixed typos and other minor issues.
      Updated reference to DICOM standard edition.
      Updated DCMTK's copyright date.
      Added support for CP-1125 to SR implementation.
      Fixed incomplete #include comment.
      Added support for recently approved CPs.
      Updated comment based on CP-1335.
      Added support for new Colon CAD SR constraints.
      Fixed various typos and minor Doxygen issues.
      Updated data dictionary for DICOM 2014a edition.
      Removed year component from version field.
      Minor fixes to file's comment header.
      Updated copyright date and other minor changes.
      Implemented copy constructors and added clone().
      Added explaining comment on new copy constructor.
      Removed outdated CMake exclude pattern.
      Excluded "*.md5" files from installation.
      Made sure that all top-level nodes are deleted.
      Added method counting the number of nodes.
      Added two new convenience functions.
      Fixed issue with tests run in different order.
      Fixed various Doxygen-related issues.
      Introduced new class DSRDocumentSubTree.
      Implemented copy constructors for tree classes.
      Added getPreviousNode() and getChildNode().
      Added further checking methods to cursor class.
      Added gotoFirst() and gotoLast() methods.
      Minor fixes on "const" declaration of pointers.
      Added cloneSubTree() method to tree classes.
      Changed return type of addContentItem(node*).
      Reimplemented various getXXX() methods.
      Cleaned up handling of "unknown" relationships.
      Restructured classes for nodes and trees.
      Fixed a bug in convertNewlineCharacters().
      Added insertSubTree() method to subtree class.
      Added checking of IOD-specific constraints.
      Fixed two memory leaks in recently added code.
      Clarified use of template identification.
      Removed DLL specifier from template classes.
      Slightly enhanced layout of Doxygen documentation.
      Added public method to change SR document type.
      Fixed wrong term in Doxygen documentation.
      Added removeSubTree() method to subtree class.
      Added extractSubTree() method to tree classes.
      Enhanced support for by-reference relationships.
      Further enhanced by-reference relationships.
      Insert a subtree into an empty document tree.
      Added dcmIsImageStorageSOPClassUID() function.
      Added check on valid "IMAGE" SOP Classes.
      Added support for optional JPEG fill byte.
      Removed misleading comment from checkStringValue().
      Fixed typos in comments and other minor issues.
      Added support for new value representation "UR".
      Updated data dictionary for DICOM 2014b edition.
      Added functions to enable/disable post-1993 VRs.
      Enhanced rewriting rules in DcmVR::getValidEVR().
      Use new VR "UR" for Pixel Data Provider URL.
      Fixed typo in method name.
      RLE images should not use multiple fragments.
      Added missing documentation for --propose-deflated.
      Attribute (0040,4005) has not been retired.
      Fixed wrong term "Device Driving Level".
      Updated "dcmrt" classes based on DICOM 2014b.
      Added "data correction" options to findscu.
      Fixed issue when scaling certain images.
      Removed unneeded header include.
      Fixed typo in comment.
      Fixed wrong validation of PN, LO and SH values.
      Added check for requirements clarified by CP-1401.
      Updated data dictionary for DICOM 2014c edition.
      Added support for new UIDs from DICOM 2014c.
      Fixed typo in comment.
      Added new temporarily generates files.
      Use "try and catch" block around new[].
      Fixed error handling in detachValueField().
      Fixed error handling in changeValue().
      Added new test case for VR=FD.
      Changed attribute used for the "FD" test.
      Added support for new value representation "UC".
      Added support for recently approved CPs.
      Added Mapping Resource UID from CP-1417.
      Removed outdated name suffix from EXS_xxx constant.
      Added missing standard include for assert().
      Fixed another CMake 3.1.x quotation issue.
      Updated latest tested CMake version.
      Fixed documentation of default TCP buffer length.
      Updated data dictionary for DICOM 2015a edition.
      Fixed typos in comments and other minor issues.
      Updated Makefile dependencies again.
      Updated outdated API documentation.
      Output message to logger on wrong pixel data class.
      Enhanced use of DSRCodingSchemeIdentificationList.
      Added support for recently approved CPs.
      Added support for Supplement 173 to dictionary.
      Added support for new UIDs from Supplement 173.
      Added support for recently approved CP-1425.
      Fixed test after after implementing CP-1425.
      Added further test cases for VR checker.
      Added read flag to all readXXX() methods.
      Optionally accept invalid content item values.
      Distinguish b/w invalid content items and values.
      Enhanced output to debug logger.
      Fixed wrong position counter in tree node.
      Added regression test for DSRTree::getPosition().
      Added method for counting number of child nodes.
      Fixed issue with VR checker for PN values.
      Fixed warning C4800 reported by Visual Studio.
      Updated data dictionary for DICOM 2015b edition.
      Ignore empty value for XML element 'charset'.
      Added support for optional Mapping Resource UID.
      Pass OFList parameter by-reference not by-value.
      Fixed issue with interpolation algorithm.
      Added hasTemplateIdentification() method.
      Replace the document tree of an SR document.
      Added initial support for SR templates.
      Added helpers for setting a value from dataset.
      Set observation date/time from dataset.
      Moved various methods to protected section.
      Added helpers for setting a value from element.
      Set observation date/time from element.
      Avoid using "check" parameter of SR code class.
      Introduced new error code "Unknow VR".
      Fixed source code and/or comment formatting.
      Do not check invalid UID values for IMAGE node.
      Added support for long code values (CP-1031).
      New class for "Basic Coded Entry Attributes".
      Fixed bug in time normalization code.
      Added missing empty() method to OFMap.
      Added new option for print() method.
      Added new comparison method to DSRCodedEntryValue.
      Made getAndRemoveRootNode() public.
      Fixed issue with addNode() in basic tree class.
      Added new and enhanced existing swap() function.
      Check whether a template is extensible.
      Added initial support for Supplement 186.
      Added initial support for Supplement 180.
      Made constructor and destructor "protected".
      Removed explicit name of base class from call.
      Added mechanism for remembering node positions.
      Added base class for context groups.
      Added initial version of DCM code definitions.
      Added first specific Templates and Context Groups.
      Updated "DCM" codes for DICOM 2015c edition.
      Updated data dictionary for DICOM 2015c edition.
      Fixed issue with wrong quotation marks.
      Added static initialization function (MT-safe).
      Fixed issue in OFStandard::combineDirAndFilename().
      Enhanced check on empty dataset.
      Improved documentation of disableXXXCheck().
      Consistently use "file-set" and "file format".
      Allow for disabling check on "DICOM file format".
      Renamed ANNOUNCE file (removed version suffix).
      Enhanced documentation of createNewSOPInstance().
      Added conversion operator to context group class.
      Added support for CID 42 (Numeric Value Qualifier).
      Added function that initializes all context groups.
      Updated copyright date.
      Fixed wrong documentation of return value.
      Removed superfluous OFStringStream_ends statement.
      Fixed wrong exit code on invalid input file.
      Added support for further Context Groups.
      Fixed various typos in comments.
      Enhanced handling of empty Measured Value Sequence.
      Added check for CID 42 to NUM values.
      Added support for Context Group CID 29.
      Added general information on coding scheme "DCM".
      Added easier method to set a composite reference.
      Fixed issue reported by Clang 3.5 on OpenBSD.
      Introduced condition constant EC_NotYetImplemented.
      Do not set empty concept name codes.
      Added missing DCMTK_DCMDATA_EXPORT macro.
      Added new helper method gotoEntryFromNodeList().
      Added method to look up a context group entry
      Added new mode for adding nodes to the tree.
      Fixed typos in comment.
      Added comment on reserved error codes (for "cmr").
      Fixed wrong comment.
      Introduced new flag to customize the print output.
      Added new command line options to dsrdump.
      Added specific logger for submodule "dcmsr/cmr".
      Added parameter "pos" to getStringValueFromDataset.
      Added static method setEnhancedEncodingMode().
      Clarified use of invalid coded entries.
      Added support for Context Group CID 244.
      Made sure that IOD constraint checker is used.
      Added "Extensible SR" to known document types.
      Added enhanced versions of CID 29, 244 and 4031.
      Added cleanup() function to context group classes.
      Fixed typo and other minor issues in comments.
      Added name prefix to class ContentMappingResource.
      Fixed copyright header in module "dcmsr".
      Added new optional parameter "vm" to readSequence.
      Added methods to read/write to/from sequence items.
      Fixed inconsistencies regarding the use of OFMap.
      Updated Makefile dependencies.
      Added enhanced versions of CID 10013 and 10033.
      Added initial version of SRT and UCUM codes.
      Introduced type for list of CID 7445 values.
      Updated Makefile dependencies.
      Added initial version of TID 1600 (Image Library).
      Slightly changed conversion operator.
      Extracted general information from template.
      Avoid seperator if time component is empty.
      Added support for annotating content items.
      Added support for Context Group CID 100 and 7021.
      Added support for clearing tree node annotations.
      Made sure that tree node annotations are copied.
      Made sure that "dicom.dic" is loaded for tests.
      Fixed various issues in test case.
      Fixed "cardinality" for SQ elements in comments.
      Added comment that "Big Endian" is retired.
      Removed version suffix "3" from dictionary entries.
      Check logger for debug output of template tree.
      Introduced global definitions for certain tags.
      Added CREDITS file.
      Added "YXLON" to the new CREDITS file.
      Added support for recently approved CPs.
      Added support for Supplement 156 to dictionary.
      Added support for new UIDs from Supplement 156.
      Check for recently approved multi-frame images.
      Updated currently supported compiler versions.
      Fixed various minor issues in module descriptions.
      Fixed order of modules in main HTML file.
      Added three new DCMTK modules to README.

Marco Eichelberg (5):
      Introduced OFStandard::dropPrivileges().
      Tools now use OFStandard::dropPrivileges().
      Fixed minor bug in DICOM upper layer FSM.
      Always use current dicom.dic for dcmdata unit tests.
      Removed unsupported wwwapps and perl scripts from module dcmwlm.

Michael Onken (84):
      Added (optional) originating C-MOVE AE title and message ID to C-STORE message.
      Make DcmStorageSCU make use of new MoveOriginator feature.
      Added optional status detail when sending C-MOVE response.
      Make sure memcpy does not copy to NULL destination. Thanks to Francesco Gigante     for the report.
      Added option to discard illegal characters when converting between     DICOM character sets.
      Add "Discard illegal character" support to dcmconv and classes like DcmItem.
      Make sure SCU and SCP request/response data structures are initially zeroed.
      Fixed typo (coersion -> coercion) in DIMSE status constant.
      Added missing kudos.
      Fixed too small buffer for UID in Q/R server.
      Fixed issues where JPEG marker map was not cleared if more than one JPEG     was converted using the same plugin instance.
      Fixed possible doubled destruction of association.
      Make sure oflog also compiles if threads are disabled.
      Always write meta header when receiving files. Removed Winsock comment.
      Added missing CHANGES entry.
      Warning to re-create index.dat after 20130705:
      Create DcmFileFormat from DcmDataset w/o copying.
      Do not copy DcmDataset during C-GET receive.
      Worklist SCP support for Responsible Person/Role.
      Replaced tabs with spaces.
      Support explicit item length denoting too many bytes.
      Corrected misleading transfer syntax error message.
      Fixed Comments.
      Described movescu storage SCP timeout problem.
      Make sure CMAKE_BUILD_TYPE has a default value.
      Fixed doubled tag output in XML output of VR OF.
      Avoid second OpenSSL initialization in constructor.
      Documentation for CMAKE_BUILD_TYPE default value.
      Fixed typo.
      Fixed CHANGES entries.
      Fixed some inconsistencies in documentation.
      Make sure to handle setuid() return code properly.
      Add libjpeg dependency for libtiff and minor changes.
      Fixed shared library build under Unix (configure).
      Enhanced DCMTK CMake exports for external projects.
      Capitalized all CMake key words for consistency.
      Ensure CMake v2.6 still writes DCMTKConfig.cmake.
      DCMTK.cmake and DCMTKTargets.cmake documentation.
      Added helpers to copy common modules between items.
      Fixed Makefile.dep for new files from last comit.
      Switched windows line endings to unix line endings.
      Added further module helpers and fixed small issues.
      Fixed comments and error message.
      Updated module helpers to latest DICOM 2013 draft.
      Fixed wrong ifdef syntax.
      Add connection timeout setting to SCU class.
      Fixed possible memory leak.
      Specific error if no presentation context proposed.
      Reverted false retirement status of some SOP Classes.
      Fix last commit by including implementation file.
      New compare() function for dcmdata object values.
      Make sure dcmdata tests compile with autoconf.
      Make new compare() method more reliable.
      Fixed conversion of color to palette color mode.
      Documented DCMTK's C++ cast macros.
      Fixed installation and added CHANGES file.
      Disable built-in dictionary for CMake Unix builds.
      Make sure presentation contexts do not interfer.
      Fixed iterator type.
      Introduced new modules dcmiod, dcmfg and dcmseg.
      Removed accidentially checked in test files.
      Removed more accidentially checked in test files.
      Fixed iterator dereference.
      Fixed iterator constness.
      Fixed possible DICOM VR problems.
      Removed unused method.
      Fixed mostly constness for some compilers.
      Fixed various doxygen formatting issues.
      Fixed compilers errors (mostly STL-specific).
      Removed unused link libraries.
      Made copyright header consistent in new modules.
      Build flags for internal and external dictionary.
      Updated dictionary build and code documentation.
      Added shared library export maro to IODModule.
      Added more files to be ignored by git.
      Added mising "check-exhaustive" targets.
      Replaced tab characters with spaces.
      Use static_cast instead of dynamic_cast.
      Renamed dictionary configuration build options.
      Simplified builtin dictionary infrastructure.
      Fixed typo in CMake script that can cause warnings.
      Fixed typo and made documentation more consistent.
      Fixed another typo.
      Enable private tags in builtin dictionary on CMake.

Nikolas Goldhammer (1):
      Replaced deprecated CMake expressions.

Uli Schlachter (13):
      Fixed wrong definition of Value Representation Person Name (PN)
      Removed unused local variable which shadowed a variable with the same name.
      Use ".NOTPARALLEL:" to make parallel builds (e.g. -j4) possible.
      Update rootconf for changes which were done directly to generated files.
      Fixed various issues found via cppcheck.
      Use DcmTagKey's output operator where possible.
      Don't include intrin.h on Visual Studio 2005 because of build errors.
      Fixed bug in OFString::copy() and improved unit tests.
      Fixed compiler warnings in ConvertIntegerToString with unsigned integers.
      Worked around compiler warnings on 32bit systems for too large shifts.
      Fixed crash if less than four transfer syntaxes are enabled.
      Silence some more compiler warnings about implicit casts.
      Don't set the defines for thread local storage support incorrectly.

Revision 24532  Directory Listing
Modified Sun Sep 13 02:46:00 2015 UTC (2 years ago) by jcfr
COMP: Fix module library build macros to consider already set variables

This commit fixes the build of SlicerRt extensions.

It basically removes the hack introduced in r24530 (COMP: Set loadable
module _INCLUDE_DIRS variables in Slicer project) and fixes the build
of extensions already setting the <ProjectName>_INLCUDE_DIRS variable
in their Qt and VTK module library CMakeLists.txt.

Revision 24530  Directory Listing
Modified Thu Sep 10 06:22:23 2015 UTC (2 years ago) by jcfr
COMP: Set loadable module _INCLUDE_DIRS variables in Slicer project

This commit fixes a regression introduced in previous commit by ensuring
vtkSlicerTractographyDisplayModuleMRML_INCLUDE_DIRS variable is also
defined in the Slicer project itself.

Before this commit similar variables were only defined after including
SlicerConfig.cmake (by calling "find_package(Slicer)").

Note that since SubjectHierarchy Logic and MRML libraries are setting
the _INCLUDE_DIRS to a specific values, an exception is adding to
the SlicerMacroBuildModuleVTKLibrary macro. Alternatively, missing
include directories could have been added to each SH plugin but the same
update would have to be done for extension building SH plugin.

Revision 24519  Directory Listing
Modified Fri Sep 4 18:16:51 2015 UTC (2 years ago) by fedorov
ENH: add extra DCMTK apps

* dsr2html can be useful for creating human-readable representations of DICOM
structured reports
* xml2dcm and xml2dsr are reverse operations for existing converters to XML,
which is using DCMTK-specific schema

Revision 24483  Directory Listing
Modified Tue Aug 4 03:52:36 2015 UTC (2 years, 1 month ago) by fedorov
BUG: fix support for DCMTK DICOM dictionaries

See issue 4013, followup on commit 24473. Dictionaries passed to DCMTK in
DCMDICPATH override embedded dictionaries, and standard dictionary needs to be
specified together with the private one, as shown in example here:

http://support.dcmtk.org/redmine/projects/dcmtk/wiki/Howto_Dictionaries

This commit installs dicom.dic and initializes the environment variable.

Revision 24473  Directory Listing
Modified Wed Jul 29 23:44:26 2015 UTC (2 years, 1 month ago) by jcfr
ENH: Add support for DCMTK private dictionary

See issue 4013 and related discussion here:

  http://slicer-devel.65872.n3.nabble.com/Enabling-support-for-DCMTK-private-dictionary-td4034305.html

This change implements the following changes:

 (1) install private.dic of DCMTK in a runtime location

 (2) update launcher setting to set DCMDICTPATH environment
     variable

 (3) on MacOSX, update application to ensure DCMDICTPATH is set when
     Slicer is started using Slicer.app bundle (in that case no launcher
     is used)

This will allow for more robust interpretation of DICOM private tags
based on the information contained in the DCMTK private dictionary.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24471  Directory Listing
Modified Wed Jul 29 00:55:48 2015 UTC (2 years, 1 month ago) by jcfr
BUG: Ensure itcl library is fixed when packaging on MacOSX - Attempt #2

This commit is a follow up of r24467 and fixes the following packaging
error:

warning: target '/Volumes/Dashboards/Experimental/Slicer-Release/Slicer-build/_CPack_Packages/macosx-amd64/DragNDrop/Slicer-4.4.0-2015-07-26-macosx-amd64/Slicer.app/Contents/lib/TclTk/lib/libitcl4.0.1.dylib' does not exist...
/usr/bin/otool: can't open file: /Volumes/Dashboards/Experimental/Slicer-Release/Slicer-build/_CPack_Packages/macosx-amd64/DragNDrop/Slicer-4.4.0-2015-07-26-macosx-amd64/Slicer.app/Contents/lib/TclTk/lib/libitcl4.0.1.dylib (No such file or directory)
otool: can't open file: /Volumes/Dashboards/Experimental/Slicer-Release/Slicer-build/_CPack_Packages/macosx-amd64/DragNDrop/Slicer-4.4.0-2015-07-26-macosx-amd64/Slicer.app/Contents/lib/TclTk/lib/libitcl4.0.1.dylib (No such file or directory)
install_name_tool: can't open file: /Volumes/Dashboards/Experimental/Slicer-Release/Slicer-build/_CPack_Packages/macosx-amd64/DragNDrop/Slicer-4.4.0-2015-07-26-macosx-amd64/Slicer.app/Contents/lib/TclTk/lib/libitcl4.0.1.dylib (No such file or directory)

Revision 24467  Directory Listing
Modified Fri Jul 24 23:25:14 2015 UTC (2 years, 2 months ago) by jcfr
BUG: Ensure itcl library is fixed when packaging on MacOSX

This commit updates the matching pattern to be independent of the
itcl version. It fixes a regression introduced in r23613 (COMP: Update
version of  tcl/tk/incrTcl used on Linux/MacOSX. Issue #3809)

Revision 24466  Directory Listing
Modified Fri Jul 24 23:25:13 2015 UTC (2 years, 2 months ago) by jcfr
STYLE: Remove obsolete fixup rule associated with iwidget tcl/tk library

Since iwidget stopped been used in r16957 (COMP: Remove obsolete external
"iwidgets" project definition), this commit removes the associated fixup
rule.

Revision 24465  Directory Listing
Modified Fri Jul 24 23:25:11 2015 UTC (2 years, 2 months ago) by jcfr
BUG: Ensure packaged Slicer.app MacOSX application find its Qt plugins

The assumption that an installed Slicer.app bundle would find and load the
file "Slicer.app/Contents/Resources/qt.conf" is wrong.

Since within "Application/SlicerApp/Main.cxx", both methods (a) "QSettings()"
and (b) "QApplication::setStyle()" are called before the QApplication
is instantiated, the "QLibraryInfoPrivate::findConfiguration()" was
not calling "CFBundleGetMainBundle()" and couldn't locate the "qt.conf"
file relatively to the Slicer.app directory.

As a consequence:
  (1) the correct plugin couldn't be loaded and
  (2) trying to run an installed Slicer.app in the environment where it
was build was failing because "QLibraryInfo::location()" was defaulting
to the plugin location associated with the build tree.

Since calling "QSettings()" and "QApplication::setStyle()" is not possible.
This commit implements a different strategy. It adds the "qt.conf" file to
the resource system (See [1] for details about this).

[1] http://doc.qt.io/qt-4.8/qt-conf.html

This approach will ensure:

 (1) the installed Slicer.app finds its plugin: "QLibraryInfoPrivate::findConfiguration()
 will check if the resource exists independently of the QCoreApplication
 instance.

 (2) the application in the build tree still work. The plugin will be found
 because of the path hardcoded in "QLibraryInfo::location()"

References:
 * https://forum.qt.io/topic/50305/qt-5-3-and-5-4-mac-application-crashes-on-startup-after-using-macdeployqt-app-unable-to-load-plugin-cocoa/7

Co-authored-by: Alexis Girault <alexis.girault@kitware.com>

Revision 24464  Directory Listing
Modified Fri Jul 24 23:25:10 2015 UTC (2 years, 2 months ago) by jcfr
STYLE: Do not attempt to fixup windows matlab extension

This is particularly useful when packaging module providing matlab files
and extension.

Revision 24463  Directory Listing
Modified Fri Jul 24 23:25:08 2015 UTC (2 years, 2 months ago) by jcfr
BUG: Ensure Qt style plugin are fixed up.

Revision 24462  Directory Listing
Modified Fri Jul 24 23:25:07 2015 UTC (2 years, 2 months ago) by jcfr
STYLE: Remove Slicer macros used to build Qt plugins.

Initially introduced in r22235 (ENH: Custom style for slicer), these
macros have never been used. Instead the corresponding CTK macros
are used.

Revision 24368  Directory Listing
Modified Thu Jul 2 14:15:25 2015 UTC (2 years, 2 months ago) by fedorov
BUG: Revert "ENH: add support of DCMTK private dictionary"

This reverts commit 1c20e6fc3adad65c72bc3bc3091e636b5e7080c0.

For unknown reason, this commit appears to break the dashboard.
The messages reported on dashboard are contradicting, since config
and build errors are reported on the front page, but not for the Slicer4
project, see

http://slicer.cdash.org/index.php?project=Slicer4&date=2015-07-01

Experiments trying to package Slicer on mac failed, with or without this
commit, as documented in

https://github.com/Slicer/Slicer/pull/299

Revision 24367  Directory Listing
Modified Tue Jun 30 21:21:28 2015 UTC (2 years, 2 months ago) by fedorov
ENH: add support of DCMTK private dictionary

See issue 4013 and related discussion here:

http://slicer-devel.65872.n3.nabble.com/Enabling-support-for-DCMTK-private-dictionary-td4034305.html

This change installs private.dic of DCMTK in a runtime location,
and sets DCMDICTPATH launcher variable. This will allow for more robust
interpretation of DICOM private tags based on the information
contained in the DCMTK private dictionary.

Revision 24298  Directory Listing
Modified Thu Jun 4 22:48:41 2015 UTC (2 years, 3 months ago) by fedorov
ENH: add echoscu DCMTK application

this is a useful tool for testing connection for DICOM communication

Revision 24289  Directory Listing
Modified Thu Jun 4 13:41:35 2015 UTC (2 years, 3 months ago) by jcfr
BUG: Update extension build system to report packaging error on CDash.

See #3032

This commit adds a new target named "uploadpackage" that will
(1) build the standard 'package' target,
(2) extract the list of generated packages from its standard output and
(3) append the list of generated package filepaths to a file named PACKAGES.txt,
(4) upload the extension packages on midas.

Using this target an extension can be uploaded to midas without
relying on CTest.

Within the ctest script, the target "uploadpackage" is built and then
the URL to download packages from midas are uploaded to CDash based on the
content of the file PACKAGES.txt

This commit removes the now obsolete ExperimentalUploadOnly target.

Revision 24263  Directory Listing
Modified Tue May 19 16:19:05 2015 UTC (2 years, 4 months ago) by lassoan
ENH: Made disclaimer popup configurable

Disclaimer popup is shown by default at the first startup of the application. The disclaimer text has to be configurable when custom applications are built on the Slicer platform.

Revision 24250  Directory Listing
Modified Wed May 13 13:22:32 2015 UTC (2 years, 4 months ago) by lassoan
ENH: Made default startup and favorite module configurable

When building custom applications based on Slicer it is often required to change the default startup module (Welcome) and favorite modules (on toolbar). Made these settings configurable from CMake, without requiring patching of source files.

Revision 24206  Directory Listing
Modified Fri May 1 05:55:02 2015 UTC (2 years, 4 months ago) by jcfr
BUG: Fixed SlicerApp-real.exe.exe filename on Windows

Removed the double .exe extensions from the main application name.
Before the fix: SlicerApp-real.exe.exe
After the fix: SlicerApp-real.exe

This commit fixes a regression introduced in r24024 (ENH: Add
slicerMacroBuildAppLibrary and slicerMacroBuildApplication) where
it was wrongly assumed that specifying executable extension when
setting the OUTPUT_NAME target property was required.

From: Andras Lasso <lasso@queensu.ca>

Revision 24197  Directory Listing
Modified Wed Apr 29 16:12:57 2015 UTC (2 years, 4 months ago) by fedorov
ENH: add more DCMTK applications

Applications added:
 - dcm2xml: convert DICOM into XML representation
   (http://support.dcmtk.org/docs/dcm2xml.html)
 - dsr2xml: convert SR DICOM into XML representation
   (http://support.dcmtk.org/docs/dsr2xml.html
 - dsrdump: SR-specific version of dcmdump already included
   (http://support.dcmtk.org/docs/dsrdump.html)

Revision 24125  Directory Listing
Modified Fri Mar 27 18:13:08 2015 UTC (2 years, 6 months ago) by jcfr
BUG: Fix missing DLL for extensions that use OpenMP (requires CMake 3.1)

This commit will ensure Plastimatch module bundled in SlicerRT extension
will work as expected.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Greg Sharp <gregsharp.geo@yahoo.com>

Revision 24123  Directory Listing
Modified Fri Mar 27 17:30:57 2015 UTC (2 years, 6 months ago) by jcfr
COMP: slicerFunctionAddPythonQtResources - Fix unknown argument warning

Use COPYONLY instead of COPY_ONLY.

This commit fixes the following warning (caught by CMake 3.2.1):

//-------------------------
CMake Warning (dev) at CMake/SlicerFunctionAddPythonQtResources.cmake:34 (configure_file):
  configure_file called with unknown argument(s):

   COPY_ONLY

Call Stack (most recent call first):
  Modules/Scripted/ExtensionWizard/CMakeLists.txt:18 (slicerFunctionAddPythonQtResources)
//-------------------------

Revision 24119  Directory Listing
Modified Fri Mar 27 02:40:01 2015 UTC (2 years, 6 months ago) by jcfr
ENH: Lookup launcher and default settings files based on application name

Since following r24004 (ENH: Allow application name to be defined by
argv0) , we are sure the application name is set appropriately.
This commit will also ensure the application executable will lookup
launcher and default settings files based on the application name.

Revision 24118  Directory Listing
Modified Thu Mar 26 23:30:21 2015 UTC (2 years, 6 months ago) by jcfr
ENH: Add support for default settings

If the file "<Slicer_HOME>/share/slicer-X.Y/SlicerDefaultSettings.ini"
exists, the corresponding key/value pairs are set into the user settings
if not already set.

Macro "slicerMacroBuildApplication" has also been updated to optionally
accept a "DEFAULT_SETTINGS_FILE" parameter.

Revision 24086  Directory Listing
Modified Tue Mar 17 23:20:20 2015 UTC (2 years, 6 months ago) by jcfr
STYLE: Set "desc. file" property in slicerMacroBuildAppLibrary macro

This commit moves the setting of the description file used by the
packaging code into the application CMakeLists.txt

Revision 24085  Directory Listing
Modified Tue Mar 17 23:20:18 2015 UTC (2 years, 6 months ago) by jcfr
STYLE: Set "desc. summary" property in slicerMacroBuildAppLibrary macro

This commit moves the setting of the description summary used by the
packaging code into the application CMakeLists.txt

Revision 24084  Directory Listing
Modified Tue Mar 17 23:20:16 2015 UTC (2 years, 6 months ago) by jcfr
ENH: Improve error message associated with 'slicer_cpack_set' macro

Display a more informative message if main project name matched "Slicer".

Revision 24083  Directory Listing
Modified Tue Mar 17 23:20:14 2015 UTC (2 years, 6 months ago) by jcfr
STYLE: Remove duplicated "Slicer.icns" file

The icon was already a SlicerApp resources. To avoid the duplication,
the path to the icon is (1) set a global property in the "slicerMacroBuildApplication"
macro and (2) retrieved from the SlicerCPack module.

Revision 24081  Directory Listing
Modified Tue Mar 17 23:20:10 2015 UTC (2 years, 6 months ago) by jcfr
STYLE: Rename SlicerApp icon files to match application name "Slicer"

Revision 24077  Directory Listing
Modified Tue Mar 17 07:14:50 2015 UTC (2 years, 6 months ago) by jcfr
COMP: SlicerCPack: Find additional dependencies quietly

If the external project is a python package, it is not expected to
provide a Config file.

Revision 24073  Directory Listing
Modified Mon Mar 16 22:57:11 2015 UTC (2 years, 6 months ago) by jcfr
STYLE: Tweak SlicerBlockFindQtAndCheckVersion to display main project name

As it was done in r23926 for the top-level CMakeLists.txt
and SlicerMacroBuildBaseQtLibrary, this commit also updates the
Slicer custom findQt module to display Slicer_MAIN_PROJECT_APPLICATION_NAME
if used from the Slicer source directory or the CMake PROJECT_NAME if used
from outside (case of extension).

Co-authored-by: Sergey Aleshin <4memph@gmail.com>

Revision 24045  Directory Listing
Modified Tue Mar 10 14:43:47 2015 UTC (2 years, 6 months ago) by jcfr
BUG: Fix py_nomainwindow_qSlicerDICOMModuleGenericTest

Fix the failing test ensuring "qt loadable modules" are also discovered
when executing generic scripted module tests.

Inspired-by: Nicole Aucoin <nicole@bwh.harvard.edu>

Revision 24028  Directory Listing
Modified Fri Mar 6 13:19:01 2015 UTC (2 years, 6 months ago) by jcfr
STYLE: Cleanup unused code in slicerMacroBuildApplication

Revision 24024  Directory Listing
Modified Thu Mar 5 22:41:18 2015 UTC (2 years, 6 months ago) by jcfr
ENH: Add slicerMacroBuildAppLibrary and slicerMacroBuildApplication

Facilitate maintenance introducing two new marcos allowing to more easily
create application executable and library.

Revision 24012  Directory Listing
Modified Tue Mar 3 22:34:48 2015 UTC (2 years, 6 months ago) by jcfr
COMP: Fix windows packaging error introduced by r24006

This commit updates the OpenSSL install rules to consider the library
keyword "debug" or "optimized" introduced in r24006 by the use of
select_library_configurations macro.

Error fixed by this commit is the following:

5>CPack: - Install project: Slicer
5>CMake Error at C:/D/N/Slicer-1-build/Slicer-build/CMake/LastConfigureStep/cmake_install.cmake:255 (file):
5>  file INSTALL cannot find
5>  "C:/D/N/Slicer-1-build/OpenSSL-install/Release/bin/optimized.dll".
5>Call Stack (most recent call first):
5>  C:/D/N/Slicer-1-build/Slicer-build/cmake_install.cmake:47 (include)
5>CMake Error at C:/D/N/Slicer-1-build/Slicer-build/CMake/LastConfigureStep/cmake_install.cmake:263 (file):
5>  file INSTALL cannot find
5>  "C:/D/N/Slicer-1-build/OpenSSL-install/Release/bin/debug.dll".
5>Call Stack (most recent call first):
5>  C:/D/N/Slicer-1-build/Slicer-build/cmake_install.cmake:47 (include)
5>CMake Error at C:/D/N/Slicer-1-build/Slicer-build/CMake/LastConfigureStep/cmake_install.cmake:271 (file):
5>  file INSTALL cannot find
5>  "C:/D/N/Slicer-1-build/OpenSSL-install/Release/bin/optimized.dll".
5>Call Stack (most recent call first):
5>  C:/D/N/Slicer-1-build/Slicer-build/cmake_install.cmake:47 (include)
5>CMake Error at C:/D/N/Slicer-1-build/Slicer-build/CMake/LastConfigureStep/cmake_install.cmake:279 (file):
5>  file INSTALL cannot find
5>  "C:/D/N/Slicer-1-build/OpenSSL-install/Release/bin/debug.dll".

Revision 24010  Directory Listing
Modified Mon Mar 2 23:18:33 2015 UTC (2 years, 6 months ago) by johan.andruejol
COMP: Fix redistributable system libraries in packaging. Fixes #3972

This commit fixes a regression introduced by r23158 (Explicitly installs
the needed component and skips the development component if not explicitly
requested.). When Slicer switched to using component for packaging, the VS
redistributable libraries were not included anymore in the package. This
is explained by the fact the CMake module "InstallRequiredSystemLibraries"
does not support components.

Waiting the issue reported on CMake bug tracker [1] is resolved and the
minimum required CMake version is updated, this commit duplicates the logic
installing the redistributable libraries specifying the "RuntimeLibraries"
component.

[1] http://www.cmake.org/Bug/view.php?id=15428)

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 24001  Directory Listing
Modified Mon Mar 2 02:58:54 2015 UTC (2 years, 6 months ago) by jcfr
COMP: Update ExternalProjectDependency based on commontk/Artichoke@82fa9f4

This update (more specifically commit 82fa9f4: Set "use system" variable if it
has NOT already been explicitly set) should allow to build Slicer expecting
NUMPY to be on the system while requiring the CTKAppLauncher to be built
by Slicer.

The following configuration will now succeed:

$ cmake -DQT_QMAKE_EXECUTABLE:FILEPATH=/path/to/bin/qmake \
  -DSlicer_USE_SYSTEM_NUMPY:BOOL=ON \
  -DSlicer_USE_SYSTEM_CTKAPPLAUNCHER:BOOL=0 \
  -DSlicer_USE_PYTHONQT_WITH_TCL:BOOL=OFF ../Slicer

See http://www.slicer.org/slicerWiki/index.php/Documentation/Labs/PythonCondaBuild#Different_approach

$ git shortlog c3eb170..82fa9f4 --no-merges
Jean-Christophe Fillion-Robin (12):
      Rename Artichoke into ExternalProjectDependency
      Add cmake sphinx extension based on Kitware/CMake@3c8226e59
      Add explicit support for function and macro directive
      Add sphinx gitignore
      Add sphinx documentation
      Convert README into rst and reference it from index.rst
      Include "indices and tables" only if generating html
      Add docs badge
      Fix tests including the correct module (broken after commit 9106d3d)
      Tweak test in ExternalProject_Message to avoid warning related to CMP0054
      Update tests setting policy CMP0054 to OLD.
      Set "use system" variable if it has NOT already been explicitly set

Matthew Woehlke (1):
      Add function to install external CMake projects

Revision 23996  Directory Listing
Modified Sun Mar 1 17:49:14 2015 UTC (2 years, 6 months ago) by jcfr
ENH: Remove trailing spaces from flags passed to non cmake-ified project.

Revision 23990  Directory Listing
Modified Wed Feb 25 19:00:34 2015 UTC (2 years, 6 months ago) by jcfr
ENH: BundleUtilities: Ensure framework symlinks and Info.plist exist

See Slicer issue #3965

This commit integrates the upstream change kitware/cmake@41564ff

//----------
Author: Adam Strzelecki <ono@java.pl>  2014-10-21 10:42:33
Committer: Brad King <brad.king@kitware.com>  2014-10-21 11:42:30

    BundleUtilities: Ensure framework symlinks and Info.plist exist

    This restores Qt SDK 4.8 and OS X >= 10.6.5 codesign compatibility
    improving embedding frameworks using correct bundle layout described at:

    https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html

    1. If Versions/VERSION/Resources/Info.plist is missing, well known
       incorrect locations are checked for Info.plist and Info.plist is
       copied from there, otherwise codesign will fail.

    2. Root framework symlinks to binary and Resources are restored to
       point inside Versions/Current, otherwise Qt 4.8 looking for
       Resources/ in framework root will fail.
//----------

Revision 23989  Directory Listing
Modified Wed Feb 25 19:00:33 2015 UTC (2 years, 6 months ago) by jcfr
ENH: BundleUtilities: Framework codesign Resources/Info.plist & Current

See Slicer issue #3965

This commit integrates the upstream change kitware/cmake@83a06bb

//------------
Author: Adam Strzelecki <ono@java.pl>  2014-09-04 09:01:17
Committer: Brad King <brad.king@kitware.com>  2014-10-10 10:17:04

    BundleUtilities: Framework codesign Resources/Info.plist & Current

    We need to ensure copied framework has proper layout with Resources/Info.plist
    present next to versioned binary and Current symlink in Versions:

    https://developer.apple.com/library/mac/technotes/tn2206

    https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html

    If Resources/ is not present we may try to copy Contents/Info.plist if present
    to embedded Resources/Info.plist. This is a case of Qt5 that has
    obsolete/invalid framework layout (see QTBUG-38511).
//------------

Revision 23988  Directory Listing
Modified Wed Feb 25 19:00:32 2015 UTC (2 years, 6 months ago) by jcfr
ENH: BundleUtilities: Use find on UNIX for fast executable lookup

This commit integrates the upstream change kitware/cmake@6c31379

//-----------
Author: Adam Strzelecki <ono@java.pl>  2014-09-03 15:42:53
Committer: Brad King <brad.king@kitware.com>  2014-10-10 10:15:56

    BundleUtilities: Use find on UNIX for fast executable lookup

    It makes whole executable process quicker on UNIX, especially for large bundles
    containing many files, since using find narrows results to only files having
    executable flags then all further tests follow.

    Since find ... -perm +0111 is not clearly POSIX compliant and some Linux
    versions refuse it, it is better to use longer but portable:

       find ... -perm \( -perm -0100 -o -perm -0010 -o -perm -0001 \)
//-----------

Revision 23987  Directory Listing
Modified Wed Feb 25 19:00:30 2015 UTC (2 years, 6 months ago) by jcfr
ENH: BundleUtilities: Allow Info.plist files which use CR line endings

This commit integrates the upstream change kitware/cmake@810f5cc

//-----------
Author: Tim Blechmann <tim@klingt.org>  2014-08-07 13:30:27
Committer: Brad King <brad.king@kitware.com>  2014-08-07 14:00:01

    BundleUtilities: Allow Info.plist files which use CR line endings

    Convert \r to our internal end-of-line character just as we do \n.

    Signed-off-by: Tim Blechmann <tim@klingt.org>
//-----------

Revision 23986  Directory Listing
Modified Wed Feb 25 19:00:29 2015 UTC (2 years, 6 months ago) by jcfr
STYLE: BundleUtilities: Remove .* expressions from MATCHES regexs

This commit integrates the upstream change kitware/cmake@b0b4b46

//----------
Author: Rolf Eike Beer <eike@sf-mail.de>  2014-04-11 12:17:46
Committer: Rolf Eike Beer <eike@sf-mail.de>  2014-04-14 12:17:11

    Remove .* expressions from beginning and end of MATCHES regexs

    All these expressions work the same:
      "foo"
      ".*foo.*"
      "^.*foo.*$"

    This assumes that the "Intel*" expressions were meant to be "Intel.*".
//----------

Revision 23985  Directory Listing
Modified Wed Feb 25 19:00:28 2015 UTC (2 years, 6 months ago) by jcfr
ENH: BundleUtilities: Replace string(REGEX REPLACE) with string(REPLACE)

This commit integrates the upstream change kitware/cmake@5bd48ac

//----------
Author: Rolf Eike Beer <eike@sf-mail.de>  2014-04-06 15:51:33
Committer: Rolf Eike Beer <eike@sf-mail.de>  2014-04-14 12:17:05

    Replace string(REGEX REPLACE) with string(REPLACE) where possible

    The simple replacement is much faster.
//----------

Revision 23984  Directory Listing
Modified Wed Feb 25 19:00:26 2015 UTC (2 years, 6 months ago) by jcfr
STYLE: BundleUtilities: Convert builtin help to reStructuredText

This commit integrates the upstream change kitware/cmake@f051814

//------------
Author: Kitware Robot <kwrobot@kitware.com>  2013-10-15 11:17:36
Committer: Brad King <brad.king@kitware.com>  2013-10-15 14:12:03

    Convert builtin help to reStructuredText source files

    Run the convert-help.bash script to convert documentation:

     ./convert-help.bash "/path/to/CMake-build/bin"

    Then remove it.
//------------

Revision 23969  Directory Listing
Modified Mon Feb 9 22:19:13 2015 UTC (2 years, 7 months ago) by jcfr
ENH: Update PythonQt CMake install code to check value of PYTHONQT_INSTALL_DIR

Revision 23961  Directory Listing
Modified Thu Feb 5 00:11:16 2015 UTC (2 years, 7 months ago) by jcfr
ENH: Improve build targets organization in IDE that support folders

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

Notes:

 (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 <jchris.fillionr@kitware.com>
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 http://www.cmake.org/cmake/help/v2.8.9/cmake.html#prop_tgt:FOLDER
// -------------


SlicerExecutionModel changes:

// -------------
commit Slicer/SlicerExecutionModel@0b780eb
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
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.

    See http://www.cmake.org/cmake/help/v2.8.3/cmake.html#prop_tgt:FOLDER

    This commit extends the SEMMacroBuildCLI API to accept an optional FOLDER
    parameter. If not set, the folder name will default to:

      <SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX><MODULE_NAME>

    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
    SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX

    Note that:
     - FOLDER support has been introduced in CMake >= 2.8.3
    and
     - it can optionally be enabled in a project by setting the global
    property named USE_FOLDERS.

    See http://www.cmake.org/cmake/help/v2.8.3/cmake.html#prop_global: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 <matt.mccormick@kitware.com>
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 <jchris.fillionr@kitware.com>
Date:   Wed Feb 4 18:08:28 2015 -0500

    Associate folder with test targets.
    [...]
// -------------

Revision 23958  Directory Listing
Modified Wed Feb 4 05:29:16 2015 UTC (2 years, 7 months ago) by jcfr
ENH: Update CTK to include python decorator update and external project fix

$ git shortlog e23537d..d8cd14e --no-merges
Jean-Christophe Fillion-Robin (2):
      Improve ctkVTKHistogram metaobject for better pythonqt wrapping
      Extend ctkTransferFunction*Item for better pythonqt wrapping

Sascha Zelzer (5):
      Removed left-over method from git merge without implementation.
      Support CMAKE_DEBUG_POSTFIX for CTK superbuild and external DCMTK.
      Ensure find_package() is called in CTKConfig.cmake for external projects.
      Some systems need PYTHON_INCLUDE_DIR2 for FindPythonLibs.cmake.
      Added custom moc options again when moc'ing plug-in headers.

Revision 23927  Directory Listing
Modified Thu Jan 29 03:36:21 2015 UTC (2 years, 7 months ago) by jcfr
ENH: Tweak how CPack package variables can be set.

This commit introduces a convenience macro named "slicer_cpack_set"
allowing to set a given CPack variable to either "Slicer_<cpack_varname>"
or "<${Slicer_MAIN_PROJECT}_APPLICATION_NAME>_<cpack_varname>".

A configure time message displaying the package properties has also
been added:

[...]
-- Setting CPACK_PACKAGE_NAME to 'Slicer'
-- Setting CPACK_PACKAGE_VENDOR to 'NA-MIC'
-- Setting CPACK_PACKAGE_DESCRIPTION_SUMMARY to 'Medical Visualization and Processing Environment for Research'
-- Setting CPACK_PACKAGE_DESCRIPTION_FILE to '/home/jchris/Projects/Slicer-2/README.txt'
-- Setting CPACK_RESOURCE_FILE_LICENSE to '/home/jchris/Projects/Slicer-2/License.txt'
-- Setting CPACK_PACKAGE_VERSION_MAJOR to '4'
-- Setting CPACK_PACKAGE_VERSION_MINOR to '4'
-- Setting CPACK_PACKAGE_VERSION_PATCH to '0'
-- Setting CPACK_PACKAGE_VERSION to '4.4.0-2015-01-23'
-- Setting CPACK_PACKAGE_INSTALL_DIRECTORY to 'Slicer 4.4.0-2015-01-23'
[...]

Revision 23926  Directory Listing
Modified Thu Jan 29 03:36:19 2015 UTC (2 years, 7 months ago) by jcfr
STYLE: Change configure time message to use main project application name

This commit further improves r21896 using Slicer_MAIN_PROJECT_APPLICATION_NAME
instead of SlicerApp_APPLICATION_NAME.

Revision 23925  Directory Listing
Modified Thu Jan 29 03:36:16 2015 UTC (2 years, 7 months ago) by jcfr
ENH: Set CPack package vendor using organization name

Revision 23901  Directory Listing
Modified Wed Jan 21 15:56:15 2015 UTC (2 years, 8 months ago) by jcfr
COMP: Fix typo in SLICER_ADD_PYTHON_TEST introduced in r23882

Revision 23891  Directory Listing
Modified Tue Jan 20 02:13:55 2015 UTC (2 years, 8 months ago) by jcfr
ENH: Add Slicer_VTK_RENDERING_BACKEND configure option

By default set to "OpenGL", this commit introduces an option allowing
to build VTK using the new "OpenGL2" backend.

Note that the VTK build directory have to be completely removed when
switching between "OpenGL" and "OpenGL2" backend.

See http://www.kitware.com/source/home/post/144

Revision 23882  Directory Listing
Modified Mon Jan 19 21:42:55 2015 UTC (2 years, 8 months ago) by johan.andruejol
ENH: Allow for absolute paths in SLICER_ADD_PYTHON_TEST macro

The default is still CMAKE_CURRENT_SOURCE_DIR but it allows the user to
give a full path to the script instead of being forced to have their script
in the current source directory.

Revision 23864  Directory Listing
Modified Fri Jan 9 00:58:20 2015 UTC (2 years, 8 months ago) by jcfr
BUG: Update teem to fix issue #3455

$ git shortlog 9142f9a..93ba14a
Jean-Christophe Fillion-Robin (1):
      COMP: Associate component with teem install rules

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 23862  Directory Listing
Modified Fri Jan 9 00:58:14 2015 UTC (2 years, 8 months ago) by jcfr
STYLE: Improve error message associated with _fixup_paths_append macro

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 23859  Directory Listing
Modified Thu Jan 8 19:59:49 2015 UTC (2 years, 8 months ago) by jcfr
BUG: Don't explicitly set the OSX_DEPLOYMENT_TARGET

Setting the OSX_DEPLOYMENT_TARGET implicitly controls which C++
standard library is used libstdc++ vs libc++. Mixing the two in
binaries can result in unstable behavior.

We now implicitly configure the OSX_SYSROOT to the latest SDK, but
require the user to explicitly set the OSX_DEPLOYMENT_TARGET to ensure
compatibility with the build environment.

Co-authored-by: Hans Johnson <hans-johnson@uiowa.edu>
Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Bradley Lowekamp <blowekamp@mail.nih.gov>

Revision 23800  Directory Listing
Modified Wed Nov 26 05:21:15 2014 UTC (2 years, 10 months ago) by jcfr
COMP: Fix CMake 3.x warnings related to CMP0054 and CMP0026

* Update ExternalProjectDependency based on commontk/Artichoke@6725b6a

* This commit fixes warning like these ones:

// ----------------------
CMake Warning (dev) at CMake/ctkMacroCheckExternalProjectDependency.cmake:345 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "SB_SECOND_PASS" will no longer be dereferenced when
  the policy is set to NEW.  Since the policy is not set the OLD behavior
  will be used.
Call Stack (most recent call first):
  CMake/ctkMacroCheckExternalProjectDependency.cmake:596 (ExternalProject_Message)
  CMakeExternals/Log4Qt.cmake:9 (ExternalProject_Include_Dependencies)
  CMake/ctkMacroCheckExternalProjectDependency.cmake:568 (include)
  CMake/ctkMacroCheckExternalProjectDependency.cmake:614 (ExternalProject_Include_Dependencies)
  CMake/ctkBlockCheckDependencies.cmake:132 (ExternalProject_Include_Dependencies)
  CMakeLists.txt:970 (include)
// ----------------------

// ----------------------
1>-- Configuring Loadable module: Transforms [qSlicerTransformsModuleExport.h]
1>CMake Warning (dev) at C:/D/P/SonoEQ-0-build/Slicer-build/CTK/CMake/ctkMacroBuildQtPlugin.cmake:168 (get_target_property):
1>  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
1>  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
1>  command to set the policy and suppress this warning.
1>  The LOCATION property should not be read from target
1>  "qSlicerAnnotationsModuleWidgetsPlugins".  Use the target name directly
1>  with add_custom_command, or use the generator expression $<TARGET_FILE>, as
1>  appropriate.
1>Call Stack (most recent call first):
1>  C:/D/P/SonoEQ-0-build/Slicer-build/CTK/CMake/ctkMacroBuildQtPlugin.cmake:181 (ctkMacroBuildQtPlugin)
1>  Modules/Loadable/Annotations/Widgets/DesignerPlugins/CMakeLists.txt:36 (ctkMacroBuildQtDesignerPlugin)
// ----------------------


* Updates of the associated projects are reported below:

[Artichoke]
$ git shortlog c3eb170..6725b6a
Jean-Christophe Fillion-Robin (12):
      Rename Artichoke into ExternalProjectDependency
      Add cmake sphinx extension based on Kitware/CMake@3c8226e59
      Add explicit support for function and macro directive
      Add sphinx gitignore
      Add sphinx documentation
      Convert README into rst and reference it from index.rst
      Include "indices and tables" only if generating html
      Add docs badge
      Merge pull request #8 from mwoehlke-kitware/installable-external-projects
      Fix tests including the correct module (broken after commit 9106d3d)
      Tweak test in ExternalProject_Message to avoid warning related to CMP0054
      Update tests setting policy CMP0054 to OLD.

Matthew Woehlke (1):
      Add function to install external CMake projects

[CTK]
$ git shortlog 1c97e54..6dfdb85 --no-merges
Andreas Fetzer (1):
      Remove empty build command and set install command empty. Thus is cannot happen     that the dcmtk libraries are installed to some unintended location.     Setting dcmtk_dir to dcmtk-build directory

Christian Askeland (4):
      fixed crashing line in ctkFileDialog for Qt5.
      improved in-code description of previous ctkFileDialog crash fix
      Fixed broken doxygen generation for Plugin Framework
      set doxygen variable ensuring macro definitions of type MY_FOO(arg) dont mess up doc generation

Jean-Christophe Fillion-Robin (2):
      Update ExternalProjectDependency based on commontk/Artichoke@388fc33
      Update ctkMacroBuildQtPlugin to fix CMake warning related to CMP0026

Sascha Zelzer (1):
      Removed custom QT5_INSTALL_PREFIX variable.

Revision 23766  Directory Listing
Modified Thu Oct 30 08:50:26 2014 UTC (2 years, 10 months ago) by jcfr
BUG: Use Slicer VTK components in SlicerConfig. Fixes #3872

This commit revert r23755 and ensure extension will find only the
VTK components required by Slicer itself.

Revision 23753  Directory Listing
Modified Wed Oct 22 22:44:12 2014 UTC (2 years, 11 months ago) by jcfr
ENH: Associate CPACK_PACKAGE_INSTALL_DIRECTORY with application name

This should allow easier customization of the Slicer install directory.

Revision 23724  Directory Listing
Modified Wed Sep 24 19:36:11 2014 UTC (3 years ago) by jcfr
ENH: Refactor management of external project launcher settings.

This commit moves the definition of launcher setting into each external
projects.

The different type of setting (listed below) are passed to the the main
project (Slicer) using labels set using "mark_as_superbuild" function.

Type of settings and associated labels:

  Build tree:

    * LIBRARY_PATHS_LAUNCHER_BUILD
    * PATHS_LAUNCHER_BUILD
    * PYTHONPATH_LAUNCHER_BUILD
    * ENVVARS_LAUNCHER_BUILD

  Install tree:

    * LIBRARY_PATHS_LAUNCHER_INSTALLED
    * PYTHONPATH_LAUNCHER_INSTALLED
    * PATHS_LAUNCHER_INSTALLED
    * ENVVARS_LAUNCHER_INSTALLED

This patch has been tested on factory-win7, factory-south-ubuntu and
factory. The SlicerLauncherSetting.ini and SlicerLauncherSettingToInstall.ini
file have been compared with / without this patch and the file are
similar. The few differences are explained below:
* nonexistent path are not configured anymore
* on unix, following r23613, a new version of incrTcl is used and path
have been updated to reflect this. Since there are to version of incrTcl
(4.0.0 and 4.0.1), the path to "4.0.1" are considered.

Revision 23706  Directory Listing
Modified Thu Sep 18 22:15:01 2014 UTC (3 years ago) by jcfr
STYLE: Fix typo "nonexistent" instead of "non-existing "

Revision 23666  Directory Listing
Modified Wed Sep 10 16:17:24 2014 UTC (3 years ago) by jcfr
BUG: Add rpath to DCMTK application when building MacOSX package. Fixes #3827

While commit addresses issue #3827, the problem applies for the other
executable bundled in the ./Slicer.app/Contents/bin directory. A more
general solution would have to be implemented to also fix these. This
is captured by issue #3831

Revision 23633  Directory Listing
Modified Fri Aug 29 18:44:15 2014 UTC (3 years ago) by jcfr
COMP: Add python executable path to build tree launcher PATH settings.

This commit will allow to directly use python executable after
starting a terminal using "./Slicer --gnome-terminal" or after setting
the Slicer environment.

Revision 23622  Directory Listing
Modified Tue Aug 26 23:41:20 2014 UTC (3 years, 1 month ago) by jcfr
BUG: Update version of VTK to use VTK_ENABLE_KITS.  Issue #3809

This commit updates to the latest version of VTK including Slicer
specific patches (branch: slicer-v6.2.0-7167ad1_2014-08-21)

Additionally:
* Update VTK to include kit support for VTK python modules.
* Tweak vtkMacroKitPythonWrap to consider VTK kits.
* Enable VTK_ENABLE_KITS only if CMake >= 3
* Explicitly specify vtkRenderingContextOpenGL. Basically following
kitware/VTK@c5121871,  the OpenGL override for vtkContextDevice2D has been
moved int Rendering/ContextOpenGL, we have to make sure that we link
to vtkRenderingContextOpenGL.  See [1] for more info.

[1] http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Factories_now_require_defines

// --------------------------------
$ git shortlog df24b795..e59c76c --no-merges
Ben Boeckel (1):
      python: split wrapping functions

Jean-Christophe Fillion-Robin (5):
      python: Add wrapping of kits if VTK_ENABLE_KITS is ON
      modules: Re-order RenderingOpenGL libraries to fix VTK_ENABLE_KIT link error
      python: Update python module dependency to account for VTK_ENABLE_KITS
      python: Configure PythonInit file for kit when VTK_ENABLE_KITS is ON
      python: Add VTK_ENABLE_KITS to VTKConfig

// ---------------------------------
$ git shortlog slicer/slicer-v6.1.0..df24b795 --no-merges

Andrew Bauer (8):
      Need to check for static targets before adding abi visibility flags.
      Composite data writers weren't passing down the HeaderType info.
      Passing missing parallel writer options to piece writers.
      Fixing overflow issue that appeared with GCC compilers.
      Fix the way point and cell data arrays are marked for reading.
      Adding in arctan2 through numpy.
      Adding the ability to not delete the passed in arrays.
      Fixed memory leak in test and added in comments for clarification.

Andrew Maclean (8):
      Remove WindowLevelInterface.tcl and WindowLevelInterface.py
      Revert Remove WindowLevelInterface.tcl and WindowLevelInterface.py
      Sphere widget behaves better when scaled down to zero
      ENH: VTK Parametric surfaces - modernised the code.
      ENH: Remove the need to manually regenerate the hill data.
      DOC: Update vtkRandomHills documentation.
      BUG: Fix by adding a new keyword.
      ENH: Add option to return an ordinal lookup table.

Antonio Cervone (1):
      Fixed the BiQuadraticQuad interpolator

Ben Boeckel (117):
      STLWriter: Raise an error for non-triangles
      STLReader: Close the file when an error occurs
      ExodusIIReader: Add the title to the field data
      STLReader: Fix error signaling when reading files
      AVIWriter: Don't overflow the fourcc storage
      AVIWriter: Fix a comment typo
      Exodus: Always attach the title to the output fields
      Rewrite the testing macros
      Update the Cxx test call sites
      Update the MPI test call sites
      Update the Python test call sites
      Update Tcl test call sites
      Minor CMake logic simplification
      Copy Statistics tests to StatisticsGnuR
      Infovis: Add an include for newer Boost versions
      ParallelMPI: Add missing return statement
      Allow arguments to be passed directly to Python
      Skip adding the executable if no tests are created
      Allow for overriding the data directory in tests
      Allow overriding the baseline directory in tests
      Build the VTK test data directory properly
      Support custom baselines in tests
      Store VTK's ExternalData in its source directory
      Support VTKExternalData_OBJECT_STORES as well
      Support custom ExternalData targets for tests
      Support flags to tests common at the module level
      Support JUST_VALID for Python tests
      Support Python+MPI testing
      Use VTK_TEST_OUTPUT_DIR rather than rebuilding the path
      examples: Fix typo in testing calls
      ParallelGeometry: Fix Grid symbol scoping
      testing: Use vtk-example as a fallback for prefix
      Fix test function signatures
      testing: Don't look for tests when making an executable
      FiltersGeometry: Remove unnecessary links
      Filters/Geometry: Remove some unused functions from tests
      Filters/Geometry: Hide WriteGrid if ENABLE_IO isn't on
      testing: add some missing TEST_DEPENDS
      pythoncore: extract python objects from arguments
      wrapping: add function to check for Python objects
      wrapping: wrap PyObject* in python code
      python: accept any argument for PyObject* arguments
      vtkAlgorithm: fix a typo
      FiltersPython: create a vtkPythonAlgorithm class
      python: fix leaks when setting constants in wrappers
      vtkPythonAlgorithm: support older pythons
      vtkpython: add site-packages to the path
      vtkFiltersPython: Disable without Python wrapping
      wrapping: add variables to exclude from language-specific wrapping
      vtkFiltersPython: exclude from Java and Tcl wrapping
      java: get the list of java modules properly
      testing: append the tests to the given variable
      pythonalg: use keyword arguments rather than members
      pythonalg: raise an error in RequestData by default
      wrapping: remove the ${module}_WRAP_PYTHON variable
      vtkStructuredImplicitConnectivity: fix msvc warnings
      typo: fix some typos
      unused: remove unused functions
      mpi4py: add module information
      mpi4py: link to CMAKE_DL_LIBS
      testing: skip test executables with no tests
      IOVPIC: include MPI headers as SYSTEM headers
      cmake: set policy 0053 if available
      cmake: set policy 0053 in thirdparty cmake
      mpi4py: add a class to convert communicators
      wrapping: check for Tcl wrapping exclusion for warnings
      vtkAMRUtilities: split out vtkParallelAMRUtilities
      hierarchy: use a .txt extension
      GenerateExportHeader: support object libraries as well
      vtk_module: support a KIT argument
      modules: add modules to "kits"
      linking: wrap tll() with a module-aware function
      export: OBJECT libraries may not be exported
      modules: output kit information in the module tree
      modules: topo-sort modules with kits as well
      modules: build kits from the member modules
      module: depend on the dependent module object library
      python: add an option to disable vtkpython
      testing: check for pvtkpython before using it
      vtkpython: don't install if not enabled
      vtkAVIWriter: make a more informative error message
      IO/Geometry: add obj index tests
      FiltersParallelGeometry: move functions to the sources
      vtkMPICommunicator: avoid deprecated MPI functions
      vtkInstantiator: remove instantiator macro from main sources
      typo: remove duplicate source listing
      vtkCompositePolyDataMapper2: cache opacity check
      vtkCompositePolyDataMapper2: include <algorithm> for std::max
      vtkCompositePolyDataMapper2: avoid a NULL dereference
      OpenGL: use STATUS for the OSMesa message
      vtkPStreamTracer: conditionalize functions
      vtkPTemporalStreamTracer: remove useless code
      unused: add a macro to mark functions as "unused"
      vtkChartBox: initialize segmentIndex
      nit: remove extra semicolon
      vtkMPI: install so that vtk_mpi_link is available
      python: install packages properly
      opengl2: use STATUS for the OSMesa message
      Maintenance: recognize the KIT keyword in scripts
      module: add comment to update maintenance scripts too
      Maintenance: recognize language exclusion keywords
      warnings: fix narrowing warnings
      TestSurfacePlot: loop using vtkIdType
      vtkQuaternionInterpolator: call the constructor properly
      warnings: remember values with the proper type
      warnings: use static casts to point out precision loss
      warnings: use floating point intermediate values
      warnings: resolve unused variables
      vtkOpenGLImageMapper: fix unintentional shadowing
      warnings: fix signed/unsigned comparison warnings
      vtkOpenGLProperty: remove unused function
      unused: use the vtkNotUsed macro
      Q4VTKWidgetPlugin: only define qDebug if not already defined
      mpi4py: use the output, not the result
      cmake: remove unnecessary condition copies
      vtkSmartPyObject: ignore warning C4127 on MSVC
      mpi4py: use old code with Python 2.6 as well

Berk Geveci (52):
      Removed priority based streaming and fast path.
      Removed unused code from vtkModelMetaData and vtkExodusModel
      COMP: Fixed compiler error - needed to remove functions from .h.
      Improved test to increase vtkDistributedDataFilter's coverage.
      Cleaned up the Exodus metadata.
      Fixed minor typo - case sensitivity issue.
      Removed verts from streaklines - lines are enough.
      Removed unnecessary recursion in pipeline streaming.
      Filter was modifying self in request. Fixed.
      Fixed minor typo in documentation.
      Added test for vtkTableBasedClipDataSet.
      Added caching to temporal interpolator.
      Fixed minor bug in the ensight gold reader.
      Added EnSight tests to increase coverage.
      Added initial ghost points support to vtkDataSetSurfaceFilter.
      PERF: Parallel streamline was slow. Fixed.
      Refactored how pieces and extents are handled.
      Update the XML readers and writers to work with pipeline changes.
      Cleaned up and fixed transmit filters for structured data.
      Fixed bug in send structured data.
      Fixed legacy parallel reader and writer.
      BUG: Was using array of wrong size.
      Fixed compiler warnings.
      Changed synchronized templates class for new pipeline behavior.
      Removed unused keys.
      Updated filters and sources to work with new pipeline logic.
      Moved key.
      Cleaned up extent translators.
      Removed unnecessary reference to extent translator
      ExtractSelection was not managing pieces corretly. Fixed.
      Filters should silently handle empty input
      Fixed multiple issues with resample/probe filters.
      Fixed contour filters
      Fixed issues in the group filter.
      Fixed crash in the empty input test.
      Fixed vtkXdmfReader for parallel structured data.
      Parallel Exodus writer was not asking for pieces. Fixed.
      Added new meta-data and request capability to the pipeline.
      PERF: Removed unnecessary function call.
      Added an ensemble source.
      Added documentation and testing to vtkPythonAlgorithm.
      Fixed no newline at end of file warnings.
      Executive was setting update extent initialized falsely.
      PERF: Removed unnecessary garbage collection.
      Fixed indentation and style to match VTK's.
      BUG: Filter was overwriting input scalars. Fixed.
      Added modules that create a numpy type interface.
      Certain MPI types were not being recognized by mpi4py.
      Improved TestNumpyInterface to cover various append implementations.
      Added sum and mean per block to Python algorithms.
      Added support for CompositeDataSet.Points.
      Fixed innaccurate comments.

Bill Lorensen (26):
      COMP: Test driver array bounds error
      BUG0013829: vtkAssembly::GetBounds adds bounds which are uninitialized
      BUG0014331: Filter skips VTK_CUBIC_LINE
      COMP: Restore TestTessellator test
      ENH: Added tests that were removed during modularization
      COMP: Refactored TestDataObjectIO
      COMP: test require NO_VALID modifier
      ENH: Add removed tests
      COMP: Improve coverage of vtkMeshQuality
      COMP: Missing NO_VALID
      ENH: Improve code coverage script
      BUG: Flawed logic for NO_OUTPUT
      COMP: Python unittest requies NO_OUTPUT
      COMP: Performance warning: int to bool
      COMP: Remove QtInitialization from otherPrint test
      ENH: Remove ThirdParty code from coverage results
      COMP: Remove bogus line info from generated files
      ENH: Unit test for ParametricSpline
      ENH: Coverage for MultiThreshold.
      BUG: CreateDefaultLookupTable crashes if Input is NULL.
      ENH: Add some more coverage for MultiThreshold
      ENH: Improve code coverage for UnicodeStringArray
      ENH: Unit test for vtkMath
      COMP: Adjust tolerances
      COMP: Guard against infinite loop in vtkClearOpenGLErrors
      ENH: Provide PlaybackFile for recorded interaction events

Brad King (35):
      COMP: Drop invalid custom commands from HDF5
      COMP: Drop missing dependencies of target 'vtkpython_pyc'
      vtkhdf5: Remove extra calls to cmake_minimum_required
      Accelerators/Dax: Remove extra call to cmake_minimum_required
      Refactor top-level CMake Policy settings as loop
      Examples: Set required CMake version and policies before project()
      Set CMake Policies CMP0025 and CMP0042 as necessary
      Rendering/Volume: Convert new baseline to ExternalData content link
      Wrapping/Tcl: Fix CMake Policy CMP0050 warnings
      IO/XML: Remove unnecessary <sstream> include
      IO/XML: Add missing <string> include
      IO/XML: Fix HeaderTest for this module
      vtkOStreamWrapper: Support std::string
      Revert "vtkOStreamWrapper: Support std::string"
      vtkOStreamWrapper: Support std::string
      Revert "vtkOStreamWrapper: Support std::string"
      vtkOStreamWrapper: Support std::string
      Allow custom TestTM3DLightComponents timeout
      Allow custom TestProp3DFollower timeout
      Honor VTK_INSTALL_NO_DEVELOPMENT for archive libraries
      Use vtkMPI.cmake helper for all module MPI tests
      Set MACOSX_RPATH property default consistently across CMake versions
      ExternalData: Add backtrace to missing file warning
      Export the locations of Qt5 packages on which modules depend
      Allow configuration of external module dependency locations
      Views/Infovis: Add another baseline for TestConeLayoutStrategy
      Allow custom Interaction/Widgets test timeouts
      Fix ExternalData pre-commit hook on msysGit
      Add option to exclude VTKData target from default build
      mpi4py: Suppress warnings in third-party code
      vtkFFMPEGWriter: Fix build with libavcodec55
      Exclude classes requiring a QApplication from VTK smoke tests
      module: fix export macros with kits
      vtkglew: Install glew header files
      IO/ADIOS: Exclude module from VTK_BUILD_ALL_MODULES

Burlen Loring (1):
      surface LIC - stl and NULL

Chris Harris (22):
      Add failure filter to session.auth(...) deferred
      Add error function to vtk:mouseInteraction RPC
      vtkWeb: Add newline to end of each proxy map entry
      vtkWeb: Teach launcher.py to wait for ready_line
      vtkWeb: Add appropriate error codes for launch requests
      vtkWeb: Don't reset viewer to null on updateViewer(...)
      vtkWeb: Propagate mouse events to VGL
      vtkWeb: Fix calls to old VGL API
      vtkWeb: Rename ogs.vgl => vgl
      Rename md5 => sceneMD5 to avoid confusion
      Update canvas size before creating viewer
      Prevent mouse event handlers be bound multiple times
      Update VGL to master
      Update version of VGL
      Prevent scene and clipping range from being reset
      Update VGL to lastest version
      vtkWeb: Refactor fetchObject(..) to use cached objects
      Add code to clean of VGL actor cache
      Add missing initialization of member
      Fix typo introduce by 06aaa805 session => m_session
      Update to modern CMake style
      Allow location of OSMesa install to be specified

Chuck Atkins (1):
      Initial ADIOS readers and writers

Cory Quammen (7):
      BUG: Fix build failure in RenderingParallelLIC on Intel compiler
      Added "sticky" axes mode to vtkCubeAxesActor
      Fixed linkage problem in Windows
      Improved comment handling
      KW00001404: Major overhaul of vtkAppendFilter
      Fixed memory leak and improper erasing of std::set elements
      Fixed error in appending cell data

Dan Lipsa (9):
      Report an error when writing a file with changing topology.
      Update documentation.
      Remove debugging printouts.
      Name enum LEFT, BOTTOM, ... Location.
      Add component-wise set functions for Border and Gutter (vtkChartMatrix)
      Set Bold and Italic axis label properties for ScatterPlotMatrix.
      vtkMultiProcessStream: Add insert and extract operators for bool
      Fix Windows compilation warning.
      Forces the compiler to convert a char* to a string rather than a bool.

Dave DeMarle (35):
      Increment version to VTK 6.2.0
      Add a test for the VPIC reader
      document arguments to test macros
      move dashboard management scripts into better place
      fix link errors that happened when I turned on InfovisParallel
      deprecate this module
      fix a compilation warning
      make rubber band look correct on scenes with textures
      optimize geojson writer
      more optimization of geojson writer
      fix variety of dashboard problems
      Put libxdmf into a namespace so that libxdmf3 can coincide with it.
      Adapt libxdmf to build within VTK.
      add cmakescript infrastructure to make libxdmf a VTK module
      Add a reader and writer for the new xdmf library.
      Fixes for xdmf3 regression test data.
      Fix issues the dashboards turned up.
      Fix more issues the dashboards turned up.
      Really fix on of the issues the dashboards turned up
      Fix a regression in the xdmf bump
      STYLE: improve comments and organize internal classes
      fix a case of discarded arrays
      Remove stray debugf.
      bring back subsets
      put array reuse in
      Fix dashboard warnings and test failure.
      disable a balky test until we can fix it
      Add file series reading and top level spatial partitioning
      fill in time varying graphs
      STYLE: pull helpers out and format all for vtkstyle
      move strict partition multipiece constuction out to reader level
      disable oggtheora on cray too
      Fix problems that the dashboards turned up.
      remove MetaIO to replace with updated content
      exclude matlab from the "all" modules set

David C. Lonie (14):
      Tie vtkUnstructuredGridBase into the dataset type system.
      Update baseline
      Handle empty array initialization in numpy_support.
      Don't reset traversal location in each iteration of box clip filter.
      Process facestream in vtkExtractUnstructuredGridPiece::RequestData.
      Handle polyhedra in vtkUnstructuredGridWriter.
      Disable FP frame buffer when GL_ARG_texture_float is not present.
      Return early if ProjectedTetrahedra volume rendering is unsupported.
      Add new baseline for rendering without floating point buffers.
      Add new baseline for dashlin1.
      Pass std::strings through the OStreamWrapper.
      Revert "Pass std::strings through the OStreamWrapper."
      Return early in TransformPoints if input is NULL.
      Update system font test baseline.

David Cole (6):
      Add a vtkMath method to compute the angle between two vectors
      Tests: Re-activate the old TestResliceCursorWidget tests
      Tests: Add test for the vtkCornerAnnotation class
      - Follow on commit to use the right style #include ("", not <>)
      BUG: Add missing header files to enable try_run tests to run without crashing
      Testing: Call SetMultiSamples(0) from tests

David Gobbi (19):
      14196: Allow unicode path in vtkLoadPythonTkWidgets.py.
      In wrappers, guard against #including dirs.
      Fix cell picker for images with negative spacing.
      Fix uninitialized array warnings.
      Fix unreachable code warning in otherCellTypes.cxx.
      Fix a crash when deleting vtk-python objects.
      Fix bad SetColor/GetColor interaction in vtkProperty.
      Fix the extent for tiled tiff files.
      Two fixes for certain lsm (zeiss) tiff images.
      Add reader/writer for NIFTIv1 and NIFTIv2 files.
      Add SetSlabModeToSum() to vtkImageResliceMapper.
      Clean up vtkMedicalImageProperties PrintSelf.
      NIFTI makes IOImage module depend on vtkzlib.
      Fix warning about trailing comma in enum list.
      Bad null pointer check in vtkBSplineTransform.
      Fix segfault if vtkImageWeightedSum's inputs don't match.
      Rewrite the comments for vtkDataArray::GetRange.
      Add generic PyObject support to vtkPythonOverload.
      Provide a method to set the sample spacing for slab modes.

David Stoup (1):
      Add multi-layer support to the vgl interface.

David Thompson (6):
      Bug 14713: Read LS-Dyna point coordinates properly.
      Add a regression test for bug 14713.
      Small fixes to docs, comments, and formatting.
      Add support for reading polyhedra.
      Test reading a polyhedral Exodus dataset.
      Add test data with multiple polyhedra.

Eli Kahn (4):
      Adding mousewheel support to Java GUI components.
      Fix java code formatting.
      Add java file to generated jar file.
      In java code, handle situation when wheel rotation value is zero.

Georg Hammerl (1):
      Add caching for time steps in EnSightGoldReader binary reader.

George Zagaris (18):
      Disable I/O in TestStructuredAMRGridConnectivity
      ENH: DuplicateNodes property to RCB partitioners
      BUGFIX: Fix integer overflow in vtkStructuredData
      ENH: FieldData deserialization to a subextent
      ENH: Add blanking to vtkXMLUniformGridAMRReader
      ENH: Implicit structured data connectivity
      COMP: Update vtkFiltersParallelMPI tests
      ENH: Rename nodes to points in vtkStructuredData
      BUGFIX: Add guards for NULL ivars in PrintSelf
      BUGFIX: Fix issue with unigrid enzo datasets
      COMP: Correct ParallelMPI module test dependencies
      COMP: Remove HyperTreeGridGeometry::UpdateExtent()
      ENH: Update extract structured data filters
      ENH: Use vtkImageData in implicit connectivity
      ENH: RectilinearGrid implicit connectivity support
      ENH: MPI structured data extraction filters
      COMP: Fix a few compiler warnings
      ENH: Added broadcast implementation for RMI triggers

Jacob Becker (1):
      Fix bad check for incomplete polygons, fix div-by-zero.

Jameson Merkow (1):
      Add files, and made modifications for MatlabMex to wotk in vtk 6

Jean-Christophe Fillion-Robin (3):
      vtkPythonCommand - Add support for additional call data types
      vtkPythonCommand - Fix indent and variable names
      Configure VTKConfigVersion consistent with VTK's compatibility guarantees

Jeffrey Baumes (1):
      Fixing array bounds issue

Joachim Pouderoux (19):
      Introduce Robust PCA.
      Introduce box plot and the corresponding chart.
      Introduce Compute Quartiles filter to generate box plots tables.
      Enhance bag plot API to allow specify line and points properties.
      Fix bag plot legends.
      Fix black box plots issue.
      Fix double to unsigned char cast error on clang compiler.
      Fix bag plot and functional bag plots tests.
      Fix and enhance the box plot and chart
      Fix and enhance bag plots.
      Fix bug in picking of invisible props in an assembly.
      Clean an enhance hypertree grids.
      Fix potential compiler error with ternary operator.
      Replace a verbose cout by a vtkDebugMacro()
      Fix clang errors on array initialization
      Fix and clean vtkWin32OpenGLRenderWindow class.
      Fix functional bag plot.
      Clean and uniformize vtkPoints & vtkPoints2D.
      Fix crash on normal computation when polygon is empty.

John Stark (2):
      Add a test for vtkImageImport / vtkImageExport
      Fix pipeline update issues in vtkImageExport

Jorge Perez (1):
      Upgrading the Tcl examples wrt. VTK 6.x

Julien Finet (4):
      Prevent error message when deep copying vtkGridTransform
      Change GetInputConnection error message into a debug warning message
      Enable GPU Raycast volume mapper for recent NVIDIA drivers on Mac OS X
      GPU raycast volume rendering now supports textures larger than 1024

Julien Jomier (2):
      ENH: Fixes for ActiViz.Net
      BUG: Wrong transformation used to restore original parameters

KWSys Robot (1):
      KWSys 2014-03-12 (dd873734)

Ken Martin (115):
      some rough changes to the VBO polydata mapper
      some more cleanup
      added light override
      compute cam matrix, add posiitonal light in progress
      updates to support positional lights
      change how object factory is done
      some fixes to normals etc
      added ambient color in
      some module changes override actor change bunny color
      changes in normal calcs
      moved property over and started gutting it
      fix normals on test
      minor changes
      some bug fixes and start on mapper2D
      allow testing using old mapper
      bug fix
      added cxx for Helper
      duh
      many updates to 2d mapper
      bug fix
      lots of rough changes
      moved renderer over, moved init code
      in progress
      in progress cell scalars
      some cleanup and fixes
      lots of changes in progress
      more fixes
      fix array bounds issue and memory leak
      fix performance issue
      add fast path for float points no col no norm and fix bug
      started on texture mapping
      first cut a tmap support
      add textured backgrounds and fix issue with gradients
      bug fixes
      clean up a bit
      change opacity clean some texture stuff
      minor fixes
      fix crash on test
      fix crash on test
      add fragment shader lighting of lines
      support textured luts some cleanup
      some support for resolving coincident polys
      ambient color fix
      some minor fixes
      start working on image slice mapper
      add baseine images
      updated baseline images
      updated baseline image
      minor backwards compatability change
      basic ImageSliceMapper conversion
      some more fixes
      moved render window over
      bug fix in old VTK
      bunch of optimization more to come
      bad optimizations and missing classes'
      doh forgot really key line
      bug fix and minor cleanup
      fix a glyph bug and minor cleanup
      another bug fix
      better picking support some cleanup
      move interface closer to old Rendering API
      convert ImageMapper
      some bug fixes
      another valid image, remove unused test
      fix SetPixelData and fix picking issue
      add depth peeling
      make wider so we can see errors
      some win32 fixes
      rename VBO mapper
      cleaned up the mapper a bit
      minor cleanup
      minor lighting fix for intel
      handle wireframe tstrips
      some bug fixes etc
      more fixes
      more fixes
      add support for edge visibility
      modify API to be a bit more future proof
      fix some picking issues
      some fixes for andriod
      some fixes for andriod
      remove some old code
      some fixes for andriod
      more andriod glew changes
      more andriod glew changes
      many changes to support glew and android
      many changes to support glew and android
      many changes to support glew and android
      first working in quotes android app
      first working in quotes android app
      comment out more modukles by default
      some warning fixes and minor cleanups
      fix some more warnings
      fix some more warnings
      make vtkOpenGLTexture use vtkTextureObject
      convert depth peeling to use more texture objects
      a tad more depth peeling cleanup
      add android output window
      better debugging out for shader programs
      clean up some shader code
      new android interactor and cleanup
      some shader cleanup
      some android fixes in progress
      improved release graphics resources
      improved release graphics resources
      minor change to be more compatible with some opengl hardware
      fix android resize and lingering glew issue
      added multitouch framework and support on windows and android
      fix java issue
      in progress
      in progress
      more reasonable first cut at java android
      clean up some shader code and classes
      removed unused includes
      fix some warnings

Kenneth Moreland (2):
      Dax marching cubes now uses input array not active scalars.
      Allow Dax marching cubes and threshold to work with doubles.

Lisandro Dalcin (1):
      import mpi4py 1.3

Marco Cecchetti (5):
      vtkColorString - Helper class for defining a color through a string.
      Merged vtkColorString into vtkNamedColors.
      I added a RGBAToHTMLColor and made some minor changes.
      Tentative fix for Windows build issue.
      Tentative fix for big-endian machine issue.

Marcus D. Hanwell (98):
      Added a test for biquadratic quad interpolation
      Exclude the vtkgl.* files (generated code) from coverage
      Make consistent with vtkBiQuadraticQuad
      Added back the QtSQL test for the database class
      Removed misleading comment - test is built
      Added back various rendering tests
      Added back the named components test in FiltersCore
      Removed a few remaining Cg related files
      Refactored the TIFF reader, add support for floats
      Added progress updates when reading a volume
      Remove redundant checks for old JPEG compression
      Copy simple TIFF images into buffers more directly
      First pass at a new render widget
      Implement a basic VBO based poly data mapper
      Basic support for color from property
      Add the find module for Eigen 3
      Added a hack to override OpenGL overrides with GL2
      Roughly mapping the colors/scalars, updates to shaders
      Normalize the colors, and put the light the other side...
      Added the dragon model (already in external data store)
      Moved the VBO and IBO creation to helper functions
      Use the vtkPolyDataNormals filter to calculate normals
      Added a points/lines test, added point/line rendering
      Added in a program for lines, change
      Moved the replace function into the helper header
      Refactoring a little, movig IBO stuff into structs
      Added a polyline, and basic support for rendering it
      Refactor uniforms a little, enable point rendering again
      Small changes for point size and line width
      Minor clean up for includes in the mappers
      Ensure we set the active shaders
      Removed commented code/classes from the test
      Added in the case for multiple renders/VBO updates
      Refactor the shader API to comply with VTK style
      Refactor API, comply with VTK style
      Refactor the shader program API to comply with VTK style
      Added a Vertex Attribute Object (VAO) class
      Enable textures now that the vtkTexture class doesn't do it
      Set the z-spacing in a TIFF to match x-spacing
      Early attempt at getting the 3D glyph mapper working
      Hackish, map the colors for the glyphs
      Keep the color mapper around, shallow copy for settings
      Fixed the normal matrix, now molecules look much better
      Make it compile on Linux/X again
      Bring over the Cocoa classes for Mac
      Intel GLSL compiler is much fussier about type...
      Removed the vtkFiltersCore dep
      Removed vtkRenderingOpenGL as a dep now too!
      Made vtkRenderingOpenGL2 independent of vtkRenderingOpenGL
      The PainterDeviceAdaptor is abstract, can be NULL
      Rename vtkOpenGL2* -> vtkOpenGL*
      Very judicious use of sed, vtkOpenGL2* -> vtkOpenGL*
      Added a concept of backends, added OpenGL and OpenGL2
      File moves necessary to create a context backend
      Context OpenGL and OpenGL2 backends
      Some minor tweaks to get the tests passing again
      Some modules only in groups if correct backend selected
      Missed these OpenGL2 variants with the mass rename
      Brought more of the OpenGL module logic over
      OpenGL and OpenGL2 are mutually exclusive
      If enabled, always override in OpenGL 2
      Unused include for a file that was deleted
      Disable multitexturing in Geovis class
      Moving rendering tests to more appropriate places
      More test moves into more appropriate locations
      Removed the TDx classes from OpenGL 2
      Only enable backends for interface modules being built
      Disable test for render widget
      Changed the default CDash URL for VTK
      Move several TEST_DEPENDS to switch on backend
      Create object factory CMake file, move vtk_add_override
      Now generate the object factory files in a function
      Revert "updated baseline images"
      Revert "updated baseline image"
      Some dependency updates now vtkRenderingContext2D is abstract
      Don't exclude the module from wrapping - initialization
      Made the label tests pass again!
      Make TCL wrapping happy - no numbers in module names
      Added include for std::string
      Save the rendering backend used to the config file
      Avoid early termination when collecting actors
      vtkOpenGLContextActor should subclass vtkContextActor
      One of the tests needs a context device to render
      Removed unused variable - used in subclasses
      These classes are abstract, fix smoke tests
      Fix for Windows mangling issue
      Must be marked WRAP_EXCLUDE too for Tcl smoke tests
      Reduce the number of renders (avoid time outs)
      Move device adapter initialization to the OpenGL module
      BUG: Make selections more permanent, linked to object
      STYLE: Some basic style fixes
      Removed sorts as the inputs were already sorted
      Added a test to exercise bar graph selection
      Remove the wrap exclusion at the module level
      More exclusions, avoid setting ABSTRACT twice
      TCL doesn't like numbers in module names
      Comment out the animated PDB renders
      CMake's exec_program is deprecated, revert back

MetaIO developers (1):
      MetaIO 2014-07-09 (53aa417f)

Nicole Aucoin (1):
      BUG: fix null pointer crash in view to world with no active camera

Patrick O'Leary (1):
      added paraviewweb widget for catalyst workbench

Paul Edwards (2):
      Fix for polyhedron cells.
      Bug fix for dataset surface filter.

Robert Maynard (15):
      Update Dax Accelerator to use the new tll signature.
      Update the Dax Accelerator to use the new dispatcher classes.
      Correct warnings about negative unsigned constant values.
      Properly implement the factory for the dax filters.
      EnSight Binary uses 64bit longs so explicitly use those instead of long.
      Netcdf now handles different directories for c and cxx bindings.
      Improve the performance of vtkDataArray::ComputeScalarRange.
      Improve the performance of vtkDataArray::ComputeVectorRange.
      Move all free functions in vtkDataArray into an anonymous namespace.
      Update ComputeVectorRange based on gerrit feedback.
      Update DataArray and DataArrayTemplate to use vtkTypeTraits.
      Correct ComputeScalarRange when dealing with multiple components.
      Improve ComputeScalarRange when we have a single component.
      Correct an issue with converting dax data to vtk polydata.
      Refactor GetRange to compute all ranges at the same time.

Sandeep Menon (1):
      vtkOBJReader: accept relative indices in OBJ files

Sankhesh Jhaveri (12):
      BUG: Fix failing EnSightBlow5ASCII tests
      BUG: Turned multisampling OFF for certain tests failing on linux with ATI
      Fixed multisampling issues for some tests on ATI
      ENH: Script to generate API differences between two git revisions
      ENH: Added test for vtkImageCroppingRegionsWidget to improve coverage
      ENH: Enable selection of translucent geometry
      BUG: VTK_JAVA_SOURCE_VERSION to accomodate different java versions
      Re-enabling tests disabled during modularization for Interaction/Widgets
      BUG: Duplicate class definition in TestSeedWidget2
      BUG: Duplicate class definition of vtkSeedCallback2
      Additional baseline for TestAreaSelections
      BUG: Border visibility from underlying vtkScalarBar actor

Scott Wittenburg (9):
      Added code to draw current selection rectangle in viewport.
      Added code to support a cache option for filebrowser widget.
      Added canvas based image zooming and panning capabilities.
      Fixed a null reference by surrounding the call with a check.
      Support faster configuration times by checking dependencies at runtime.
      Changed to make tests run serially, async nature was causing collisions.
      Replace an import which disappeared and broke all dashboard web tests.
      Updating to Autobahn python version 0.8.13 to get http long poll endpoints.
      Added latest Autobahn JS (0.9.4) to support pvweb authentication.

Sean McBride (47):
      bug #14418: Remove addition of "-Wno-deprecated" compiler flag
      Fix clang analyzer warning about passing null to strcmp
      Fixed clang analyzer warning about passing null to memcpy
      Fixed clang analyzer warning about reading uninitialized memory
      Fixed clang analyzer waring about a dead store.
      Fixed clang analyzer warning about dead store
      Fixed clang analyzer warning about dead store.
      Fixed clang analyzer warning about dead store.
      Fixed clang analyzer warning about dead store.
      Fixed clang analyzer warning about dead store.
      Fixed clang analyzer warning about 2 dead stores.
      Fixed clang analyzer warning about dead store.
      Fixed clang analyzer warning about reading past an array.
      Fixed several clang analyzer warnings.
      Fixed clang analyzer warning about reading uninitialized memory.
      Fixed clang analyzer warning about dead store to 'pd'.
      Fixed clang analyzer warning about passing null to memcpy.
      Fixed clang analyzer warning about dead store to 'index'.
      Fixed clang analyzer warning about dead store to 'bestTime'.
      Workaround clang analyzer warning by creating temp variable.
      Fixed clang analyzer warnings about dead stores.
      Misc cleanup of code nearby clang analyzer warnings.
      Fixed clang analyzer warnings about dead stores.
      Fixed clang analyzer warning about dead store at very end of method.
      Fixed clang analyzer warning about dead store to 'itr'.
      Fixed clang analyzer warning about dead store to 'cptr'.
      Fixed null deref found by clang analyzer
      Fixed clang analyzer warnings about dereferences
      Suppress clang analyzer warning
      Fixed clang analyzer warning about null deref
      Fixed clang analyzer warning about reading uninitialized data.
      Fixed infinite recursion in vtkBitArray::RemoveFirstTuple()
      Improved code coverage of vtkScalarsToColors by adding more tests
      Added tests for a few uncovered vtkMatrix3x3 methods
      Fixed error in vtkFiltersCoreCxx-TestClipPolyData test
      Removed -fobjc-gc from VTK_REQUIRED_OBJCXX_FLAGS
      Various Cocoa improvements and fixes
      Fixed a bunch of clang -Wabsolute-value warnings
      Removed all uses of deprecated NSOpenGLPFACompliant
      Assume UTF8 for vtkCarbonRenderWindow::SetWindowName
      Remove unnessary 'if' before 'delete[]'
      Add #error when trying to build as Cocoa ARC
      Fixed confusing indentation, no behaviour change
      Fixed unused variable warning in release
      Rewrote vtkCoreGraphicsGPUInfoList to not use deprecated API
      Removed checks for antique Borland versions
      Changed public API of vtkGPUInfo to return vtkTypeUInt64 for memory sizes.

Sebastien Jourdain (55):
      Add catalyst web widget into VTK
      Add NaN support in web chart rendering
      Add a resampling filter
      Add JSON writer for ImageData
      Extend vtkImageMapToColors to support Mask color and Non Active Scalar input
      Use / for path separator to prevent Windows related issue with escape char
      Improve implementation of Catalyst viewer
      Add image resampler catalyst web widget
      Remove test dependency to data when not needed
      Remove usage of the keyword with to allow old python
      Add new set of catalyst web widgets
      Attempt to handle some system raise condition
      Add catalyst web composite widget
      Better composite catalyst web widget
      better UI for catalyst re-sampler web widget
      Various VTK-web improvement
      Fix vtkweb catalyst css
      Add cost information in workbench analysis
      Improve web compositing for dynamic interaction
      Properly handle background selector visibility
      Fix composite rendering widget for search
      Add sorting capabilities
      Refresh workbench UI and workflow
      Fix Composite Javascript for WebKit
      Improve ParaView cinema UI
      Improve basic search in web-catalyst
      Fix catalyst web - cost time computation
      Improve catalyst web UI
      Catalyst web: Minor Web UI change
      Catalyst-web: Improve composite search experience
      Add image width column
      Add cost estimate for Catalyst Web
      Catalyst-Web estimate UI fix
      Change catalyst-web analysis API to expect full URL
      Fix center of rotation for WebGL renderer
      Fix WebGL background orientation
      Fix basic catalyst viewer with theta
      Add runtime libraries on Windows for Java binary package
      Fix several catalyst web UI issue
      Add configuration pass to Catalyst PVW workflow
      Add support for mobile device interaction
      Catalyst Web - Composite improvement
      Catalyst web
      Add new rendering class API based on vtkPanel class
      Remove @Override annotation to prevent compilation issue on old Java compiler
      Upgrade autobahn version to 0.8.9
      Upgrade Twisted version to 14.0.0
      Upgrade ZopeInterface version to 4.1.1
      Add SixPython module for Autobahn dependency
      Update Autobahn/JS library version
      Update VTK Web Python code to handle WAMP v2
      Update Web applications to support new protocol API
      Fix python for vtkweb
      Allow arbitrary WebSocket endpoint
      Add bottstrap3 + pv lib in loader

Shawn Waldon (2):
      Add a smartpointer for PyObjects
      Format comments according to VTK stlye guide

Shinya Onogi (1):
      fix_GPU_resource_handling

Thomas Vaughan (1):
      Set origin and spacing in vtkSurfaceReconstructionFilter. Ref: Mantis 0002826.

Tristan Coulange (5):
      BUG: fix some xdmf writer crashes
      BUG: Add a missing include for VS 2013
      Add support for original ids for generic dataset
      BUG: fix xdmf test failure
      BUG: Fix the quads evaluate location

Utkarsh Ayachit (31):
      Adding a new test for TestSocketCommunicator.
      Added test to test vtkSynchronizedRenderers.
      Deprecate vtkOpenGLPolyDataMapper.
      Fix segfault with TestSetGet.
      Fix build issues with deprecated vtkOpenGLPolyDataMapper.
      Add a delay between process launches.
      Fixed mismatches cell arrays in vtkPStreamTracer.
      Added ability to probe filter to allow disabling of passing field data.
      Add support for empty strinngs in SetInputArrayToProcess.
      Make it possible to override ClampPos.
      Remove OpenGL error checks that were causing errors.
      BUG #14244: Fix stereo image captures.
      Add helper method to convert from SelectionField to AttributeType.
      Fix appending of scalar arrays.
      Fix DataSet reference in when input array is passed to output.
      Avoid exceptions on StringArrays.
      Fixed exceptions with older numpy version.
      Cleanup MPI controller properly.
      vtkExtractSelectedRows only works with IdTypeArray.
      BUG #14828: Keep surface color from interacting with scalar color.
      Handle append scalar in CompositeDataSetAttributes.
      BUG: Fixed opacity mapping when scalar array is vtkUnsignedChar.
      BUG #14813: Fix range reported for mode shapes.
      BUG #14599: Handle double values properly.
      Fix issue with empty arrays with numpy 1.2.1.
      Don't glyph masked points in vtkUniformGrid.
      BUG: Fix invalid return value check in vtkClientSocket.
      vtkScalarBarRepresentation doesn't call Superclass.
      Fixed logic to work when an empty vtkSelection is passed.
      Fix handling of empty selection on ParallelCoordinates.
      Fixed issue with selection frame line style.

Will Schroeder (7):
      Disabling translation and scaling now works.
      Added the ability to specify a clip tolerance.
      Fixed bug causing plane to disappear on boundary.
      InsertNextCell and related method now return the proper vtkIdType.
      Create vtkPolyData instead of vtkUnstructuredGrid when passing points.
      Extended filter to support culling unused points.
      Added ability to control alpha shape output

XDMF Developers (3):
      export xdmf for import into vtk
      export xdmf for import into vtk
      export xdmf for import into vtk

Xabi Riobe (1):
      BUG: The method vtkClipPlanesPainter::UpdateBounds must not be implemented.

Zack Galbreath (25):
      fix lingering off-by-one error
      new writer: vtkPhyloXMLTreeWriter
      attempt to silence "possible loss of data" warning
      improve the thoroughness of TestPhyloXMLTreeWriter
      add baseline directory
      get the baseline file's path from the command line
      add option to write XML to string instead of file
      fix failing tests revealed by gerrit
      fix the format of PhyloXML references
      fix blank newline in XML output
      vtkXMLReader can now read from an input string
      new class: vtkPhyloXMLTreeReader
      consolidate tests for PhyloXML
      silence unused parameter warning
      change signatures for wrapping
      copy row names from R to vtkTable
      do not assume 1st column holds row names
      fix failing SetGet test forvtkHeatmapItem
      preserve R data.frame row names
      break vtkRCalculatorFilter's input/output symmetry
      style cleanup
      add SSL support to VTKWeb server
      fix potential segmentation fault
      change the way we shut down the R interface
      fix failing R tests reported by CDash

xabi riobe (4):
      Fix memory leak in vtkPNGWriter when OutOfDiskSpaceError
      Initialize row_pointers
      Fix numerical precision problem in vtkCellLocator::IntersectWithLine
      Add default value for argument

Revision 23621  Directory Listing
Modified Tue Aug 26 23:41:17 2014 UTC (3 years, 1 month ago) by jcfr
COMP: Remove 10.9 from the list of version to consider. Issue #3809

See inlined comment for more details.

Revision 23620  Directory Listing
Modified Tue Aug 26 23:41:15 2014 UTC (3 years, 1 month ago) by jcfr
COMP: Remove redundant code from SlicerMacroPythonWrapModuleVTKLibrary

This commit de-duplicate code originally added to both "vtkMacroKitPythonWrap.cmake"
and "SlicerMacroPythonWrapModuleVTKLibrary" in r23121.

The code in vtkMacroKitPythonWrap is sufficient.

Revision 23613  Directory Listing
Modified Fri Aug 22 20:55:52 2014 UTC (3 years, 1 month ago) by jcfr
COMP: Update version of tcl/tk/incrTcl used on Linux/MacOSX. Issue #3809

In an attempt to help addressing #3809, this commit updates the ancient
version of Tcl from 8.4 to 8.6 and also update incrTcl from 3.2 to 4.0.

This should fix potential issues specific to MacOSX 10.9 and above.

Also remove unused CMake script 'SlicerBlockStringFindReplace.cmake'

Revision 23610  Directory Listing
Modified Fri Aug 22 03:35:20 2014 UTC (3 years, 1 month ago) by jcfr
COMP: Do not choke on extension description containing semi-colon.

This commit fixes the following error:

CMake Error at /path/to/Slicer/CMake/UseSlicerMacros.cmake:92 (string):
  string sub-command LENGTH requires two arguments.
Call Stack (most recent call first):
  /path/to/Slicer-build/UseSlicer.cmake:392 (slicer_setting_variable_message)
  CMakeLists.txt:17 (include)

Revision 23559  Directory Listing
Modified Wed Aug 6 14:58:50 2014 UTC (3 years, 1 month ago) by jcfr
COMP: Ensure designer plugin provided by Qt are also fixed up

In r23042, install rules have been modified to install designer plugin
provided by Qt but the corresponding pattern to select plugins candidate
for fixup has not been adapted. This commit takes care of it.

Revision 23539  Directory Listing
Modified Fri Aug 1 22:37:46 2014 UTC (3 years, 1 month ago) by jcfr
COMP: Fix MacOSX packaging explicitly setting VTK_LIBRARY_DIRS for VTK6

This is a regression that has probably been introduced
by kitware/VTK@0c1471f1

Revision 23520  Directory Listing
Modified Wed Jul 30 20:47:57 2014 UTC (3 years, 1 month ago) by jcfr
COMP: Fix install of VTK6 python modules on MacOSX

Revision 23519  Directory Listing
Modified Wed Jul 30 20:47:55 2014 UTC (3 years, 1 month ago) by jcfr
STYLE: Remove deprecated variable from CDash driver script

Setting ADDITIONAL_{C|CXX}_FLAGS variables is not the conventional
way of setting additional flags. Setting environment variable
CFLAGS and CXXFLAGS is the recommended way.

Remove variable "WITH_TESTING_EXTENSIONS". This is an advanced variable
that shouldn't be enabled on contributed dashboards. Only the factories
should eventually enable it. That said, the recommended way is to
build a set of s4ext files as explained in [1]

[1] http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Build_ExtensionsIndex

Revision 23518  Directory Listing
Modified Wed Jul 30 20:47:54 2014 UTC (3 years, 1 month ago) by jcfr
STYLE: Update comments in dashboard driver script

Revision 23443  Directory Listing
Modified Thu Jul 17 02:46:00 2014 UTC (3 years, 2 months ago) by jcfr
COMP: Ensure SlicerExecutionModel variable expected by fixup script is set.

This commit fixes a regression introduced by commit r23413 moving
call to find_package where they are needed. By moving the find_package call
from the top-level CMakeLists.txt, variable expected by fixup script were
not set anymore.

It updates SlicerCPack to call find_package and ensure
variable SlicerExecutionModel_LIBRARY_DIRS expected by the fixup script
is set.

Revision 23430  Directory Listing
Modified Mon Jul 14 18:52:10 2014 UTC (3 years, 2 months ago) by jcfr
COMP: Ensure DCMTK libraries are packaged.

This commit fixes a regression introduced in r23413 where call to
"find_package(DCMTK ..)" have been moved in the sub-project where
it was explicitly needed. By calling, "find_package(DCMTK ..)", it
now ensures that the variable "DCMTK_LIBRARIES" will be set.

Note that ideally DCMTK libraries could be installed leveraging the
fact the project is cmake'ified by installing the expected components.

Revision 23419  Directory Listing
Modified Fri Jul 4 13:36:15 2014 UTC (3 years, 2 months ago) by jcfr
COMP: Ensure executable are excluded from fixup process.

While GP_IS_FILE_EXECUTABLE_EXCLUDE_REGEX is convenient to speed-up the
function 'get_bundle_all_executables', when set if prevent file with '.exe'
extension from being excluded on non windows platform.

This commit will help fixing the following packaging error:

609 - fixing item /Users/kitware/Dashboards/Nightly/Slicer-build-64bits-QT4.8.5-PythonQt-With-Tcl-CLI-Release-nightly/Slicer-build/bin/libqSlicerApp.dylib with @rpath/lib/Slicer-4.3
install_name_tool: input file: /Users/kitware/Dashboards/Nightly/Slicer-build-64bits-QT4.8.5-PythonQt-With-Tcl-CLI-Release-nightly/Slicer-build/_CPack_Packages/macosx-amd64/DragNDrop/Slicer-4.3.1-2014-07-03-macosx-amd64/Slicer.app/Contents/lib/Python/lib/python2.7/site-packages/distribute-0.6.17-py2.7.egg/setuptools/cli.exe is not a Mach-O file
install_name_tool: input file: /Users/kitware/Dashboards/Nightly/Slicer-build-64bits-QT4.8.5-PythonQt-With-Tcl-CLI-Release-nightly/Slicer-build/_CPack_Packages/macosx-amd64/DragNDrop/Slicer-4.3.1-2014-07-03-macosx-amd64/Slicer.app/Contents/lib/Python/lib/python2.7/site-packages/distribute-0.6.17-py2.7.egg/setuptools/gui.exe is not a Mach-O file
CPack Error: Error when generating package: Slicer
make: *** [package] Error 1

Revision 23418  Directory Listing
Modified Fri Jul 4 07:26:47 2014 UTC (3 years, 2 months ago) by jcfr
STYLE: dashboarddriver: Update macro setOnlyIfNotDefined to display info

This commit updates the macro "setOnlyIfNotDefined" to display the
environment variable value (introduced in r23417) if it has been set.

Revision 23417  Directory Listing
Modified Fri Jul 4 07:15:57 2014 UTC (3 years, 2 months ago) by jcfr
ENH: Update dashboard driver to support customization using env variable

After a nightly or continuous dashboard starts, it not uncommon to
(1) first stop the script and then (2) manually edit the script and driver
script to skip the directory cleaning part and (3) finally, after
fixing something, relaunching the script.

This commit introduces the variable "run_ctest_with_disable_clean"
set to FALSE by default. It basically allows to explicitly disable the
cleaning step.

Finally, the macro "setOnlyIfNotDefined" has been updated to also
check if the variable name is set in the environment. For more details,
refer to the inlined comments. This will basically allow to restart a
nightly build without (1) cleaning the build directory
and (2) without having to edit the dashboard files.

Revision 23413  Directory Listing
Modified Fri Jul 4 01:34:23 2014 UTC (3 years, 2 months ago) by jcfr
COMP: Move most of find_package calls into each Slicer sub-project.

To help address issue #3741 [1], call to find_package associated to CTK,
DCMTK, ITK and SlicerExecutionModel have been moved in every Slicer
sub project, library or module expecting it.

This allows to reduce both the number of include directories and
the number of libraries passed to the compiler.

Moving forward, every Slicer sub project, library or module will be
responsible to call find_package (optionally specifying a list of
components) and (if it applies) include the associated "use file".

Note that call to find_package(VTK) is still done at the top-level, before
moving the call to the expected sub-directories, the CTKConfig.cmake
will have to be updated to call find_package(VTK) specifying the required
components where it is needed.

[1] http://na-mic.org/Mantis/view.php?id=3741

Revision 23396  Directory Listing
Modified Mon Jun 30 13:18:21 2014 UTC (3 years, 2 months ago) by jcfr
COMP: Remove unused CLIs MIDASApplications and BatchMakeApplications

See #3401

Revision 23362  Directory Listing
Modified Mon Jun 23 02:56:51 2014 UTC (3 years, 3 months ago) by jcfr
COMP: Ensure variable expected by fixup script are set.

This commit fixes a regression introduced by commit r23355 moving
call to find_package where they are needed. By moving the find_package call
from the top-level CMakeLists.txt, variable exepcted by fixup script were
not set anymore.

It updates SlicerCPack to call find_package and ensure
variables *_LIBRARY_DIRS expected by the fixup script are set.

Revision 23361  Directory Listing
Modified Sun Jun 22 21:23:37 2014 UTC (3 years, 3 months ago) by jcfr
BUG: Consider inner build dir when checking for max root directory length.

This commit introduces the convenience CMake module "PreventDirWithTooManyChars"
and update code to account for length of the inner build subdirectory.

It means if the maximum length of the top-level build directory is 40,
assuming the inner build directory is "Slicer-build", the check in
the inner build will expect a path of length 53.

Revision 23360  Directory Listing
Modified Sun Jun 22 21:23:35 2014 UTC (3 years, 3 months ago) by jcfr
COMP: Ensure PreventDirWithSpaces CMake variables is passed to inner project.

This commit ensures that spaces can be used in either source or build
directory when configuring Slicer inner project. This is done by passing
down the variable ${PROJECT_NAME}_SKIP_DIR_WITH_SPACES_CHECK

This commit also documents and simplifies usage of
"PreventDirWithSpaces" CMake module.

Revision 23343  Directory Listing
Modified Wed Jun 18 15:02:14 2014 UTC (3 years, 3 months ago) by jcfr
COMP: Fix Slicer build warnings

This commit addresses two types of warnings:
 - unused variable warnings
 - RCC: Warning: No resources in '/path/to/foo.qrc

Revision 23311  Directory Listing
Modified Fri Jun 6 15:54:17 2014 UTC (3 years, 3 months ago) by mwoehlke
COMP: Make Python resources depend on qrcc.py

Tweak the build rules for Python resource scripts to depend on the
qrcc.py script that generates them. This should ensure that they are
regenerated if the generation script changes. (In particular, it is
hoped that this will help squash lingering issues in various folks'
builds re: r23300.)

Revision 23292  Directory Listing
Modified Fri May 30 22:43:28 2014 UTC (3 years, 3 months ago) by mwoehlke
COMP: Ensure output directory exists

Tweak slicerFunctionAddPythonQtResources to also include a rule to
ensure that the output directory for the resource script exists. This
fixes build errors on non-Ninja clean builds.

Revision 23290  Directory Listing
Modified Fri May 30 22:43:25 2014 UTC (3 years, 3 months ago) by mwoehlke
ENH: Add support for real Qt resources in Python

Add methods to qSlicerCoreApplication to allow Python code to invoke the
raw data overloads of QResource::[un]registerResource (which otherwise
cannot be invoked, as the requisite uchar* overloads are hidden by the
QString overloads). Create a Python script to generate a Python compiled
resource script (similar to pyrcc4 or pyside-rcc, except leveraging Qt's
native rcc rather than reimplementing it). Create CMake functions to
invoke this in an appropriate manner, and to create necessary target
dependencies so that the resulting Python files are created before the
ctkFunctionAddCompilePythonScriptTargets targets try to copy them to
their final build locations.

This system will allow Python loadable modules to use Qt resources by
creating a .qrc file and loading the resources using ':/path' notation,
in the same manner as C++ code (rather than individually copying every
resource file and loading them relative to the module's directory).

Revision 23289  Directory Listing
Modified Fri May 30 22:43:24 2014 UTC (3 years, 3 months ago) by mwoehlke
COMP: Allow generated scripted module files

Modify slicerMacroBuildScriptedModule to accept SCRIPTS and/or RESOURCES
that are generated files, rather than requiring them to exist at
configure time.

Revision 23261  Directory Listing
Modified Thu May 29 15:56:16 2014 UTC (3 years, 3 months ago) by mwoehlke
COMP: Add VTKv6 Python path to launcher

It appears that the way VTKv6 chooses the location to which to install
its Python bindings has changed. As obtaining the Python version early
enough to override the path with the new VTKv6 mechanism appears to be
non-obvious/non-trivial, we instead punt, and add the location that is
now being used to the launcher's PYTHONPATH's.

Also, remove specification of VTK_INSTALL_PYTHON_USING_CMAKE, which no
longer exists in VTKv6.

Revision 23240  Directory Listing
Modified Tue May 27 21:44:47 2014 UTC (3 years, 4 months ago) by jcfr
ENH: MRMLCLI_INCLUDE_DIRS CMake variable exported

It is needed for some subject hierarchy plugins to include the MRMLCLI indlude
directories, and by exporting this variable it is possible to do it without
manually constructing the paths in the CMakeLists files

From: Csaba Pinter <csaba.pinter@queensu.ca>

Revision 23186  Directory Listing
Modified Mon May 19 03:28:28 2014 UTC (3 years, 4 months ago) by jcfr
COMP: Update Slicer packaging code to support CMake 3.0

Revision 23183  Directory Listing
Modified Thu May 15 21:52:47 2014 UTC (3 years, 4 months ago) by jcfr
BUG: Fix MacOSX packaging

This commit ensures the MacOSX packaging script is executed last
by installing the 'Runtime' component last and should ensure the
packaged Slicer application can be executed without crashing.

This particular issue was introduced by commit r23158 where two
things happened:

(1) updated of the build system to explicitly install Slicer components.
The component where specified in the order 'Runtime', 'RuntimeLibraries'
and 'RuntimePlugins'

(2) the MacOSX packaging script was associated with the 'Rumtime' component

The consequence was that Slicer libraries and plugins where installed after
the script was executed and the plugins and libraries where no properly
fixed up. It then prevented the Slicer application from being executed.

Revision 23180  Directory Listing
Modified Wed May 14 23:20:03 2014 UTC (3 years, 4 months ago) by jcfr
BUG: Improve check for usage of ConfigurePrerequisites component

This commit ensures that no false error will happen by checking if
the variable CMAKE_PROJECT_NAME (set only by the project() command)
 is defined.

More particularly, this will avoid getting error while build the
VMTK extension.

Revision 23163  Directory Listing
Modified Tue May 13 17:14:47 2014 UTC (3 years, 4 months ago) by jcfr
COMP: Associate extension package name with the date of the last commit.

A similar problem was occurring while building the Slicer core and has
been fixed by r20028[1]. The associated issues were #1974 [2] and #1973 [3].

This commit associate to the package name the date of the latest commit
associated with the extension source repository. In case no repository
has been associated with the extension, the date "0000-00-00" will be
considered.

Thanks to "Chenxi Zhang <chenxizhang@fudan.edu.cn>" for reporting the
problem.

Associated discussion: http://slicer-devel.65872.n3.nabble.com/Problem-in-building-a-extension-tp4029816p4029857.html

Fixes #3356

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=20028
[2] http://www.na-mic.org/Bug/view.php?id=1973
[3] http://www.na-mic.org/Bug/view.php?id=1974

Revision 23162  Directory Listing
Modified Tue May 13 17:14:44 2014 UTC (3 years, 4 months ago) by jcfr
ENH: GIT_WC_INFO with date support for git only repository

To allow the date to be extracted from git only repository, the macro
"GIT_WC_INFO" has been extended to extract the commit date of the last
change.

Revision 23158  Directory Listing
Modified Tue May 13 07:07:08 2014 UTC (3 years, 4 months ago) by jcfr
ENH: Reduce package size by not installing export libraries. Fixes #2397

This commit explicitly installs the needed component and skips the
development component if not explicitly requested.

Since on DLL platform, export libraries (.lib) are considered as archive [1]
and are associated with the development component, they won't be installed
in the package.

[1] http://www.cmake.org/cmake/help/v2.8.12/cmake.html#command:install

Revision 23157  Directory Listing
Modified Tue May 13 07:07:05 2014 UTC (3 years, 4 months ago) by jcfr
ENH: Associate component with all install rules.

Related to #2397

Revision 23140  Directory Listing
Modified Thu May 8 07:58:19 2014 UTC (3 years, 4 months ago) by jcfr
COMP: Fix "unused-local"typedefs" warning and update ITKv4

Commit r23121 removed the addition of "-Wno-unused-local-typedefs",
this commit is an attempt to clean most of the warnings. It also
updates the ITKv4 external project so that it checks out the Slicer ITK
fork including the ITK patch currently in review. See [1], [2]

$ git shortlog 01661ccf99..184b1257ad
Jean-Christophe Fillion-Robin (3):
      COMP: Properly fix unused-local-typedefs warning using unused attribute.
      COMP: Fix "unused-local-typedefs" warnings
      COMP: Backport double conversion fix for "unused-local-typedefs" warning

[1] http://review.source.kitware.com/#/c/15379/
[2] http://review.source.kitware.com/#/c/15380/

Revision 23135  Directory Listing
Modified Wed May 7 16:53:43 2014 UTC (3 years, 4 months ago) by finetjul
COMP: Fix python wrapping

Revision 23134  Directory Listing
Modified Tue May 6 22:23:45 2014 UTC (3 years, 4 months ago) by finetjul
COMP: Fix python wrapping on Windows

Attempt to fix the python wrapping on Windows machines.
Reduce the number of directories included for vtkWrapPython.

Revision 23132  Directory Listing
Modified Mon May 5 21:51:16 2014 UTC (3 years, 4 months ago) by finetjul
BUG: Fix python wrapping on Windows

The vtkWrapPython.exe command lines for the *PythonD targets were too
long (>35K characters. A "bad number" error was generated.

Revision 23123  Directory Listing
Modified Sat May 3 19:44:43 2014 UTC (3 years, 4 months ago) by finetjul
COMP: Add FindFontConfig.cmake

FindFontConfig.cmake is from VTK.

VTKv6 was not built with the module vtkRenderingFreeTypeFontConfig because
it could not find FontConfig. However, once VTK was downloaded and
configured. Any find_package(FontConfig) call (e.g. in CTK) would succeed
because FindFontConfig.cmake is now in the CMake search path.

Issue #3514

Revision 23122  Directory Listing
Modified Fri May 2 21:55:04 2014 UTC (3 years, 4 months ago) by finetjul
ENH: Add VTK 6 support 2/2

Issue #3514

Revision 23121  Directory Listing
Modified Fri May 2 21:49:48 2014 UTC (3 years, 4 months ago) by finetjul
ENH: Add VTK 6 support 1/2

1) Support vtk6 to build system.
http://www.vtk.org/Wiki/VTK/Build_System_Migration
Give users a build option between vtk5 and vtk6.
Solve vtk library python wrapping for VTK 6
Use system zlib (this is a hack)
Use system png (this is a hack)

2) Update dependency projects in superbuild including VTK, CTK, OpenIGTLinkIF, MultiVolumeExplorer.

3) Remove deprecated Macro.
The following two macros were deprecated in VTK 5.0 that were still supported, but have now been eliminated:
vtkTypeRevisionMacro has been replaced with vtkTypeMacro; vtkCxxRevisionMacro has been removed.
http://www.visitusers.org/index.php?title=VTK_6.0_Upgrade

The following two macros were deprecated in VTK 6.0 if VTK_LEGACY_REMOVE is on:
VTK_LARGE_INTEGER and VTK_LARGE_FLOAT
https://github.com/Kitware/VTK/blob/9a0fbb8da1a1701dc1b44c71467b969b3302efad/Common/Core/vtkType.h#L158-159

vtkFloatingPointType is replaced with double.
http://review.source.kitware.com/#/t/1667/

vtkType deprecations
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/vtkType_deprecations

4) Replace SetInput() with SetInputData() and SetInputConnection(), the same kind of functions include SetInput1(), SetInput2(), AddInput() and SetSource().
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Replacement_of_SetInput

5) Remove GetProducerPort() from vtkDataObject.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_GetProducerPort

6) Remove Execute
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Execute

7) Remove SetWholeExtent() from vtkDataObject
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_SetWholeExtent

8) Remove Methods for Manipulating Update Extent
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Methods_for_Manipulating_Update_Extent

9) Change AllocateOutputData() in vtkImageAlgorithm.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Change_to_AllocateOutputData

10) Remove CopyInformation and CopyTypeSpecificInformation from vtkDataObject and vtkImageData.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_CopyInformation

11) Remove GetPipelineInformation and GetExecutive from vtkDataObject.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_GetPipelineInformation

12) VTK6 requires #include <vtkVersion.h> to use the VTK_xxx_VERSION preprocessor directives.
http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples#Improve

13) Remove Methods for Manipulating Update Extent.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Methods_for_Manipulating_Update_Extent.
http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples#Improve.

14) Change scalars manipulation functions
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Changes_to_Scalars_Manipulation_Functions.
http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples#Improve.

15) Remove Pipeline Update Methods from vtkDataObject.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Update

16) Remove Pipeline Update Methods from vtkDataObject.
http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Update.

17) Refactor functions in vtkMRMLModelNode and sublcasses.

18) Refactor functions in vtkMRMLVolumeNode and its subclasses.
Use ImageDataPort instead of ImageData

Issue #3514

From Yuzheng Zhou <yuzheng.zhou@kitware.com>

Revision 23116  Directory Listing
Modified Fri Apr 25 14:06:13 2014 UTC (3 years, 5 months ago) by jcfr
BUG: Fix dashboard submission removing subproject settings

When copied over from CTK, some of the setting related to
"SubProject" were still set. This was causing some issue on the CDash
server. This commit is an attempt to fix the submission error.

Revision 23096  Directory Listing
Modified Mon Apr 14 02:20:52 2014 UTC (3 years, 5 months ago) by jcfr
BUG: Fix unix installation of SSL libraries

This commit ensures that only the ssl libraries are installed without
additional empty directories.

Revision 23092  Directory Listing
Modified Sat Apr 12 06:19:20 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Remove now unneeded SimpleITK build system hack introduced in r23052

This commit implements the change that commit r23090 is describing.

Revision 23077  Directory Listing
Modified Fri Apr 11 04:10:41 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Remove ITKv3 support

As discussed on the mailing list [1] and reported on the Roadmap [2],
this commit removes all conditional code that was allowing Slicer4 to be
compiled against ITKv3.

Code that was building only against ITKv3 has also been removed. This
includes DicomToNrrdConverter CLI module
and SlicerITKv3N4MRIBiasFieldCorrectionImageFilter class.

[1] http://slicer-devel.65872.n3.nabble.com/Removal-of-ITKv3-support-tt4031364.html

[2] http://wiki.slicer.org/slicerWiki/index.php/Roadmap#Deprecation_.2F_API_Changes

Revision 23075  Directory Listing
Modified Thu Apr 10 18:33:29 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Update ExternalProject_Execute to implicitly delete related log files

The user of the function doesn't have to explicitly delete the log files
by calling the function 'ExternalProject_Remove_Execute_Logs'. Following
this commit log files created by calling 'ExternalProject_Execute' for a
given project and stepname will automatically be removed if called a
second time.

Revision 23073  Directory Listing
Modified Thu Apr 10 18:33:25 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Simplify environment setup for python module build steps

Following the introduction of Python launcher by commit r19804,
adding the location of the shared python library in the Env files
is redundant. It is already done by the Python launcher.

Revision 23070  Directory Listing
Modified Thu Apr 10 18:33:18 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Generalize NUMPY/SimpleITK build system

This commit introduces a new CMake module named "ExternalProjectForNonCMakeProject"
providing convenience functions to facilitate the integration of project
based on autoconf, python distutils, ...:

  ExternalProject_Execute
  ExternalProject_Remove_Execute_Logs
  ExternalProject_Write_SetBuildEnv_Commands
  ExternalProject_Write_SetPythonSetupEnv_Commands

Let's also note that since r20539 and r21639 removed the need for a
Fortran compiler to configure/build/install NUMPY, the requirement to set
the environment variable LDFLAGS to an empty string originally
introduced by r20520 has been removed.

Revision 23063  Directory Listing
Modified Wed Apr 9 07:37:11 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Rename Windows "Start menu" entry for 32 and 64-bit install

As discussed during April 8th 2014 developer hangout, considering that
64-bit build are now the default, the associated start menu entries are
renamed so that a suffix is instead associated with the 32-bit start menu
entry instead of the 64-bit one:

 Slicer 4.3.1 [...] (Win64) -> Slicer 4.3.1 [...]

 Slicer 4.3.1 [...] -> Slicer 4.3.1 [...] (Win32)

Revision 23058  Directory Listing
Modified Tue Apr 8 17:41:15 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Associate a component with install rules

Revision 23057  Directory Listing
Modified Tue Apr 8 17:41:12 2014 UTC (3 years, 5 months ago) by jcfr
BUG: Rename installed python executable to account for case-insistive system

Considering that the MacOSX build server uses Apple HFS file system that
is case insensitive for operation [1], the installed python
executable is copied in

  Slicer.app/Contents/bin/Python/

instead of

  Slicer.app/Contents/bin/

This commit rename the installed executable into "python-real" to account
for this.

For sake of consistency, the renaming is also applied for all platforms.

[1] http://en.wikipedia.org/wiki/Hierarchical_File_System#Limitations

Revision 23056  Directory Listing
Modified Tue Apr 8 17:41:11 2014 UTC (3 years, 5 months ago) by jcfr
BUG: Associate component with Qt plugin install rules

Revision 23055  Directory Listing
Modified Tue Apr 8 17:41:09 2014 UTC (3 years, 5 months ago) by jcfr
BUG: Associate component with python launcher and modules install rules

Revision 23052  Directory Listing
Modified Mon Apr 7 23:41:26 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Do not install SimpleITK headers. See #2397

See https://issues.itk.org/jira/browse/SIMPLEITK-517

Revision 23051  Directory Listing
Modified Mon Apr 7 23:41:24 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Install python interpreter

Revision 23049  Directory Listing
Modified Mon Apr 7 23:41:21 2014 UTC (3 years, 5 months ago) by jcfr
ENH: Generalized DCMTK application install rules to multi config systems.

Revision 23048  Directory Listing
Modified Mon Apr 7 23:41:19 2014 UTC (3 years, 5 months ago) by jcfr
STYLE: Simplify installation rules associated with DCMTK applications

Revision 23043  Directory Listing
Modified Thu Apr 3 21:52:38 2014 UTC (3 years, 5 months ago) by jcfr
BUG: Fix install rule incorrectly set in r23042

Optional matching pattern are now specified after a semicolon.

Revision 23042  Directory Listing
Modified Thu Apr 3 20:44:26 2014 UTC (3 years, 5 months ago) by jcfr
BUG: Install QWebView designer plugin to fix loading of UI file

By installing the designer plugin, we ensure that UI file having a
QWebView can successfully be loaded at runtime.

Revision 23036  Directory Listing
Modified Tue Apr 1 23:13:49 2014 UTC (3 years, 5 months ago) by mwoehlke
BUG: Fix/improve launcher path setup

Take advantage of recent changes in the CTK AppLauncher to use the list
form of setting up additional environment path lists. Particularly, we
now declare as path lists those environment variables that are (i.e.
QT_PLUGIN_PATH, PYTHONPATH) so that we no longer lose the user's paths
that have been set in these.

Revision 22943  Directory Listing
Modified Tue Mar 11 19:52:20 2014 UTC (3 years, 6 months ago) by jcfr
COMP: Gracefully fail if Slicer build against an external non-system python

This commit relaxes the check initially introduced by commit r21191

Note that ideally the build system should be updated to install python
libraries and module even if they are not built into the usual
directory <Slicer-Superbuild>/python-install

Revision 22923  Directory Listing
Modified Wed Mar 5 23:44:05 2014 UTC (3 years, 6 months ago) by jcfr
STYLE: In driver script, rename 'setIfNotDefined' into 'setOnlyIfNotDefined'

Revision 22922  Directory Listing
Modified Wed Mar 5 23:44:03 2014 UTC (3 years, 6 months ago) by jcfr
COMP: Update ExternalProjectDependency based on commontk/Artichoke@c3eb170

[Artichoke]
$ git shortlog da5367b..c3eb170
Jean-Christophe Fillion-Robin (2):
      Ensure a list of same labels can be associated with multiple variables
      Simplify API removing requirement to explicitly set 'CMAKE_CMD' parameter

[CTK]
$ git shortlog --no-merges  7466ab0..ff2ae72
Andreas Fetzer (3):
      Proper pointer inizialization
      Fixed wrong resourceUri for certain xnatObjects
      Added download function to ctkXnatTreeBrowser

Daniel Knorr (3):
      Changed TreeModel functionality of CanFetchMore() and FetchMore(),     to add children which have been fetched already.     Previously these children were not added to the model,     they were fetche
      Deleted the no more necessary ctkXnatProjectsListModel.     Added a virtual method to ctkXnatObject for getting the child type.     Overwrited this method in ctkXnatDataModel and ctkXnatProject.
      Changed the ctkXNATBrowser models to generic ctkXnatListModel.     Litte Changes to ctkXnatTreeModel.

Jean-Christophe Fillion-Robin (2):
      Update VTK external project to 5.10 head to fix clang compilation error
      Update ExternalProjectDependency system based on commontk/Artichoke@c3eb170

Miklos Espak (32):
      Login dialog added
      qRestAPI upgrade
      Fix for compiler warnings
      ctkXnatConnection* moved from ctkXnatObject to ctkXnatServer
      XNAT tree model and example application
      Null check for ctkXnatSettings in login dialog, refactorings
      qRestAPI hash update to get library dirs fix
      Scan resource download
      CTK naming conventions for getters
      Resource URIs constructed incrementally
      Reconstruction support is back
      SSL errors suppressed for connecting sites with self-signed certificate
      Clean-up
      ctkXnatTreeModel::xnatObject(QModelIndex)
      Fix about CTK naming convention for getters
      API clean-up, documentation comments
      ctkXnatScanResourceFile and ctkXnatReconstructionResourceFile unified to a single ctkXnatFile class
      Unit test added for CTKXNATCore
      XML Schema type property for ctkXnatObject
      Schema type stored in ctkXnatObject
      Shared/weak pointers removed in favour of explicit memory handling
      ctkXnatObject::addChild renamed to add
      XNAT Core refactorings and basic support for creating objects
      Existance test support
      ctkXnatAPI class (former qXnatAPI from the qRestAPI project)
      Parent can be passed to ctkXnatObject constructors
      Unit test for XNAT object deletion
      XNAT save function save the properties
      XML schema type used for XNAT objects
      Unit test for XNAT object parent-child relationship
      XNAT resourceUri fixes
      Uses of obsolete class ctkXnatSessionFactory are removed

Nicolas Toussaint (8):
      make the experiment level available in the new API
      make the scan-folder and scans levels available in the new API
      all levels are taken into account now, with the right labels
      implement default methods for Objects for isFile() etc
      xnat: adding the missing methods, still missing some implementations
      xnat: download functionality almost on track
      xnat: working on the download feature
      download file functionality restored

Sascha Zelzer (33):
      Explicitly include the Qt use file again.
      Added qRestAPI as an external project.
      Moved the XNAT clases from the org.commontk.xnat plug-in.
      Moved the XNAT classes into a Core subdirectory.
      Added XNATWidgets library stub.
      Removed unused XNAT files and simplified QtScript dependency.
      Added initial ctkXNATBrowser application.
      ctkXnatObject redesign. No QObjects, using QSharedPointer.
      Qt list model for ctkXnatObject instances. Will be renamed.
      Prototype application for querying XNAT servers.
      Use Qt style for passing pimpl pointers to super-class constructors.
      Don't clear the CTK_EXTERNAL_LIBRARY_DIRS variable.
      Improved error and exception handling.
      Removed warnings.
      Renamed XNAT classes.
      Moved the ctkXnatLoginProfile class to XNAT/Core.
      ctkXnatSession now requires a ctkXnatLoginProfile in its constructor.
      Moved fetch() methods to subclasses and use QMetaType to create instances.
      Added http session support.
      Removed debugging messages.
      Re-structured XNAT exception hierarchy.
      Added ctkXnatSession documentatioin.
      Make schema type customizable per object again.
      Updated qRestAPI commit hash
      Use new qRestAPI hash
      We need to explictily open the session.
      The password for the ctk account has expired.
      Removed obsolete ctkXNATBrowser application.
      Use Qt naming convention for getters.
      Added doxygen groups and fixed some formatting issues.
      Use the proper CTK testing infrastructure.
      Add cmd line option for generating a GUI from XML
      Use a qRestAPI version compatible with Qt 4.6.2

Revision 22909  Directory Listing
Modified Thu Feb 27 00:28:55 2014 UTC (3 years, 6 months ago) by jcfr
COMP: ExternalProject_Add_Source - Do not create build directory

Specify the 'BUILD_IN_SOURCE' argument to skip the creation of
unwanted build directory.

Revision 22906  Directory Listing
Modified Wed Feb 26 19:25:36 2014 UTC (3 years, 6 months ago) by jcfr
ENH: Extend 'Slicer_RemoteModule_Add' to accept list of cache options

When the VARS argument is set to a list of variable of the form:

  <name1>:<type1>=<value1> [<name2>:<type2>=<value2> [...]]

For more details, see inlined documentation.

Revision 22894  Directory Listing
Modified Fri Feb 21 15:58:08 2014 UTC (3 years, 7 months ago) by jcfr
COMP: Remove redundant Error/Warning Ctest custom match expression.

As of kitware/CMake@b2634b6aaor for any version of CMake >= v2.8.3, these
expressions are already included in the default CTest list
implemented in cmCTestBuildHandler.cxx

See [1], [2] and [3]

Co-authored-by: Christopher Mullins <christopher.mullins@kitware.com>
Co-authored-by: Matt McCormick <matt.mccormick@kitware.com>

[1] http://cmake.org/gitweb?p=cmake.git;a=commit;h=b2634b6aa3a0203e3a97060cf9e3206245a85080
[2] http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/CTest/cmCTestBuildHandler.cxx;h=c5deb964a38fe7ed37c08562112800b961788269;hb=HEAD#l70
[3] http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/CTest/cmCTestBuildHandler.cxx;h=c5deb964a38fe7ed37c08562112800b961788269;hb=HEAD#l136

Revision 22883  Directory Listing
Modified Sat Feb 15 21:31:27 2014 UTC (3 years, 7 months ago) by jcfr
ENH: Add second pimpl constructor to qMRMLTreeView

Adding a second protected constructor that takes the pimpl instance as argument allows subclassing and using qMRMLTreeViewPrivate from a subclass of the tree view.

Export qMRMLWidgets_INCLUDE_DIRS CMake variable from SlicerConfig to be able to include those directories without CMake path construction magic.

From: Csaba Pinter <csaba.pinter@queensu.ca>

Revision 22870  Directory Listing
Modified Tue Feb 11 16:51:38 2014 UTC (3 years, 7 months ago) by jcfr
COMP: Adding support for Apple's Retina display for fonts

Enable improved rendering of fonts on Apple's retina displays by
adding a custom bundle plist file with the following additional
elements:

<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<string>True</string>

The remainder of the input plist file is based on the current in file
from CMake.

For reference: https://blog.qt.digia.com/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Bradley Lowekamp <blowekamp@mail.nih.gov>

Revision 22842  Directory Listing
Modified Mon Jan 20 20:54:44 2014 UTC (3 years, 8 months ago) by jcfr
COMP: DashboardDriver: Introduce SVN_REPOSITORY variable

By default the variable is set to:

  http://svn.slicer.org/${CTEST_PROJECT_NAME}

If needed, the variable SVN_REPOSITORY can also be set prior to include
the driver script.

Revision 22841  Directory Listing
Modified Mon Jan 20 20:42:06 2014 UTC (3 years, 8 months ago) by jcfr
COMP: DashboardDriver: Expect MIDAS_PACKAGE_URL if packaging is enabled

Revision 22824  Directory Listing
Modified Fri Jan 17 00:07:20 2014 UTC (3 years, 8 months ago) by jcfr
COMP: Update ExternalProjectDependency based on commontk/Artichoke@da5367b

$ git shortlog 243982e..da5367b
Jean-Christophe Fillion-Robin (1):
      Fix typo preventing additional external project from being considered

Revision 22807  Directory Listing
Modified Wed Jan 8 17:27:18 2014 UTC (3 years, 8 months ago) by jcfr
COMP: Modern gcc compilers have a reasonable template depth limit

Current gcc compilers have a reasonable max default template
depth. The -ftemplate-depth-50 flag was removed. This limited any
application which used ITK to only a template depth of 50.

Based on InsightSoftwareConsortium/ITK@5bcca741

From: Bradley Lowekamp <blowekamp@mail.nih.gov>

Revision 22806  Directory Listing
Modified Wed Jan 8 16:43:45 2014 UTC (3 years, 8 months ago) by jcfr
COMP: Ensure Slicer_RemoteModule_Add worked when source directory is passed

Configuring Slicer with -D<projectname>_SOURCE_DIR:PATH=/path/to/projectname
is now supported.

Thanks to Bradley Lowekamp <blowekamp@mail.nih.gov> for reporting the issue.

Revision 22781  Directory Listing
Modified Tue Dec 17 15:16:17 2013 UTC (3 years, 9 months ago) by jcfr
COMP: Fix configuration adding missing parameter to ExternalProject_Add_Source

Following commit r22776, the macro ExternalProject_Add_Source has been
added and jqPlot retrieved using it but the URL and URL_MD5 parameters
were not considered. This probably happens because the jqPlot directory
was already existing.

Revision 22779  Directory Listing
Modified Tue Dec 17 10:24:34 2013 UTC (3 years, 9 months ago) by jcfr
COMP: Configure include directories into SlicerConfig.cmake

This commit adds the following variables to the config file:

For each module:

- <Module>_INCLUDE_DIRS
- <ModuleLogic>_INCLUDE_DIRS
- <ModuleMRML>_INCLUDE_DIRS
- <ModuleWidget>_INCLUDE_DIRS

and for MRMLLogic:

- MRMLLogic_INCLUDE_DIRS

Revision 22776  Directory Listing
Modified Tue Dec 17 06:07:46 2013 UTC (3 years, 9 months ago) by jcfr
COMP: Easier maintenance simplifying process to add remote module source

Following this commit, adding a remote module source to Slicer can
simply be done calling:

 Slicer_Remote_Add(Foo
   GIT_REPOSITORY git://github.com/john/foo
   GIT_TAG abcdef
   OPTION_NAME Slicer_BUILD_Foo
   LABELS REMOTE_MODULE
   )

As a side effect, (1) the option "Slicer_BUILD_Foo" will automatically be
added as an advanced option and (2) the CMake variables "Slicer_BUILD_Foo"
and "Foo_SOURCE_DIR" will be passed to Slicer inner build.

Additionally, by associating the "REMOTE_MODULE" label, the corresponding
source directory will be added automatically using a call 'add_directory'
similar to this one:

 add_directory(
   /path/to/Slicer-build/Foo
   /path/to/Slicer-build/Slicer-build/Module/Remote/Foo)

This happen in the Slicer/Modules/Remote/CMakeLists.txt file.

Finally, note that a new module named "ExternalProjectAddSource" has been
added, it is still experimental and should be considered as
internal to Slicer without any promise to keep backward compatibility.

Revision 22773  Directory Listing
Modified Sun Dec 15 08:02:44 2013 UTC (3 years, 9 months ago) by jcfr
COMP: Simplify external project includes & passing of CMake vars to project

A new module named "ExternalProjectDependency" has been introduced, it is
equivalent to the Artichoke module at revision commontk/Artichoke@70ed903.

This new module is now used within Slicer to support its build system. To
maintain backward compatibility with existing extensions, the modules
"SlicerMacroEmptyExternalProject" and "SlicerMacroCheckExternalProjectDependency"
are kept around.

Revision 22756  Directory Listing
Modified Tue Dec 3 22:09:36 2013 UTC (3 years, 9 months ago) by jcfr
COMP: Add Slicer_ADDITIONAL_REQUIRED_QT_MODULES to add QT modules

 * Manually prefix the modules because some modules (e.g. PHONON) may not
have the "QT" prefix.
 * Synchronize the required modules with the packaged modules

From: Julien Finet <julien.finet@kitware.com>

Revision 22751  Directory Listing
Modified Mon Dec 2 21:52:48 2013 UTC (3 years, 9 months ago) by jcfr
COMP: Ensure 'superbuild_include_once' works independently of caller scope.

By using GLOBAL property instead of a local variable, the file will
be properly "include guarded" even if included from within a function.

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 22750  Directory Listing
Modified Mon Dec 2 21:52:46 2013 UTC (3 years, 9 months ago) by jcfr
STYLE: Rename macro "slicer_include_once" into "superbuild_include_once"

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 22747  Directory Listing
Modified Fri Nov 29 06:10:29 2013 UTC (3 years, 9 months ago) by jcfr
COMP: For consistency rename OpenSSL_* variables into OPENSSL_*

Revision 22746  Directory Listing
Modified Fri Nov 29 06:10:26 2013 UTC (3 years, 9 months ago) by jcfr
COMP: Fix OpenSSL install rules

Commit r22724 updated the External_* project files to support
Slicer_USE_SYSTEM_* variables. For sake of consistency, it also
changed variable "EP_OpenSSL_LIBRARIES" into "OPENSSL_LIBRARIES".
Since not all variables have been updated, this commit updates
the remaining variables to fix the OpenSSL install rules.

Revision 22724  Directory Listing
Modified Sun Nov 24 08:09:34 2013 UTC (3 years, 10 months ago) by jcfr
COMP: Support Slicer_USE_SYSTEM_* option. Fixes #1739

This commit implements four main changes:

  (1) it updates Slicer build system to support configuring Slicer passing
      Slicer_USE_SYSTEM_* CMake variables

  (2) it updates to a newer version of CTK able to understand CTK_USE_SYSTEM_*
      options. List of CTK contribution associated with this update are
      reported below.

  (3) it changes curl library from "slicerlibcurl/cmcurl/curl" v7.12.1
      to the more recent official CMake'ified curl v7.33.0. This has the
      benefit of making it easier to build against the corresponding
      system library.

  (4) It implements workaround allowing some CLIs to built on Debian-like
      distribution that is providing DCMTK 3.6.0.
      See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637687
      EMSegment project has also been updated to implement a similar
      workaround.

The macro "SlicerMacroCheckExternalProjectDependency" allowing to
recursively traverse the external project dependency tree has been
updated.

The traversal is now done in two passes. The first pass traverses the
complete tree to set the value of Slicer_USE_SYSTEM_*.

The second pass invokes the "ExternalProject_Add" function and displays
informative messages. In addition to the usual "[OK]" and "[INCLUDED]"
suffixes, an additional text "(SYSTEM)" is displayed. It means the
corresponding libraries (and headers) installed on the system will be
used.

On Ubuntu 13.10, support for the following options have been
tested simultaneously:
  -DSlicer_USE_PYTHONQT_WITH_OPENSSL:BOOL=ON
  -DSlicer_USE_SYSTEM_python:BOOL=ON
  -DSlicer_USE_SYSTEM_DCMTK:BOOL=ON
  -DSlicer_USE_SYSTEM_LibArchive:BOOL=ON
  -DSlicer_USE_SYSTEM_curl:BOOL=ON
  -DSlicer_USE_SYSTEM_teem:BOOL=ON
  -DSlicer_USE_SYSTEM_OpenIGTLink:BOOL=ON
  -DSlicer_USE_SYSTEM_OpenSSL:BOOL=ON # Implicitly set because python depends
                                      # on OpenSSL.
  -DSlicer_BUILD_OpenIGTLinkIF:BOOL=OFF # Only openigtlink version1 are available
                                        # and code does NOT supports only v2.

To successfully build Slicer against system libraries, the corresponding
packages have been installed:
  sudo apt-get install libssl-dev \
    libdcmtk-dev \
    libarchive-dev \
    libpython2.7-dev \
    python-numpy \
    libcurl4-openssl-dev \
    libteem-dev \
    tk-dev \
    tcl-dev \
    itcl3-dev \
    libopenigtlink1-dev

While not tested, support for the following option has also been
implemented:
  -DSlicer_USE_SYSTEM_ITKv4:BOOL=ON
  -DSlicer_USE_SYSTEM_VTK:BOOL=ON

CTK updates:

$ git shortlog  91cdf9e0f...02ecc27d0

Jean-Christophe Fillion-Robin (39):
      Ensure CTK_INSTALL_QTPLUGIN_DIR is properly set
      Ensure "CMAKE_INSTALL_PREFIX" is properly passed to inner project.
      By default, do not install application headers
      Install CTK's *.cmake files
      Merge branch '65-packaging-support' into 403-relocatable-ctkconfig-usectk
      Set plugin install rules for target and include files
      Remove commented code and unused vars from CTKConfig / CTKGenerateCTKConfig
      Explicitly set default value for CTK_INSTALL_QTPLUGIN_DIR
      Remove explicit setting of CMake policies.
      Improve FindDCMTK.cmake documentation
      Add DCMTK 3.6.0 support to ctkDICOMUtil.cpp
      Ensure DCMTK libraries can be found on system without setting DCMTK_DIR
      FindDCMTK - Workaround bug in packaging of DCMTK 3.6.0 on Debian.
      Add support for install-able and relocatable package.
      Merge branch '382-fix-find-dcmtk-issue'
      Merge branch '403-relocatable-ctkconfig-usectk'
      Merge branch '405-support-dcmtk-360'
      Fix -Wunused-but-set-variable in transfer function tests
      Merge branch '209-fix-vtk-transfer-function-test-warnings'
      Fix linking of VTKCoreCppTest by adding a check for linker capabilities
      Merge branch 'fix-vtk-core-test-link-error'
      COMP: FindDCMTK - Exclude -D from DCMTK_DEFINITIONS for easier re-use
      Merge branch '382-fix-find-dcmtk-issue'
      Associate DCMTK_DEFINITIONS to CTKDICOMCore
      Merge branch '413-associated-dcmtk-definitions-to-ctkdicomcore'
      Merge pull request #410 from NifTK/409-widgets-on-ctkPopupWidget-do-not-get-keyboard-focus
      Add DCMTK 3.6.0 support to CTK application.
      Merge branch '405-support-dcmtk-360'
      Fix configuration of CTKConfig based on DCMTK_HAVE_CONFIG_H_OPTIONAL value
      Merge branch '413-associated-dcmtk-definitions-to-ctkdicomcore'
      Add convenience function "ctk_list_to_string"
      Automatically reformat list passed to "CTK" inner build.
      COMP: Add support for CTK_USE_SYSTEM_* options
      Merge branch '418-support-use-system-option'
      FindDCMTK - Do not explicitly set DCMTK_DEFINITIONS
      FindDCMTK - Clean white spaces
      Merge branch '382-fix-find-dcmtk-issue' into 413-associated-dcmtk-definitions-to-ctkdicomcore
      Associate CTKDICOMCore with DCMTK_DEFINITIONS in build and install tree
      Merge branch '413-associated-dcmtk-definitions-to-ctkdicomcore'

Miklos Espak (1):
      Active window flag transferred on RequestSoftwareInputPanel event

Steve Pieper (2):
      Put all tags for a given instance into a list for a single batch insert
      Merge pull request #415 from pieper/414-batch-insert-tags

See #1739

Revision 22722  Directory Listing
Modified Sun Nov 24 08:09:19 2013 UTC (3 years, 10 months ago) by jcfr
COMP: ExternalProject - Introduce convenience macro "slicer_include_once()"

See #1739

Revision 22684  Directory Listing
Modified Wed Nov 6 19:43:35 2013 UTC (3 years, 10 months ago) by jcfr
COMP: Ensure custom qt style plugins are fixed-up on MacOSX

This is a follow-up of commit r22238 ensuring the style plugins
are considered as candidate by the fixup script.

See #3253

Signed-off-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 22651  Directory Listing
Modified Mon Oct 28 21:50:24 2013 UTC (3 years, 10 months ago) by jcfr
COMP: UpdateITKv4 - Fix unused typedefs warnings specific to gcc >= 4.8

$ git shortlog 4c1d191ceac136b920dbb13564c419fc821dd848..ee6472628dcbb12d2723f04dbf3b14764de2b4ff
Matthew McCormick (1):
      COMP: Do not warn about unused typedefs

Revision 22636  Directory Listing
Modified Mon Oct 21 20:43:02 2013 UTC (3 years, 11 months ago) by jcfr
COMP: Do not install teem development files.

Fixes #2397

Revision 22466  Directory Listing
Modified Sun Sep 22 02:45:02 2013 UTC (4 years ago) by jcfr
COMP: Simplify Qt version requirement rules

As explained in issue #3325, on linux to prevent a crash occurring when
a page is loaded in a QWebView, at least Qt 4.8.1 is needed
on Ubuntu 13.04. Alberto also reported it is crashing when using
Ubuntu 12.04 (see #3394).

To prevent developer from having to explicitly pass
the Slicer_REQUIRED_QT_VERSION option, the requirement scheme
has been simplified.

Removed non working option "Slicer_EXPERIMENTAL_QT_VERSION" and requires
at least Qt 4.7.4 on all platform.

This revert commit r21743 and partially revert r21727

We will discuss with the community if it makes sens to required Qt >= 4.8.1
on all platform. On MacOSX, this implies that Leopard won't be supported
anymore.

Revision 22457  Directory Listing
Modified Thu Sep 19 00:15:06 2013 UTC (4 years ago) by jcfr
COMP: Easier extension build checking environment for midas_package_* vars

When doing extension experimental build, having to systematically passing
the option -DMIDAS_PACKAGE_EMAIL:STRING=<email> and
-DMIDAS_PACKAGE_API_KEY:STRING=<api_key> was tedious.

After this commit, the build system will first check if corresponding
variables are set in the environment.

On unix system, the variables could be set in the ~/.bash_aliases file
using the following syntax:

export MIDAS_PACKAGE_EMAIL=YOUR_EMAIL
export MIDAS_PACKAGE_API_KEY=YOUR_API_KEY

On windows, you could follow these instructions:
http://www.nextofwindows.com/how-to-addedit-environment-variables-in-windows-7/

Revision 22454  Directory Listing
Modified Wed Sep 18 03:21:57 2013 UTC (4 years ago) by jcfr
COMP: Fix superbuild when using Xcode 5.0 or Xcode 5.0 command line tools

Xcode no longer ships with MacOSX10.7.sdk (or earlier) from version 5.0,
which is the most recent version specified in
CMake/SlicerBlockSetCMakeOSXVariables.cmake. Therefore the superbuild
fails when attempted to build Python and NumPy due to a missing version
number or SDK location. Manually setting CMAKE_OSX_DEPLOYMENT_TARGET
to 10.8 and CMAKE_OSX_SYSROOT to ${SDK_ROOT}/MacOSX10.8.sdk or
editing SlicerBlockSetCMakeOSXVariables.cmake fixes the issue.

Fixes #3402

From: Jamie Snape <jamie.snape@kitware.com>

Revision 22430  Directory Listing
Modified Thu Sep 12 21:57:38 2013 UTC (4 years ago) by jcfr
COMP: Allow extension to easily use "SlicerMacroExtractRepositoryMacro"

As consequence the code within the Reporting will be simplified and
duplicated macro will be removed.

Revision 22407  Directory Listing
Modified Wed Sep 4 10:48:34 2013 UTC (4 years ago) by jcfr
ENH: Update Documentation to 4.3

Revision 22383  Directory Listing
Modified Mon Sep 2 19:36:46 2013 UTC (4 years ago) by jcfr
COMP: Explicitly require CMake >= 2.8.11.2 on Mountain Lion

See comment in the code for details.

Fixes #2025
Fixes #2022
See also #2957

Revision 22382  Directory Listing
Modified Mon Sep 2 19:36:44 2013 UTC (4 years ago) by jcfr
COMP: Change minimum supported MacOSX version from 10.4 to 10.5

The build system is now consistent with what is reported on
http://download.slicer.org

See #2025

Revision 22349  Directory Listing
Modified Wed Aug 28 19:58:40 2013 UTC (4 years ago) by jcfr
STYLE: Tweak comment in SlicerConfig.cmake

See #3247

Revision 22342  Directory Listing
Modified Tue Aug 27 19:24:23 2013 UTC (4 years ago) by jcfr
COMP: Add macro "slicerMacroBuildLoadableModule"

Both macros "slicerMacroBuildQtModule" and "slicerMacroBuildLoadableModule"
can be used. At this point, no warning message is displayed if the
deprecated macro is used.

Fixes #2648

Revision 22241  Directory Listing
Modified Fri Jul 26 21:33:11 2013 UTC (4 years, 2 months ago) by jcfr
BUG: Ensure Slicer dashboard packaging works if svn not in path

During recent windows factory maintenance, the path containing svn has
been removed from the PATH so that git bash could work with git svn.

As a side effect, dashboard windows packaging ceased to work.

Discussion: http://slicer-devel.65872.n3.nabble.com/Windows-nightly-not-on-download-page-tt4029503.html

Revision 22238  Directory Listing
Modified Fri Jul 26 19:51:46 2013 UTC (4 years, 2 months ago) by johan.andruejol
BUG: Fix MacOS style library fix up

Following r22235, slicer couldn't start on Mac due to the style. In the
libraries fixup, the styles plugins weren't properly bundled.
Adding the style library fixes that.

Fixes #3253

Revision 22235  Directory Listing
Modified Thu Jul 25 20:33:00 2013 UTC (4 years, 2 months ago) by johan.andruejol
ENH: Custom style for slicer

Allow the slicer to use custom styles. This rests on the Qt style plugin
framework. The style plugins must be compiled with the same Qt as slicer,
in the same mode (debug, release...) and in shared library mode.
To facilitate the creation of new plugins, a cmake macro was added to
slicer cmake directory.
Every slicer style must inherits from qSlicerStyle. They are not detected
by the application otherwise.

The new styles can be set like modules. A setting page is added for them
where user can specify the directory containing his plugin. The additionnal
paths and the style key are added as settings. This means that the next
time slicer's session is opened, the application will automatically load
the custom style if it still exists.
Adding or removing paths necessit the application to be restarted. This
comes from the fact that the QStyleFactory is only updated upon its
creation which only happens when starting the application.
Changing the style however doesn't need to restart the application.
At this occasion, a Slicer dark style was added to the list of available
styles.

On the implementation side, the designer plugin export definition was
shortened and includes the "DESIGNER" term so it is different than the
style export macro.

Finaly, adding a fix to the slice controller widget label style so
it can work with the new dark style.

Revision 22231  Directory Listing
Modified Mon Jul 22 22:36:04 2013 UTC (4 years, 2 months ago) by jcfr
BUG: Prevent extension factory checkout error using git read-only url

Detect read/write git url and convert them to read-only scheme.

Fixes #2395
Fixes #2032

Revision 22226  Directory Listing
Modified Mon Jul 22 14:59:46 2013 UTC (4 years, 2 months ago) by jcfr
COMP: Fix build error occurring when OpenSSL support is disabled

While commit r22220 added SSL support ensuring the CMake option
"Slicer_USE_PYTHONQT_WITH_OPENSSL" was disabled by default. Not all OpenSSL
related code was properly excluded, this commit ensures Slicer can be
compiled with OpenSSL support disabled.

Discussion: http://slicer-devel.65872.n3.nabble.com/Windows-build-fails-due-to-missing-QSslSocket-class-tt4029446.html

See issue #2998 and #2355

Revision 22220  Directory Listing
Modified Sat Jul 20 02:16:35 2013 UTC (4 years, 2 months ago) by jcfr
ENH: Add SSL support

Having the application interacting with services or downloading resources
served over https protocol is now required. More particularly,
it became necessary to access resources stored on Github (extension
manager - issue #2354) or to download python packages from pip server
at run time.

The CMake option "Slicer_USE_PYTHONQT_WITH_OPENSSL" allowing to enable or
disable OpenSSL support has been introduced is set to OFF by default.

Building OpenSSL
================

On Windows, since Perl is required, OpenSSL binaries have been
generated and uploaded on kitware packages server. See [1]

The project allowing to re-generate the Windows OpenSSL archive is currently
hosted here [2].

On unix-like system, OpenSSL is built has part of the Superbuild. To ensure
is can be built in parallel, a patch is also applied [3].

Finally, since python is built with OpenSSL support, the python launcher
is now configured on all platform so that python can properly load the built
OpenSSL shared library when it is used to build project like numpy.

[1] http://packages.kitware.com/packages/application/view?applicationId=20
[2] https://gist.github.com/jcfr/6030240
[3] https://raw.github.com/Alexpux/Qt-builds/master/patches/openssl/openssl-1.0.1-parallel-build.patch

OpenSSL support in Qt, python, curl
===================================

Practically, it means that library like Qt, python, curl need to be
built with OpenSSL support.

This commit only address OpenSSL support for Python and Qt.

Curl support is not yet enabled.

For Qt OpenSSL support, Qt has to be built with the flags:
  -openssl
  -I /path/to/OpenSSL/include
  -L /path/to/OpenSSL/lib

On unix-like system, available binaries are already OpenSSL ready, Qt
has to be explicitly built only on windows. On windows, Qt will have to
be built.

Certificates
============

In case X.509v3 certificates are available on the system where Slicer is
executed, a certificate bundle "Slicer.crt" is also provided. The set of
scripts allowing to generate the bundle are provided by BLFS
(Beyond Linux From Scratch).
More details in Base/QTCore/Resources/Certs/README

Application integration
=======================

The Slicer core application will load the Slicer.crt bundle if needed.

qSlicerExtensionsInstallWidget now derives from a re-usable widget
named qSlicerWebWidget.

qSlicerSslTest has been added to check that "https" connection can
be established using Qt library.

Fixes #2998
Fixes #2355
Fixes #2354

Revision 22181  Directory Listing
Modified Sat Jul 13 07:55:55 2013 UTC (4 years, 2 months ago) by jcfr
COMP: In test driver on windows, log VTK messages on standard output

Before this commit, VTK message were logged into a GUI windows
preventing them from being captured and interpreted by the testing
harness.

Fixes #3221

Co-authored-by: Csaba Pinter <pinter@cs.queensu.ca>

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 22170  Directory Listing
Modified Fri Jul 12 16:47:38 2013 UTC (4 years, 2 months ago) by jcfr
BUG: Fix launcher settings to allow loading of extension in unix build tree

This commit restores the correct loading of extension installed in a Slicer
build tree. It contains a fix related to ITKv4 transition and fix related
to transition from DCMTK static libraries to shared libraries (r21914)

Following the transition to ITKv4, the libraries (*.so) were built in the
lib directory [1] whereas in ITKv3, the libraries were built in the bin
directory [2].

[1] https://github.com/Kitware/ITK/blob/1839b74bacfd455dd917b086466c882ed29606ba/CMakeLists.txt#L164-174
[2] https://github.com/Kitware/ITK/blob/v3.20.1/CMakeLists.txt#L93-99

Following the transition to using DCMTK shared libraries (r21914 [3]), a
follow-up commit (r21942 [4]) has been pushed to ensure Slicer could be
started from a build tree on windows.

[3] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21914
[4] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21942

In both case (ITKv4 and DCMTK), Slicer could be started successfully from
a build tree on Windows (thanks to the launcher settings), and started
successfully on Unix system (thanks to rpath). On the other hand, since
the launcher settings were incorrect on unix system, the loading of
installed extensions (having rpath stripped) in a unix build tree was
failing.

Fixes #3218

Revision 22133  Directory Listing
Modified Wed Jul 3 22:12:40 2013 UTC (4 years, 2 months ago) by jcfr
COMP: Adding option for SimpleITK as a shared library

SimpleITK has large internal libraries, which take an extremely long
time to link on windows when they are static. Creating shared
SimpleITK internal libraries can reduce linking time. Also the size
of the debug libraries are monstrous. Using shared libraries for
debug, reduce disc requirements, and can improve linking
times. However, these shared libraries take longer to load than the
monolithic target from static libraries.

This commits updates the build system:
1) Propagate SimpleITK_DIR into Slicer config.
2) Add SimpleITK lib path to runtime library path for build.
3) Add SimpleITK to be installed as a cmake project.
4) Add CMake variable Slicer_USE_SimpleITK_SHARED to turn on SimpleITK
as a shared library.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Bradley Lowekamp <blowekamp@mail.nih.gov>

Revision 22130  Directory Listing
Modified Tue Jul 2 18:40:10 2013 UTC (4 years, 2 months ago) by jcfr
COMP: Ensure NoExtensionSupport component can be specified

Before this commit, the UploadOnly targets were added also if extension
support was explicitly disabled.

This commit ensure that in any given extension, extension support can now
be disabled by either specifying the "NoExtensionSupport" component or by
setting the variable Slicer_DONT_USE_EXTENSION
(or Slicer_USE_NOEXTENSIONSUPPORT) to True.

The message indicating that extension support is disabled has been updated
to be more explicit.

Co-authored-by: Julien Finet <julien.finet@kitware.com>

Revision 22129  Directory Listing
Modified Tue Jul 2 17:13:42 2013 UTC (4 years, 2 months ago) by jcfr
COMP: Compare Slicer bitness against extension bitness

On platform (i.e. Windows with Visual Studio) where it is possible to use
either a 32 or 64 bits generator, it is important to compare bitness
of Slicer project against project depending on Slicer (i.e. extension)
to ensure there are no mismatch.

The check could be disabled setting the variable Slicer_SKIP_CMAKE_SIZEOF_VOID_P_CHECK
to False before calling "find_package(Slicer)"

In case of mismatch, the configure will be aborted displaying a message
similar to this one:

// --------------------
CMake Error at C:/D/N/Slicer-1-build/Slicer-build/SlicerConfig.cmake:475 (message):
  Mismatch between bitness of 'Foo' and 'Slicer' project !

        Slicer_CMAKE_SIZEOF_VOID_P:8

        CMAKE_SIZEOF_VOID_P:4

  Reconfigure 'Foo' project using a compatible Generator.

  Generator used to configure Slicer was: Visual Studio 9 2008 Win64

  See http://www.cmake.org/cmake/help/v2.8.11/cmake.html#opt:-Ggenerator-name
// --------------------

Co-authored-by: Julien Finet <julien.finet@kitware.com>

Revision 22127  Directory Listing
Modified Fri Jun 28 00:08:45 2013 UTC (4 years, 2 months ago) by finetjul
COMP: Export ExternalData.cmake macro in UserSlicer.cmake

SlicerMacroSimpleTest needs ExternalData.cmake to be loaded.

Revision 22116  Directory Listing
Modified Thu Jun 20 05:42:53 2013 UTC (4 years, 3 months ago) by jcfr
COMP: Make sure extension fixup considers extension "support libraries"

Before this commit, libraries that were not (python, cli or loadable module)
 related were systematically fixed with "@fixup_path@/@Slicer_LIB_DIR@".

This commit changes this so that "support libraries" provided by
an extension are properly fixed up.

Note that the approach considered here will have to be revisited to ensure
that extension depends on support libraries provided by other extension
are properly fixed up.

Co-authored-by: Francois Budin <fbudin@unc.edu>
Signed-off-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 22115  Directory Listing
Modified Wed Jun 19 22:19:04 2013 UTC (4 years, 3 months ago) by jcfr
COMP: Allow multiple configure with "ConfigurePrerequisites" component

Following commit r22038 [1], the use of CMAKE_OSX_* variables set
by Slicer has been simplified with the introduction of the
"ConfigurePrerequisites" components.

It turns out that the associated CMake logic was flawed and wasn't
working as expected when the project was configured twice.

This commit ensures the "Slicer_USE_*" variables associated with the
components are reset before checking the variable "Slicer_FIND_COMPONENTS".

It also ensures that the execution return if component "ConfigurePrerequisites"
is defined and "Slicer_PREREQUISITES_CONFIGURED" is already set.

Co-authored-by: Marine Clogenson <marine.clogenson@epfl.ch>

Revision 22114  Directory Listing
Modified Wed Jun 19 20:28:00 2013 UTC (4 years, 3 months ago) by finetjul
ENH: Expose _CPACK_PACKAGE_ICON for icns icon on mac packaging

Revision 22098  Directory Listing
Modified Tue Jun 11 20:03:08 2013 UTC (4 years, 3 months ago) by jcfr
COMP: Optimize visual studio service pack check

In commit r22096, the CMake module "CMakeDetermineVSServicePack" was used.
In addition to invoke some extra "try_compile" statement increasing
the configure time, it was failing complaining dll mspdb80.dll or
mdpdb100.dll were missing.

This commit fixes the problem by directly using "CMAKE_CXX_COMPILER_VERSION"

Thanks to Brad Lowekamp for his help elaborating this set of patches.

Revision 22096  Directory Listing
Modified Tue Jun 11 19:38:04 2013 UTC (4 years, 3 months ago) by jcfr
ENH: Check required Visual Studio compiler version

Configuration will abort if:

 1) Visual Studio smaller than 2008 is detected

 2) Visual Studio 2008 without service pack 1 is detected

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 22093  Directory Listing
Modified Mon Jun 10 15:36:21 2013 UTC (4 years, 3 months ago) by jcfr
STYLE: Explanation related to commit r22092

gp_item_default_embedded_path is used to compute default_embedded_path [1] which is then used to set embedded_item[2].

Then, embedded_item is used to compute gp_resolve_embedded_item [3]

Looking at the implementation of gp_resolve_embedded_item [4], we can see that properly computing embedded_item is important to set variable resolved_embedded_item used to determine if item should be copied or not into the bundle. [5]

Note also that the version of BundleUtilities.cmake and GetPrerequisites used in Slicer have been updated [6] to support @rpath. Associated CMake topic is [7], it is also currently being discussed on CMake developer list [8]

That is why the code within the function gp_item_default_embedded_path_override
has been implemented.

[1] http://cmake.org/gitweb?p=stage/cmake.git;a=blob;f=Modules/BundleUtilities.cmake;h=6c49174ce4ec3611310e8b4b67ee9fcc0763d59b;hb=2f770aad1f77ada793291d55048472f692bb4535#l374

[2] http://cmake.org/gitweb?p=stage/cmake.git;a=blob;f=Modules/BundleUtilities.cmake;h=6c49174ce4ec3611310e8b4b67ee9fcc0763d59b;hb=2f770aad1f77ada793291d55048472f692bb4535#l385

[3] http://cmake.org/gitweb?p=stage/cmake.git;a=blob;f=Modules/BundleUtilities.cmake;h=6c49174ce4ec3611310e8b4b67ee9fcc0763d59b;hb=2f770aad1f77ada793291d55048472f692bb4535#l423

[4] http://cmake.org/gitweb?p=stage/cmake.git;a=blob;f=Modules/GetPrerequisites.cmake;h=528c540392f12d9dcb51ad608d29a632b6ac5a8e;hb=2f770aad1f77ada793291d55048472f692bb4535#l476

[5] http://cmake.org/gitweb?p=stage/cmake.git;a=blob;f=Modules/BundleUtilities.cmake;h=6c49174ce4ec3611310e8b4b67ee9fcc0763d59b;hb=2f770aad1f77ada793291d55048472f692bb4535#l428

[6] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22023

[7] http://cmake.org/gitweb?p=stage/cmake.git;a=shortlog;h=refs/heads/tweak-bundleutilities-for-rpath

[8] http://comments.gmane.org/gmane.comp.programming.tools.cmake.user/46454

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 22092  Directory Listing
Modified Sun Jun 9 23:31:00 2013 UTC (4 years, 3 months ago) by pieper
COMP: Add install SimpleITK library to fixup into bundle

_SimpleITK*.so has been added to the list of libraries to be fixed up
in fixup_bundle_with_plugins method. It is also added to
gp_item_default_embedded_path_override method, because ?

From: Steve Pieper <pieper@isomics.com>

Revision 22064  Directory Listing
Modified Thu May 30 05:34:19 2013 UTC (4 years, 3 months ago) by jcfr
STYLE: UseSlicer - Check variable only if required

Before this commit all three variables
 - EXTENSION_NAME
 - MODULE_NAME
 - PROJECT_NAME
where checked even if EXTENSION_NAME was already set. In case
no "project()" call was done in the extension/module CMakeLists.txt,
the associated output was confusing.

For example:

[...]
-- Checking EXTENSION_NAME variable
-- Checking EXTENSION_NAME variable - SkullStripper
-- Checking MODULE_NAME variable
-- Checking MODULE_NAME variable - SkullStripper
-- Checking PROJECT_NAME variable
-- Checking PROJECT_NAME variable - Project
[...]

This commit change the logic so that the "checking" message is
displayed only if the associated variable is either empty or not
defined.

For example, the output is now:

[...]
-- Checking EXTENSION_NAME variable
-- Checking EXTENSION_NAME variable - SkullStripper
[...]

Revision 22063  Directory Listing
Modified Thu May 30 05:34:17 2013 UTC (4 years, 3 months ago) by jcfr
ENH: Do not require "if(NOT Slicer_SOURCE_DIR)" in extension

Before this commit, to allow extension or module to be bundled
directly within Slicer by setting the variable
Slicer_EXTENSION_SOURCE_DIRS, it was required to explicitly exclude
the call to:
 find_package(Slicer ...)
 include(${Slicer_USE_FILE})
 include(${Slicer_EXTENSION_CPACK})
by check if Slicer_SOURCE_DIR was set .

This commit improves the build system so that making this
call is a no-op when bundling modules or extensions.

This will allow extension developer to write simpler CMakeLists.txt



Before:

cmake_minimum_required(VERSION 2.8.9)

if(NOT Slicer_SOURCE_DIR)
  find_package(Slicer COMPONENTS ConfigurePrerequisites)
endif()

if(NOT Slicer_SOURCE_DIR)
  set(EXTENSION_NAME EmptyExtensionTemplate)
  set(EXTENSION_HOMEPAGE "http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/EmptyExtensionTemplate")
  set(EXTENSION_CATEGORY "Examples")
  set(EXTENSION_CONTRIBUTORS "Jean-Christophe Fillion-Robin (Kitware)")
  set(EXTENSION_DESCRIPTION "This is an example of extension bundling N module(s)")
  set(EXTENSION_ICONURL "http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Extensions/Testing/EmptyExtensionTemplate/EmptyExtensionTemplate.png?revision=21746&view=co")
  set(EXTENSION_SCREENSHOTURLS "http://wiki.slicer.org/slicerWiki/images/4/42/Slicer-r19441-EmptyExtensionTemplate-screenshot.png")
endif()

if(NOT Slicer_SOURCE_DIR)
  find_package(Slicer REQUIRED)
  include(${Slicer_USE_FILE})
endif()


add_subdirectory(ModuleA)

if(NOT Slicer_SOURCE_DIR)
  include(${Slicer_EXTENSION_CPACK})
endif()




After:

cmake_minimum_required(VERSION 2.8.9)

find_package(Slicer COMPONENTS ConfigurePrerequisites)

project(EmptyExtensionTemplate)

set(EXTENSION_HOMEPAGE "http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/EmptyExtensionTemplate")
set(EXTENSION_CATEGORY "Examples")
set(EXTENSION_CONTRIBUTORS "Jean-Christophe Fillion-Robin (Kitware)")
set(EXTENSION_DESCRIPTION "This is an example of empty extension")
set(EXTENSION_ICONURL "http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Extensions/Testing/EmptyExtensionTemplate/EmptyExtensionTemplate.png?revision=21746&view=co")
set(EXTENSION_SCREENSHOTURLS "http://wiki.slicer.org/slicerWiki/images/4/42/Slicer-r19441-EmptyExtensionTemplate-screenshot.png")

find_package(Slicer REQUIRED)
include(${Slicer_USE_FILE})

add_subdirectory(ModuleA)

include(${Slicer_EXTENSION_CPACK})

Revision 22050  Directory Listing
Modified Wed May 29 05:43:04 2013 UTC (4 years, 3 months ago) by jcfr
COMP: Restore CTest driven build of extension

Following commit r22038 [1], UseSlicer.cmake file has been updated to
NOT call "project()". This didn't cause problems when manually
configuring and building the extension. Problems arise when the
extension build is driven using ctest.

More particularly, calling "ctest_build()" [2] on a build tree
configured without an explicit call to "project()" failed on
windows. In that specific case, the command line generated to
drive the build is expecting a solution file named
after <CTEST_PROJECT_NAME>.sln. In our case, only the
file "MyProject.sln" was existing.

This commit ensure that a properly named solution file will be
created by calling "project(${EXTENSION_NAME})" when appropriate.

Thanks to Csaba Pinter for reporting the issue.

Discussion: http://slicer-devel.65872.n3.nabble.com/Extensions-failed-to-build-on-windows-last-night-tt4028763.html

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22038
[2] https://github.com/Slicer/Slicer/blob/cd985077aec48b3981bf114eba7f707c0eb55299/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake#L155

Revision 22049  Directory Listing
Modified Wed May 29 04:53:16 2013 UTC (4 years, 3 months ago) by jcfr
COMP: Remove Log4qt CTest warning suppression

Since commontk/CTK@247c9ad3a, Log4Qt is not built as part of
CTK core.

Revision 22048  Directory Listing
Modified Wed May 29 04:46:10 2013 UTC (4 years, 3 months ago) by jcfr
COMP: Update CTestCustom to exclude "HEAD is now" git warning.

Despite the fact the git client on the different Slicer dashboard
client has been setup with "advice.detachedHead" warning disabled [1]

The "HEAD is now ..." output still show up as a warning on CDash.
See http://slicer.cdash.org/viewBuildError.php?type=1&buildid=103147

This commit attempts to suppress it.

[1] http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Tutorials/DashboardSetup#Setup

Revision 22038  Directory Listing
Modified Sat May 25 06:23:55 2013 UTC (4 years, 4 months ago) by jcfr
COMP: Allow use of 'project()' in CMakeLists.txt of extension/module

The previous approach enforcing to NOT use "project()" in CMakeLists.txt
is not required anymore.
This was done so that SlicerConfig.cmake included after calling
"find_package(Slicer)" could:
  (1) include SlicerBlockSetCMakeOSXVariables
  (2) then call the project() statement

Using recent version of CMake, this "hack" was preventing extension from
being built.

To prevent the configure error, "SlicerBlockSetCMakeOSXVariables" is not
included anymore automatically after calling "find_package(Slicer)"

That said, to allow the CMAKE_OSX_* to (optionally) be set automatically,
a different approach is now considered.

This also make it possible to call "project()" within the CMakeLists.txt
of extension or module.

To optionally have the CMAKE_OSX_* variable set within a project, the
developer could call:

 find_package(Slicer COMPONENTS ConfigurePrerequisites)

before any "project()" calls.






For completeness, the discussion with CMake developer regarding the possible
approach to automatically set the CMAKE_OSX_* variables have been
reported below.

// ------------------
From Jc:

Hi Brad,

To summarize, the user build a building using a line similar to:

  cmake -DSlicer_DIR:PATH=/path/to/Slicer-build -DCMAKE_BUILD_TYPE:STRING=Release ../MyPlugin

  Passing Slicer_DIR is the only requirement.

// ------------------
You are right the file in source/build tree won't help.

// ------------------
Currently, the value for CMAKE_OSX_* are set in SlicerConfig.cmake and I would like the plugin to use these. The current approach is to force the following convention:

    set(EXTENSION_NAME "Foo")

    find_package(Slicer)
    include(${Slicer_USE_FILE})

    [...]

where project() was called within the Slicer use file.

// ------------------
By using this new approach:

   find_package(Slicer COMPONENTS ConfigurationPrerequisites)

   project(Foo)

   find_package(A ..)
   find_package(B ..)

  Can I be sure that the first call to "find_package" will be done before language feature are enabled ?

Thanks
Jc


// --------------------------
From Brad:

On 04/19/2013 10:54 AM, Jean-Christophe Fillion-Robin wrote:
>   cmake -DSlicer_DIR:PATH=/path/to/Slicer-build -DCMAKE_BUILD_TYPE:STRING=Release ../MyPlugin

Great, so find_package doesn't actually need to search but only
load the package config file.

> Currently, the value for CMAKE_OSX_* are set in SlicerConfig.cmake
> and I would like the plugin to use these. The current approach is
> to force the following convention:
>
>     set(EXTENSION_NAME "Foo")
>     find_package(Slicer)
>     include(${Slicer_USE_FILE})
>
> where project() was called within the Slicer use file.

Instead of the above three lines, try these three::

 project(Foo NONE)
 find_package(Slicer)
 SlicerConfigPlugin()

SlicerConfig.cmake provides the SlicerConfigPlugin macro to:

* FATAL_ERROR if languages are already enabled and tell the
  plugin author to add NONE to the project command

* Get the extension name from PROJECT_NAME, or alternatively
  from an optional explicit argument

* Set OS X platform variables and call enable_language()

Larger projects that provide a Slicer plugin along with a bunch
of other unrelated stuff will not want Slicer to control their
enable_language calls.  Therefore SlicerConfig should add another
macro (or options to this one) to just check that an already
enabled language has a matching platform selection and skip its
enable_language calls.

>    find_package(Slicer COMPONENTS ConfigurationPrerequisites)
>    project(Foo)
>    find_package(A ..)
>    find_package(B ..)
>
>   Can I be sure that the first call to "find_package" will be
>   done before language feature are enabled ?

Yes, but the above method may be even simpler.

Revision 22029  Directory Listing
Modified Wed May 22 22:02:30 2013 UTC (4 years, 4 months ago) by jcfr
COMP: Use qRestAPI instead of deprecated qMidasAPI project

In addition to provide Midas support, qRestAPI also provides
support for XNat (qXnatAPI.h)

See https://github.com/commontk/qRestAPI

Revision 22025  Directory Listing
Modified Mon May 20 01:44:08 2013 UTC (4 years, 4 months ago) by jcfr
COMP: Ensure out-of-source CLI module use Slicer library wrapper

Commit r19677 removed the setting of Slicer_CLI_SHARED_LIBRARY_WRAPPER_CXX
from SlicerConfig by ensuring the use of the wrapper provided
by SlicerExecutionModel.

Then, commit r21592 added the ITKFactoryRegistration library and
also re-introduced a custom cli wrapper without making sure module
externally built would consider it.

This commit set "SlicerExecutionModel_CLI_LIBRARY_WRAPPER_CXX" in
SlicerConfig.cmake to allow module externally built to consider
the Slicer wrapper. It also address the issue discussed in the
following Slicer thread: http://massmail.spl.harvard.edu/public-archives/slicer-devel/2013/012491.html

Revision 22023  Directory Listing
Modified Fri May 17 22:05:19 2013 UTC (4 years, 4 months ago) by jcfr
BUG: Ensure library can be loaded from different place using @rpath

Before this commit, attempt have been made (r18311, r18325, r18581) to
install both built-in CLI and extension CLI executable in a folder
located at some depth of the main Slicer executable. This was needed
because all libraries were referenced based on the location of the main
Slicer executable using "@executable_path". This was working *only* in the
case of built-in CLI but wasn't scaling very well for the extension CLI
executable. Indeed, being able to both differentiate the different
installed extension and keeping the depth to 1 level wasn't easily
feasible:

  /path/to/Slicer.app/Contents/MacOS/Slicer
  /path/to/Slicer.app/Contents/cli-modules/MyCLI
  /path/to/Slicer.app/Contents/Extensions-21855/SkullStripper/cli-modules/MyCLI

A solution could have been to install extensions directly in "Slicer.app"
folder and update the cli install sub dir to get something like:

  /path/to/Slicer.app/Extensions-21855/SkullStripper/MyCLI

While possible, it would have remain a special case to maintain.

Instead, by using "@rpath", CLI modules can now be installed in the Slicer
standard location "Slicer_CLIMODULES_LIB_DIR" instead of "Slicer_CLIMODULES_SUBDIR".
This commit remove the special case which never worked (issue #3051)

Waiting the topic "tweak-bundleutilities-for-rpath" is fully matured and
integrated in CMake, use custom version of BundleUtilities and GetPrerequisites.
See http://cmake.org/gitweb?p=stage/cmake.git;a=shortlog;h=refs/heads/tweak-bundleutilities-for-rpath

Since our custom version of the CMake modules now consider "~/usr/.*/lib",
the implementation of "gp_resolved_file_type_override" has been removed.

Remove the hack specific to LibArchive (introduced by commit r19615), since
the library is fixed up using the default library matching pattern, it
will be installed in the expected location.

SlicerExecutionModel has also been updated to link the CLI executable
and library with "-rpath" so that they can resolve the location of Slicer
libraries.

Revision 22022  Directory Listing
Modified Fri May 17 22:05:16 2013 UTC (4 years, 4 months ago) by jcfr
STYLE: Easier configuration of fixup path in bundle script

Revision 22021  Directory Listing
Modified Fri May 17 22:05:14 2013 UTC (4 years, 4 months ago) by jcfr
COMP: Simplify expression used in gp_item_default_embedded_path_override.

Revision 22020  Directory Listing
Modified Fri May 17 22:05:12 2013 UTC (4 years, 4 months ago) by jcfr
COMP: Do not explicitly fixup CLI shared libraries

Considering that (1) CLI shared lirbary are dependency
of CLI executable and (2) CLI executable are already discovered by the
fixup mechanism. There are no need to use candidate pattern for CLI
shared library.

Revision 22019  Directory Listing
Modified Fri May 17 22:05:11 2013 UTC (4 years, 4 months ago) by jcfr
COMP: Ensure library paths used for BundleFixup are valid

The helper macro "_fixup_paths_append" is now used consistently to append
path to the "libs_path" variable.

Let's also note the following updates:

 - CMAKE_RUNTIME_OUTPUT_DIRECTORY is not used anymore, instead
${Slicer_BUILD_DIR}/@Slicer_BIN_DIR@ is used.

 - Path "@Slicer_BINARY_DIR@/@Slicer_QtPlugins_DIR@" is not considered
anymore since it didn't exist in the build tree. Instead, the plugin path
are composed using "${Slicer_BUILD_DIR}/@Slicer_BIN_DIR@"

Revision 22018  Directory Listing
Modified Fri May 17 22:05:09 2013 UTC (4 years, 4 months ago) by jcfr
COMP: Ensure Python library directory is considered when fixing up package

When the expression "@SLICER_PYTHON_LIB_DIR@" has been introduced
in commit r21252 [1], it was already resolving to an empty
string because since r15463 [2] the file SlicerBlockCTKAppLauncherSettings is
included in the Applications/SlicerApp/CMakeLists.txt.

Both the fixup script and the launcher settings have been updated to
use the variable "PYTHON_LIBRARY_PATH" introduced in the top-level
CMakeLists.txt by commit r16822 [3]

To prevent such error from happening again, a convenient macro named
"_fixup_paths_append" has been introduced. It basically check if the path
passed as parameter exists and append it to the list of paths. If not,
it throw an error.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21252
[2] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=15463
[3] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=16822

Revision 22017  Directory Listing
Modified Fri May 17 22:05:07 2013 UTC (4 years, 4 months ago) by jcfr
STYLE: Do not check for version of CMake before including "BundleUtilities"

Since minimum required CMake version for Slicer is 2.8.9, this message
is not needed anymore.

Revision 22014  Directory Listing
Modified Fri May 17 22:05:02 2013 UTC (4 years, 4 months ago) by jcfr
COMP: On MacOSX, do not create duplicate of MRMLIDIOPlugin and MGHIOPlugin

This fix MacOSX warning "/path/to/plugin is already loaded"

Both MRMLIDIOPlugin and MGHIOPlugin were copied so that it exists both
a "dylib" and a "so" version of the file. This was initially committed
on the 2007-09-27 to work around a limitation of ITK preventing it from
loading plugin having ".dylib" extension. See Slicer3 r4454 [1]

Then 2 months later, on the 2007-11-19, a fix has been pushed in ITK so
that plugin having extension "dylib" are considered. See ITK commit 28b4a6ba [2]

This commit account for the ITK fix by removing the code in charge of
copying the plugin.

Lessons learned: When implementing a hack, it is a good practice to report
a bug upstream to track the limitation and also reference the bug in a
comment starting with either "# HACK" for CMake file or "// HACK" for
c/cpp files. It would give a hint to developer re-factoring the code.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer3?view=revision&revision=4454
[2] https://github.com/Kitware/ITK/commit/28b4a6ba

Revision 21960  Directory Listing
Modified Wed May 1 03:34:50 2013 UTC (4 years, 4 months ago) by jcfr
COMP: Remove python patch step related to "dll boundaries" hack

As explained in r21863, patching pythonrun.h and pythonrun.c was
required to prevent crash (related to dll boundaries [1][2]) when
building Slicer debug against a released python.

[1] http://stackoverflow.com/questions/2322095/why-does-this-program-crash-passing-of-stdstring-between-dlls
[2] http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/57e0d522-a42c-4add-963d-c87c6e76f161

Applying the approach discussed on the Blender mailing list[3], the
hack is not required anymore. This is made possible by using
"PyRun_String" function combined with the "execfile" statement.

[3] http://lists.blender.org/pipermail/bf-python/2008-May/005253.html

When transitioning to Python3 [4], use of "exec" and "compile" could be
considered:

  with open('foo.py', 'r') as fh:
    code = compile(fh.read(), 'foo.py', 'exec'); exec(code);

[4] http://stackoverflow.com/questions/436198/what-is-an-alternative-to-execfile-in-python-3-0

Approach making use of the "imp"  module could also be investigated [5][6]

[5] http://www.ragestorm.net/blogs/?tag=execfile
[6] http://docs.python.org/2/library/imp.html

Finally, let's note that overall approach to load module could be
revised to prevent side effect as the one described in
"qSlicerScriptedFileDialog::setPythonSource"

Revision 21949  Directory Listing
Modified Fri Apr 26 23:54:24 2013 UTC (4 years, 5 months ago) by pieper
COMP: fix packaging for linux DCMTK shared libraries

Be sure to include the symbolic links for the versioning.

Also remove APPLE branch since this is not called/needed for apple.

Revision 21947  Directory Listing
Modified Fri Apr 26 22:01:17 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Tweak installation of DCMTK libraries for MacOSX packaging

Following commit r21914, DCMTK libraries are build as shared
library. Commit r21944 ensured that they were installed. Since on MacOSX
the fixup process takes care of copying the library associated with
external projects, this commit exclude the systematic installation
of DCMTK libraries and teach the fixup script where these libraries
are located.

See issue #3040

Revision 21945  Directory Listing
Modified Fri Apr 26 21:52:28 2013 UTC (4 years, 5 months ago) by jcfr
STYLE: Simplify CMake code re-using already set variable

As of r16822, the variable PYTHON_LIBRARY_PATH is set in the top-level
CMakeLists.

Revision 21944  Directory Listing
Modified Fri Apr 26 21:22:32 2013 UTC (4 years, 5 months ago) by pieper
COMP: Include DCMTK shared libraries in packages

Now that DCMTK is built as shared rather than static, the
dlls need to be copied into the install tree for packaging.

See also commit 21914 and bug #3040.

Revision 21942  Directory Listing
Modified Fri Apr 26 20:50:16 2013 UTC (4 years, 5 months ago) by pieper
COMP: Add DCMTK library paths to build settings

Allows dlls to be found on windows in a build tree.  This is needed
after commit 21914 was committed to address bug 3040.

Revision 21912  Directory Listing
Modified Wed Apr 24 13:45:21 2013 UTC (4 years, 5 months ago) by sankhesh
ENH: Added safeguard hook to tell developer to setup environment

A placeholder pre-commit hook is installed by CMake to ensure the developer sets
up the development environment before committing any changes.
Addresses issue 2834.

Revision 21873  Directory Listing
Modified Fri Apr 5 20:18:47 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Fix macro SlicerMacroConfigureGeneric{Cxx, Python}ModuleTests sanity checks

Commit r21871 fixed the sanity check associated with macro
"SlicerMacroConfigureGenericCxxModuleTests" by testing the content of
the variable.

This approach works well for function. In case of macro, only parameter
referenced using ${argX} are replaced. It means the following code
doesn't work:

// ----------
macro(foo bar)
  set(var "foo")
  message("${var}:${${var}}")
endmacro()

foo("hello")
// ----------

It outputs:

  foo:

whereas the following is expected:

  foo:hello

This commit fix the problem by explicitly testing the parameter value.

Revision 21871  Directory Listing
Modified Fri Apr 5 19:47:08 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Fix sanity check associated with SlicerMacroConfigureGenericCxxModuleTests

The name of the variable and not its content was checked to be different
from an empty string.

Revision 21868  Directory Listing
Modified Fri Apr 5 06:41:27 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Remove unneeded FindCTK.cmake

When initially added in r15226, the FindCTK.cmake module allowed to
overcome an issue with "find_package" command preventing it from understanding the
REQUIRED parameter when dealing with Config file.

CMake 2.8.8 doesn't have this limitation anymore, CMake commit fa0f0654
fixes the issue.

Revision 21866  Directory Listing
Modified Fri Apr 5 03:50:40 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Remove custom version of FindSubversion.cmake not needed for CMake >= 2.8.3

In commit r16389, a custom version of the find module has been added
so that the associated macro can return the root url of the repository.

Starting with CMake 2.8.3 (commit 80bad29), the CMake built-in macro has
been updated to return the root.

Let's also note that the module provided with CMake >= 2.8.3 also include
a fix allowing the macro "Subversion_WC_INFO" to run as expected on non-US
system. ASsociated CMake issue is http://www.cmake.org/Bug/view.php?id=11273

Revision 21865  Directory Listing
Modified Fri Apr 5 03:20:20 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Do not include or use i18n macros if Slicer_BUILD_I18N_SUPPORT is OFF

Commit r21856 disabled internationalization support by default and
it introduced the option Slicer_BUILD_I18N_SUPPORT allowing to enable it.

This commit takes care of excluding the associated CMake macro and its
invocation if the option is disabled.

Revision 21863  Directory Listing
Modified Thu Apr 4 23:44:29 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Update build-system to use CMake'ified python

Latest stable version 2.7.3 is now used instead of ancient 2.6.6

Directory layout has been updated:
 - Python-2.7.3   : source
 - python         : build system
 - python-build   : build tree
 - python-install : install tree

Associated external project has been simplified. Removed unneeded
custom configure, make and install steps. Also removed unneeded
patch steps.

Note that the pythonrun.h and pythonrun.c are still patched in order
to prevent crash (related to dll boundaries [1][2]) when building Slicer debug
against a released python.

[1] http://stackoverflow.com/questions/2322095/why-does-this-program-crash-passing-of-stdstring-between-dlls
[2] http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/57e0d522-a42c-4add-963d-c87c6e76f161

Since only library located in the "lib-dynload" folder are not duplicated
in the "site-packages" folder, removed the exclude pattern
from the fixup script and update the candidate pattern to consider the
python extension located in lib/python2.7/lib-dynload folder.

Revision 21860  Directory Listing
Modified Wed Apr 3 22:03:03 2013 UTC (4 years, 5 months ago) by jcfr
BUG: Ensure extension Experimental targets are associated to Experimental track

Thanks for Ryan Eckbo developer of the "UKF extension" extension
for reporting and helping investigating the problem.

This regression is a side effect of commit r21682 [1] where parameters
are now written into files like:
  <extension-name>-test-command-args.cmake
  <extension-name>-upload-command-args.cmake
  <extension-name>-upload-only-command-args.cmake

And the file are then passed to the ctest using argument:

   -DSCRIPT_ARGS_FILE:FILEPATH=<path-to-args-file>

The written file are used to create custom targets:
  Experimenal .............. using EXTENSION_TEST_COMMAND
  ExperimentalUpload ....... using EXTENSION_UPLOAD_COMMAND
  ExperimentalUploadOnly ... using EXTENSION_UPLOAD_ONLY_COMMAND
  Nightly .................. using EXTENSION_TEST_COMMAND
  NightlyUpload ............ using EXTENSION_UPLOAD_COMMAND
  NightlyUploadOnly ........ using EXTENSION_UPLOAD_ONLY_COMMAND

Since the same files were used unconditionally for both Nightly and
Experimental targets, the latest value of CTEST_MODEL was used because
the latest set of files to be configured was done with CTEST_MODEL equal
to "Nightly".

This commit explicitly specify the value -DCTEST_MODEL:STRING=${CTEST_MODEL}
for each target command. Doing so ensure each command is associated with
the appropriate track.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21682

Revision 21856  Directory Listing
Modified Tue Apr 2 18:16:44 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Add option allowing to enable internationalization support.

STATUS
 Internationalization support has been discussed during March 26th 2013
developer hangout.

 We reach consensus: Official support for i18n will be disabled. A CMake
option named Slicer_BUILD_I18N_SUPPORT will be added and the option
won't be actively supported or tested.

 Why? Supporting internationalization properly would require to test
all ITK/VTK/Teem/.. readers and we don't have the funding or resources
to support that effort. If it is something you are interested in, make
sure to drop an email on the developer list. We will be happy to provide
 more information.

DISCUSSION
 http://slicer-devel.65872.n3.nabble.com/Re-Rounding-to-integer-tt4027985.html
 http://slicer-devel.65872.n3.nabble.com/Re-slicer-users-Slicer4-can-t-really-use-it-yet-td4028040.html
 http://slicer-users.65878.n3.nabble.com/Slicer4-DICOM-many-problems-td4025919.html

ISSUES
 3029 - Image spacing not read correctly in Slicer 4.2.2

Revision 21855  Directory Listing
Modified Mon Apr 1 22:59:33 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Fix installation of DCMTK apps on windows

Following commit r21849, DCMTK is used from the build tree and it is required
to specify the intermediate directory. Since package are made only in Release,
the value is forced to Release.

Ideally, dcmtk apps and library should be installed using DCMTK install
system by setting CPACK_INSTALL_CMAKE_PROJECTS.

Revision 21854  Directory Listing
Modified Mon Apr 1 22:38:28 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Ensure DCMTK_DIR is set in SlicerConfig.cmake

Introduced in r20634, the SlicerConfig variable DCMTK_DIR has never been
set. This commit fix this by updating SlicerGenerateSlicerConfig.cmake
and setting variable DCMTK_DIR_CONFIG.

Extensions should now be able to use variables DCMTK_LIBRARIES
and DCMTK_INCLUDE_DIRS directly after doing: find_package(Slicer)

Revision 21849  Directory Listing
Modified Fri Mar 29 02:18:07 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Fix DCMTK build error using a working implementation of DCMTKConfig.cmake

For details: See https://github.com/commontk/DCMTK/commit/f461865d1759854db56e4c840991c81c77e45bb9

Revert commits r21842, r21841

Revision 21848  Directory Listing
Modified Fri Mar 29 02:15:04 2013 UTC (4 years, 5 months ago) by jcfr
COMP: Add HAVE_PYRUN_{CLOSE, OPEN}FILE anticipating build against system python

Anticipating the possibility to build Slicer against a system python,
introduced variable HAVE_PYRUN_CLOSEFILE and HAVE_PYRUN_OPENFILE variable
to be able to conditionally build Slicer library with fopen/fclose
built-in the python library.

Revision 21842  Directory Listing
Modified Tue Mar 26 21:30:48 2013 UTC (4 years, 6 months ago) by hjohnson
COMP: Fix pathing bug in packaging

For the preferred directory for DCMTK install packages and
DCMT_DIR are not consistent.  THis patch passes the correct pathing
to the bin directory needed for packaging.

Revision 21825  Directory Listing
Modified Mon Mar 18 20:47:52 2013 UTC (4 years, 6 months ago) by pieper
COMP: include dicom query/retrieve testing tool in slicer package

The DICOM Query/Retrieve Service Class Provider (dcmqrscp in dcmtk talk)
is useful for testing dicom networking in a controlled environment.

Revision 21805  Directory Listing
Modified Wed Mar 13 05:24:55 2013 UTC (4 years, 6 months ago) by jcfr
COMP: Update ExternalData and remove hack in SLICER_ADD_PYTHON_UNITTEST

ExternalData module has been updated to preserve escaped semicolons during
argument expansion.

Details: http://cmake.org/gitweb?p=cmake.git;a=commit;h=1823ab4d76d8efe79bed85328a3f8c74c7d625bd

Revision 21798  Directory Listing
Modified Tue Mar 12 11:20:21 2013 UTC (4 years, 6 months ago) by jcfr
STYLE: Fix typo and remove "Qt" from message associated with slicerMacroBuildQtModule

Revision 21794  Directory Listing
Modified Tue Mar 12 11:20:11 2013 UTC (4 years, 6 months ago) by jcfr
COMP: Update Slicer test macros to support ExternalData

Revision 21793  Directory Listing
Modified Tue Mar 12 11:20:09 2013 UTC (4 years, 6 months ago) by jcfr
COMP: Update ExternalData module to version 1fd8d01 available in recent CMake

It includes the following fixes:

2013-02-04	Brad King	ExternalData: Attach download rules to content links...
2013-01-30	Brad King	ExternalData: Collapse ../ components in DATA{} paths
2013-01-30	Brad King	ExternalData: Add support for SHA 1 and 2 hash algorithms
2013-01-30	Brad King	ExternalData: Generalize hash algo/ext handling
2013-01-30	Brad King	ExternalData: Allow DATA{} syntax to reference directories
2013-01-30	Brad King	ExternalData: Allow ()-groups in series match regex
2013-01-29	Brad King	ExternalData: Improve series matching using an explicit...
2013-01-28	Brad King	ExternalData: Remove unused private interface
2013-01-28	Brad King	ExternalData: Cleanup stray TODO and typo in comments
2013-01-28	Brad King	ExternalData: Do not match directory names when resolvi...
2013-01-24	Brad King	ExternalData: Remove compatibility with CMake < 2.8.5
2013-01-24	Brad King	Add ExternalData module

See here for details: http://cmake.org/gitweb?p=cmake.git;a=history;f=Modules/ExternalData.cmake;h=9d84f8d135ae8b4e86d78a2e3b570a3b520445a1;hb=HEAD

Revision 21774  Directory Listing
Modified Sun Feb 24 20:38:48 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Update system to use CMake built-in macro "cmake_parse_arguments"

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.

Revision 21769  Directory Listing
Modified Fri Feb 22 07:53:27 2013 UTC (4 years, 7 months ago) by jcfr
ENH: Add SlicerMacroConfigureModuleCxxTestDriver to simplify test configuration

This macro will take care of:
  - creating the test driver executable. Using "SOURCES"
  - setting the appropriate properties
  - optionally linking to additional libraries. If "TARGET_LIBRARIES" is passed.
  - optionally including list of directories. If "INCLUDE_DIRECTORIES" is passed.
  - enabling VTK debug leaks detection if "WITH_VTK_DEBUG_LEAKS_CHECK" is passed.

It can also return the list of test to run if "TESTS_TO_RUN_VAR" is set.

This macro will make maintenance of testing framework easier and more
consistent.

The other advantages is that the content of the CMakeLists.txt declaring
tests is simpler and easier to understand.

Revision 21768  Directory Listing
Modified Fri Feb 22 07:53:25 2013 UTC (4 years, 7 months ago) by jcfr
ENH: Add option WITH_GENERIC_TESTS to slicerMacroBuildQtModule

Instead of manually invoking "SlicerMacroConfigureGenericCxxModuleTests"
and then adding the associated test, specifying this new option
will auto-magically add the generic tests.

Revision 21763  Directory Listing
Modified Fri Feb 22 00:45:58 2013 UTC (4 years, 7 months ago) by jcfr
ENH: Add option WITH_GENERIC_TESTS to slicerMacroBuildScriptedModule

Instead of manually invoking "SlicerMacroConfigureGenericPythonModuleTests"
and then adding the associated scripts, specifying this new option
will auto-magically add the generic test.

Revision 21761  Directory Listing
Modified Fri Feb 22 00:45:53 2013 UTC (4 years, 7 months ago) by jcfr
ENH: Add option WITH_SUBDIR to slicerMacroBuildScriptedModule

Let's illustrate how the macro works considering a simple example. There
is a module named "Foo" having few scripts:

/path/to/Foo/TheFoo.py
/path/to/Foo/FooLib/a.py
/path/to/Foo/FooLib/b.py

First, let's set the following variables:

   DESTINATION_DIR =  <Slicer-build>/lib/Slicer-4.2/qt-scripted-modules
   INSTALL_DIR     = /path/to/Slicer/lib/Slicer-4.2/qt-scripted-modules

Two cases are now supported:

 * Default case:

     slicerMacroBuildScriptedModule(
       NAME Foo
       SCRIPTS Foo FooLib/a FooLib/b
       )

     Will be copied into DESTINATION_DIR / INSTALL_DIR:

          <DESTINATION_DIR|INSTALL_DIR>/TheFoo.py
          <DESTINATION_DIR|INSTALL_DIR>/FooLib/a.py
          <DESTINATION_DIR|INSTALL_DIR>/FooLib/b.py

 * WITH_SUBDIR case:

     slicerMacroBuildScriptedModule(
       NAME Foo
       SCRIPTS Foo FooLib/a FooLib/b
       WITH_SUBDIR
       )

     Will be copied into DESTINATION_DIR / INSTALL_DIR:

          <DESTINATION_DIR|INSTALL_DIR>/Foo/TheFoo.py
          <DESTINATION_DIR|INSTALL_DIR>/Foo/FooLib/a.py
          <DESTINATION_DIR|INSTALL_DIR>/Foo/FooLib/b.py

Revision 21760  Directory Listing
Modified Fri Feb 22 00:45:52 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Update scripted module build macro to consider script specified without ".py"

Revision 21753  Directory Listing
Modified Wed Feb 20 20:02:48 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Make sure ITKFactoryRegistration_INCLUDE_DIRS is exposed to extension.

The expected include directories are already being included through the
help of the variable "Slicer_Libs_INCLUDE_DIRS"

That said, appending it to ITK_INCLUDE_DIRS will ensure that module
linking only against ITK will have all the elements allowing to
register ITK IOFactories available to them.

Revision 21743  Directory Listing
Modified Tue Feb 19 23:27:30 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Ensure relaxed Qt version checking works for extension

Commit 21727 introduced the variable Slicer_EXPERIMENTAL_QT_VERSION, the
problem was that the variable wasn't added to SlicerConfig, this was causing
problem with the macro checking qt version within extension.

Thanks to Matt McCormick for reporting the issue.

Revision 21737  Directory Listing
Modified Tue Feb 19 01:47:58 2013 UTC (4 years, 7 months ago) by jcfr
STYLE: Change CLI test launch command to "SEM_LAUNCH_COMMAND"

Since the idea is to decouple the CLI build code from Slicer related
variables so that module could easily be built outside of Slicer, let's
use "SEM_LAUNCH_COMMAND" instead of "Slicer_LAUNCH_COMMAND"

Revision 21731  Directory Listing
Modified Tue Feb 19 01:12:06 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Add INCLUDE_DIRS associated with specific Slicer libs to SlicerConfig

See http://www.na-mic.org/Bug/view.php?id=2882
Fixes #2882

Revision 21729  Directory Listing
Modified Mon Feb 18 17:23:07 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Associate license file with installer/package

Since commit r21550 (Add support for external projects passed as
configuration parameter), most of CPack variable can be overridden
when building an application that depends on Slicer as a "framework".

While establishing the indirection, a typo as been introduced and the wrong
variable name was used. This commit restore the appropriate behavior.

See http://na-mic.org/Bug/view.php?id=2961
Fixes #2961

Revision 21727  Directory Listing
Modified Sat Feb 16 23:45:33 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Add experimental support for Qt 4.8.4

The build system now checks with the discovered Qt version is either
Qt 4.7.4 or Qt 4.8.4.

Revision 21704  Directory Listing
Modified Thu Feb 14 22:05:23 2013 UTC (4 years, 7 months ago) by jcfr
STYLE: For consistency, change CMake macro from "SIMPLE_TEST" to "simple_test"

Use of lower case CMake function/macro when including underscore has been
first introduced with r17191.

See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=17191

Revision 21699  Directory Listing
Modified Thu Feb 14 00:42:23 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Unknown keyword passed to build macro now trigger an error.

This will allow to catch typo early one by preventing developer from
adding unknown/unused arguments.

Revision 21692  Directory Listing
Modified Tue Feb 12 20:53:23 2013 UTC (4 years, 7 months ago) by jcfr
STYLE: Update template dashboard driver script comment to suggest using "-j -lN"

As suggested in [1], using the -l flag allow to keep the machine responsive
while maximizing the use of the cores when possible.

[1] http://www.kitware.com/blog/home/post/434

Revision 21682  Directory Listing
Modified Mon Feb 11 02:27:57 2013 UTC (4 years, 7 months ago) by jcfr
COMP: Simplify how arguments are passed to PackageAndUploadExtensions script

Parameter are now written into files like:
  <extension-name>-test-command-args.cmake
  <extension-name>-upload-command-args.cmake
  <extension-name>-upload-only-command-args.cmake

This file are then passed to the ctest using argument:

   -DSCRIPT_ARGS_FILE:FILEPATH=<path-to-args-file>

and include within the ctest script using:

   include(${SCRIPT_ARGS_FILE})

This approach has the advantages of:
  1) being simpler in the sens it avoids escaping arguments
  2) preventing issue related to the command line length on windows by passing
arguments "through a file"

See #2491 - http://www.na-mic.org/Bug/view.php?id=2491

Revision 21635  Directory Listing
Modified Fri Jan 25 07:38:23 2013 UTC (4 years, 8 months ago) by jcfr
COMP: Add convenience macro "SlicerMacroBuildScriptedModule"

This will ease the maintenance and prevent developer from having to
update their CMakeLists.txt each time the process to build scripted
module change (for example value associated with parameter DESTINATION_DIR
and INSTALL_DIR of ctkMacroCompilePythonScript)

See http://www.na-mic.org/Bug/view.php?id=2647

Fixes #2647

Revision 21634  Directory Listing
Modified Fri Jan 25 05:52:15 2013 UTC (4 years, 8 months ago) by jcfr
COMP: Add deprecated warning message to "slicerMacroBuildCLI"

"SEMMacroBuildCLI" should be used instead.

Revision 21610  Directory Listing
Modified Thu Jan 17 20:04:50 2013 UTC (4 years, 8 months ago) by jcfr
COMP: Avoid build error on windows by shortening filename of generated pythonqt files

This commit is a follow-up on r21605 and applies on Slicer base libraries
instead of slicer module libraries.

Revision 21605  Directory Listing
Modified Fri Jan 11 21:31:06 2013 UTC (4 years, 8 months ago) by jcfr
COMP: Avoid build error on windows by shortening filename of generated pythonqt files

Thanks to Matt McCormick for testing the change.

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

Revision 21592  Directory Listing
Modified Fri Jan 11 21:29:52 2013 UTC (4 years, 8 months ago) by jcfr
COMP: Add ITKFactoryRegistration library centralizing ITK IO factory registration

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>

Revision 21550  Directory Listing
Modified Mon Dec 31 12:48:48 2012 UTC (4 years, 8 months ago) by finetjul
ENH: Add support for external projects passed as configuration parameter

Revision 21549  Directory Listing
Modified Mon Dec 31 12:48:38 2012 UTC (4 years, 8 months ago) by finetjul
ENH: Add Slicer_BUILD_DIFFUSION_SUPPORT

Controls whether Diffusion related modules are built or not.
It concernes all the DWI, DTI and Tractography modules.

Revision 21510  Directory Listing
Modified Sat Dec 8 18:20:36 2012 UTC (4 years, 9 months ago) by jcfr
COMP: Fix Windows build ensuring CMAKE_CONFIGURATION_TYPES is properly passed

This is a follow up of commit r21499

List can't be passed directly to ExternalProject, they have to be converted
to string with a separator different from ";".

The function "list_to_string" allows to easily convert list to string
using a given separator.

Revision 21501  Directory Listing
Modified Sat Dec 8 02:37:02 2012 UTC (4 years, 9 months ago) by jcfr
COMP: Tweak dashboard script to allow checkout of given SVN branch and rev

Additionally, the script will now ensure that the project is checked out
in either Continuous, Experimental or Nightly sub directory.

Revision 21482  Directory Listing
Modified Fri Dec 7 00:23:59 2012 UTC (4 years, 9 months ago) by jcfr
ENH: Support per user per revision extensions settings

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

Revision 21334  Directory Listing
Modified Fri Nov 9 21:38:01 2012 UTC (4 years, 10 months ago) by jcfr
COMP: Ensure application test written in python run serially

Hopefully this will help prevent the factory from crashing
when running the tests.

Revision 21315  Directory Listing
Modified Mon Nov 5 15:09:07 2012 UTC (4 years, 10 months ago) by jcfr
COMP: find package of Slicer is now sufficient to include OpenIGTLink

Revision 21302  Directory Listing
Modified Fri Nov 2 15:19:15 2012 UTC (4 years, 10 months ago) by jcfr
STYLE: Fix indent in CMakeLists.txt

Revision 21295  Directory Listing
Modified Wed Oct 31 14:28:36 2012 UTC (4 years, 10 months ago) by jcfr
COMP: Add sanity check preventing building from source or build directory with spaces

If needed, this check can be by-passed passing option
-DSlicer_SKIP_DIR_WITH_SPACES_CHECK:BOOL=TRUE

Revision 21260  Directory Listing
Modified Fri Oct 26 20:41:56 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Set CPACK_PACKAGE_INSTALL_DIRECTORY before setting CPACK_NSIS_PACKAGE_NAME

See http://www.na-mic.org/Bug/view.php?id=2690

Fixes #2690

Revision 21259  Directory Listing
Modified Fri Oct 26 19:29:54 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Fix install default directory on windows 64-bit

Should be "Program Files" instead of "Program Files (x86)"
Solution copied from http://www.cmake.org/pipermail/cmake/2012-January/048365.html

See http://www.na-mic.org/Bug/view.php?id=2690

Fixes #2690

Revision 21257  Directory Listing
Modified Fri Oct 26 18:28:03 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Minimize confusion adding Slicer_BUILD_TESTING_EXTENSIONSand removing Slicer_BUILD_EXTENSIONS

The Slicer option Slicer_BUILD_TESTING_EXTENSIONS allows to build
the testing/template extensions as part of the Slicer superbuild itself.

This is for convenience/testing purpose only.

See http://www.na-mic.org/Bug/view.php?id=2692
Fixes #2692

Revision 21254  Directory Listing
Modified Fri Oct 26 00:09:21 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Do not install "distutils/command/wininst-" executable on unit like platform

Revision 21253  Directory Listing
Modified Fri Oct 26 00:09:20 2012 UTC (4 years, 11 months ago) by jcfr
COMP: On unix platform, do not install tcl "bin" directory

Doing so will avoid to create an empty bin directory in the package

Revision 21252  Directory Listing
Modified Fri Oct 26 00:09:18 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Install main Python and tcl libraries as pasrt of the fixup process

Since libpython26.dylib and lib{tcl,tk}8.4.dylib are dependencies of
either python modules or regular slicer libraries, they should NOT be
installed, the fixup script will copy them.

See http://www.na-mic.org/Bug/view.php?id=2688 and
http://www.na-mic.org/Bug/view.php?id=2689

Fixes #2688, #2689

Revision 21251  Directory Listing
Modified Fri Oct 26 00:09:16 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Do not install tcl static libraries

Revision 21250  Directory Listing
Modified Fri Oct 26 00:09:15 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Update Tck install rules so that no empty directory are created

Revision 21249  Directory Listing
Modified Fri Oct 26 00:09:13 2012 UTC (4 years, 11 months ago) by jcfr
STYLE: Re-organize code

The variable "pythonpath_subdir" not being used to set "SLICER_LIBRARY_PATHS_BUILD"
it makes more sens to move the associated code down.

Revision 21242  Directory Listing
Modified Thu Oct 25 15:31:10 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Fix MacOSX packaging fixup associated with loadable module

Similarly to what was done for the extensions, CMAKE_INSTALL_NAME_TOOL
is disabled. That was all installed Slicer libraries will contain the
full path to their direct dependencies. That way the fixup script will
be able to properly match the path of dependencies and update it with
the appropriate "@executable" expression.

Additionally, let's also note that the "candidate_pattern" expression
associated with loadable module was selecting all "dylib" libraries. This
was was incorrect. Only the loadable Qt plugin (and also related python
modules) should be selected. The expression has been updated
to "libq*Module.dylib". The positive effect is that the overall packaging time
will be decreased since the script won't attempt to fixup extra non-plugin
libraries like DisplayableManager, Widget, MRML, ..

While working on this issue, a small script named "list_unfixed_libraries.py"
 allowing to recursively list libraries that have been improperly fixed
up has been created. It is available here:

  https://github.com/jcfr/library-fixup-tools

Before this patch, for path "Slicer.app/Contents/lib/Slicer-4.2/" the
analysis summary obtained against the installed tree was:

  Analysis summary
   Total: 391 libraries
   Unfixed: 28 libraries

After applying this patch, the script run against that same subdirectory
returns:

  Analysis summary
   Total: 363 libraries
   Unfixed: 0 libraries

There are no "unfixed" libraries, the difference in total number of
libraries is explained by the fact library like "libvtkSlicerDataModuleLogic.dylib"
, "libvtkSlicerAnnotationsModuleVTKWidgetsPythonD.dylib", ... (28 of them which
is 391 - 363) were improperly copied into the "lib/Slicer-4.2" folder.
This was incorrect because these libraries were already existing inside
the "lib/Slicer-4.2/qt-loadable-modules" folder.

Finally, let's also list the additional packaging problem that have been
discovered and that this patch will NOT fix:

 1) Before or after this patch, libraries belonging to the folder "lib/Python"
are not fixed properly:

  Analysis summary
   Total: 78 libraries
   Unfixed: 76 libraries

 => Only "Contents/lib/Python/lib/libpython2.6.dylib"
and "Contents/lib/Python/lib/python2.6/site-packages/_tkinter.so" have been fixed.
All other libraries belonging to the folder "Contents/lib/Python/lib/python2.6/site-packages"
have not been fixed.

 2) Before or after this patch, libraries belonging to the folder "lib/TclTk"
are not fixed properly:

  Analysis summary
   Total: 6 libraries
   Unfixed: 2 libraries

 => Libraries "libtk8.4.dylib" and "libtcl8.4.dylib" exists in both
"Contents/lib/TclTk" and "Contents/lib/TclTk/lib" folder. Issue

See http://www.na-mic.org/Bug/view.php?id=2662

Fixes #2662

Revision 21201  Directory Listing
Modified Tue Oct 16 21:23:11 2012 UTC (4 years, 11 months ago) by jcfr
BUG: User arguments associated python unit tests are added last.

The issue was that by using "--additional-module-paths" with a "s" it
will prevent the parameter "--python-code" from being properly parsed.
Indeed, the command line parser will think that it is an additional
module path.

The root cause of the problem lies into ctkCommandLineParser and
is captured by issue https://github.com/commontk/CTK/issues/243

Thanks to Csaba Pinter for identifiying the issue and contributing a patch.

See http://na-mic.org/Mantis/view.php?id=2652

Fixes #2652

Revision 21199  Directory Listing
Modified Tue Oct 16 19:36:12 2012 UTC (4 years, 11 months ago) by jcfr
BUG: Update midas_api_escape_for_url to urlencode all recommended characters

This is commit improve the url encoding of parameter for sake of completeness
only. It doesn't fix the problem.

It resumes that URL passed as parameter to the midas api can't have any
ampersand. Indeed, the value following the ampersand will be considered
as a parameter of the API call itself.

See #2643 / http://www.na-mic.org/Bug/view.php?id=2643

Revision 21191  Directory Listing
Modified Mon Oct 15 22:28:52 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Install pyconfig.h required to install distribute in an installed tree

It will fix the following error:

error: invalid Python installation: unable to open /home/jchris/Projects/Slicer4-Superbuild-Debug/Slicer-build/_CPack_Packages/linux-amd64/TGZ/Slicer-4.1.0-2012-10-15-linux-amd64/lib/Python/include/python2.6/pyconfig.h (No such file or directory)
Something went wrong during the installation.

occurring when install distribute applying the following steps:

1) curl -O http://python-distribute.org/distribute_setup.py
2) ./Slicer --launch /usr/bin/python2.6 distribute_setup.py

Note: A different error occurs when "distribute_setup.py" is executed
directly using Slicer executable:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 8, in <module>
    os.chdir(os.path.dirname(os.path.abspath(__file__)))
NameError: name '__file__' is not defined

This is tracked by issue #2649

See http://www.na-mic.org/Bug/view.php?id=2636

Fixes #2636

Revision 21168  Directory Listing
Modified Fri Oct 12 19:56:56 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Ensure extension description file are generated in top level build dir

Revision 21158  Directory Listing
Modified Thu Oct 11 16:00:51 2012 UTC (4 years, 11 months ago) by sankhesh
BUG: 2321 Added a check for linker capabilities

Checks whether the linker will be able to resolve all symbols. If the
check fails, another test takes place to make sure the linker is not
lazy-linking. If it is, the flag --no-as-needed is added to
CMAKE_EXE_LINKER_FLAGS.

Revision 21151  Directory Listing
Modified Wed Oct 10 20:35:02 2012 UTC (4 years, 11 months ago) by jcfr
COMP: In CTest script, Disable CTEST_USE_LAUNCHERS for non Make generator

Doing so will allow build error to be properly reported for generator
that do not support CTest launcher

See http://www.na-mic.org/Bug/view.php?id=2468

Fixes #2468

Revision 21134  Directory Listing
Modified Mon Oct 8 21:02:11 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Attempt to automatically link module python library with its dependencies

See http://www.na-mic.org/Bug/view.php?id=2627

Fixes #2627

Revision 21132  Directory Listing
Modified Mon Oct 8 18:02:30 2012 UTC (4 years, 11 months ago) by jcfr
COMP:Update CTestCustom to ignore "detached HEAD" git warning

Revision 21116  Directory Listing
Modified Fri Oct 5 17:20:32 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Both CTest and CMake should have CTEST_USE_LAUNCHERS set

See http://na-mic.org/Mantis/view.php?id=2468

Fixes #2468

Revision 21112  Directory Listing
Modified Fri Oct 5 14:39:27 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Fix CDash errors/warnings reporting for unix parallel build

Setting the variable CTEST_USE_LAUNCHERS_DEFAULT in the environment
to enable CTest launcher reliably will be supported by default in either
CMake 2.8.10 or 2.8.11.

In the mean time, your local installation of CMake can be modified based on
the following topic: https://github.com/jcfr/CMake/tree/fix-ctest-use-launchers-for-superbuild

See http://na-mic.org/Mantis/view.php?id=2468

Fixes #2468

Revision 21073  Directory Listing
Modified Fri Sep 28 16:12:37 2012 UTC (4 years, 11 months ago) by sankhesh
BUG: 2465 Fixed path to include CMake directories for external projects

Projects(Extensions) depending on Slicer were failing while configuring
as the CMAKE_MODULE_PATH was not updated. Updating the path to include
external project CMake and Utilities/CMake directories fixes this issue.

Revision 21071  Directory Listing
Modified Thu Sep 27 21:19:36 2012 UTC (4 years, 11 months ago) by jcfr
STYLE: Fix indent in SlicerConfig.cmake.in

See #2465 / http://na-mic.org/Mantis/view.php?id=2465

Revision 21070  Directory Listing
Modified Thu Sep 27 20:46:19 2012 UTC (4 years, 11 months ago) by sankhesh
BUG: CMake module search path updated after each package is found.

Addresses issue 2465.

Revision 21069  Directory Listing
Modified Thu Sep 27 14:28:02 2012 UTC (4 years, 11 months ago) by jcfr
ENH: Add target ExperimentalUploadOnly target to extensions build system

See http://www.na-mic.org/Bug/view.php?id=2568

Fixes #2568

Revision 21054  Directory Listing
Modified Wed Sep 26 17:03:02 2012 UTC (4 years, 11 months ago) by jcfr
COMP: Simplify how dependencies in generic Cxx module tests are handled

Based on suggestion of Julien Finet

See #2251 / http://www.na-mic.org/Bug/view.php?id=2251

Revision 21046  Directory Listing
Modified Tue Sep 25 22:20:26 2012 UTC (5 years ago) by jcfr
BUG: Update module cxx generic test to load dependent modules

See http://www.na-mic.org/Bug/view.php?id=2251

Fixes #2251

Revision 20849  Directory Listing
Modified Thu Aug 23 22:47:22 2012 UTC (5 years, 1 month ago) by jcfr
COMP: Use variable Slicer_BINARY_INNER_SUBDIR instead of hard-coding "Slicer-build"

See http://www.na-mic.org/Bug/view.php?id=2390

Fixes #2390

Revision 20845  Directory Listing
Modified Thu Aug 23 20:14:05 2012 UTC (5 years, 1 month ago) by jcfr
COMP: Ensure the extension description file is packaged in the appropriate directory

Revision 20844  Directory Listing
Modified Thu Aug 23 20:14:03 2012 UTC (5 years, 1 month ago) by jcfr
STYLE: Remove unused and commented CMake code from SlicerExtensionCPack

Revision 20843  Directory Listing
Modified Thu Aug 23 20:14:02 2012 UTC (5 years, 1 month ago) by jcfr
COMP: Fix bundling of CLI within extension.

Closes #2373

Revision 20835  Directory Listing
Modified Thu Aug 23 14:07:12 2012 UTC (5 years, 1 month ago) by hjohnson
BUG:  The distutils package is needed in package

In order to install extra third party python tools
the distutils package is needed in the packaged bundled
versions of slicer.

This is the first step toward using pip as a natural
way to extend slicer with standard python capabilities.

Revision 20749  Directory Listing
Modified Fri Aug 10 23:04:56 2012 UTC (5 years, 1 month ago) by christopher.mullins
BUG: Fixes incorrect loading of some dependencies in extensions.

Loadable dependencies located in the base Slicer are now found there,
and only dependencies corresponding to the extension will
have the @Slicer_BUNDLE_EXTENSIONS_LOCATION@ prefix prepended.

This fix is somewhat of a hack - this will be amended pending the
resolution of issues #2390 and #2391.  Once the slicer build
directory is no longer hard-coded it will be easier to replace the
paths to dependencies.[1] Also, python code bundled with an extension
is still inaccessible to the python search path on Macs, which should be
fixed during the packaging process.[2]
[1] http://na-mic.org/Mantis/view.php?id=2390
[2] http://na-mic.org/Mantis/view.php?id=2391

See http://na-mic.org/Bug/view.php?id=2358

Partially fixes #2358

Revision 20708  Directory Listing
Modified Fri Jul 27 19:58:19 2012 UTC (5 years, 1 month ago) by jcfr
COMP: Set package name using the main project application name

See issue #2115 / http://www.na-mic.org/Bug/view.php?id=2115

Revision 20707  Directory Listing
Modified Fri Jul 27 19:53:36 2012 UTC (5 years, 1 month ago) by jcfr
COMP: Set CPACK_PACKAGE_NAME in SlicerCPack to allow customization

See issue #2115 / http://www.na-mic.org/Bug/view.php?id=2115

Revision 20664  Directory Listing
Modified Tue Jul 24 06:45:33 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Honor option Slicer_BUILD_DICOM_SUPPORT by conditionally building DCMTK

Revision 20648  Directory Listing
Modified Fri Jul 20 17:33:40 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Fix last python26_d link errors ensuring PYTHONQT_USE_RELEASE_PYTHON_FALLBACK is defined in Slicer

See http://massmail.spl.harvard.edu/public-archives/slicer-devel/2012/009521.html
and https://github.com/commontk/CTK/issues/203

Revision 20644  Directory Listing
Modified Thu Jul 19 21:02:51 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Fix extension configuration ensuring DCMTK is found after CTK

Doing so ensure that the CMake module path will be updated and
the FindDCMTK.cmake provided by CTK used.

Note that this commit should have been part of the previous one.

See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=20643
and https://github.com/commontk/CTK/issues/205

Revision 20634  Directory Listing
Modified Thu Jul 19 16:15:45 2012 UTC (5 years, 2 months ago) by pieper
COMP: Integrate slicer-built dcmtk with FindSlicer.cmake conventions

Addresses suggestions made by jc:
https://github.com/pieper/Slicer/commit/716dc9496642b6b08e9308227111707d6a2e6901#commitcomment-1517211

Except that for now we have not implemented a
 Slicer_BUILD_DICOM_SUPPORT
until we have a definite use case that requires it.

Revision 20622  Directory Listing
Modified Fri Jul 13 21:44:55 2012 UTC (5 years, 2 months ago) by mccormic
BUG: Merge remote-tracking branch 'kwsource/WindowsPython'

Conflicts:
	SuperBuild/python_patch_step_win.cmake.in

Revision 20606  Directory Listing
Modified Thu Jul 12 17:39:17 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Add "DIRECTORY_NAME" allowing to further customize the dashboard template script

Revision 20603  Directory Listing
Modified Wed Jul 11 21:51:39 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Add DIRECTORY_IDENTIFIER to dashboard template script

The method allowing to keep build directory short on the factory has
been generalized and integrated into Slicer itself.

Each dashboard script should specify a unique ID per CTEST_DASHBOARD_ROOT.
It means the following directories will be created:
   <CTEST_DASHBOARD_ROOT>/Slicer-<DIRECTORY_IDENTIFIER>        # Source directory
   <CTEST_DASHBOARD_ROOT>/Slicer-<DIRECTORY_IDENTIFIER>-build  # Build directory

See http://www.na-mic.org/Bug/view.php?id=2317

Fixes #2317

Revision 20581  Directory Listing
Modified Fri Jul 6 03:50:28 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Do not compare CMAKE_*_COMPILER when building extension using MSVC

It resumes that on windows, CMAKE_{C,CXX}_COMPILER is set to "cl" and not
the path to the associated executable.

Waiting we find a solution, in order to re-enable the successful build
of experimental, continuous and nightly extension, the comparison is
skipped for MSVC. Issue #2304 has been created to capture that.
(See http://www.na-mic.org/Bug/view.php?id=2304)


See http://www.na-mic.org/Bug/view.php?id=2279

Fixes #2279

Revision 20577  Directory Listing
Modified Thu Jul 5 23:01:40 2012 UTC (5 years, 2 months ago) by jcfr
BUG: Display warning message when no git origin is set only when required

The warning message displayed only if it's a git repository that
has the following properties:
 - No remote.origin is set
 - it's NOT a git svn repo

This will prevent the message from being displayed when configuring Slicer:

CMake Warning at CMake/FindGit.cmake:108 (message):
  No remote origin set for git repository:
  /home/jchris/Projects/Slicer4/Extensions/CMake
Call Stack (most recent call first):
  CMake/SlicerMacroExtractRepositoryInfo.cmake:99 (GIT_WC_INFO)
  Extensions/CMake/CMakeLists.txt:73 (SlicerMacroExtractRepositoryInfo)

Revision 20574  Directory Listing
Modified Thu Jul 5 19:20:58 2012 UTC (5 years, 2 months ago) by jcfr
BUG: Default *_WC_ROOT to 'NA' when no git origin is set in Extension

Patch contributed by Bradley Lowekamp :)

If the repository of an extension didn't have a remote.origin.url set,
the following unhelpful error message was being displayed:

CMake Error at
Slicer/Extensions/CMake/SlicerFunctionGenerateExtensionDescription.cmake:31
(message):
  CMake variable EXTENSION_WC_URL is empty !
Call Stack (most recent call first):
  Slicer/CMake/SlicerExtensionCPack.cmake:54
  (slicerFunctionGenerateExtensionDescription)
  CMakeLists.txt:64 (include)

This patch keeps *_WC_ROOT, and *_WC_URL set to "NA" if the origin is
not set in the repository. Also a CMake warning message is displayed
to indicate that the repository may not be configured correctly.

Revision 20571  Directory Listing
Modified Wed Jul 4 22:59:13 2012 UTC (5 years, 2 months ago) by mccormic
COMP: SlicerMacroPythonWrapModuleVTKLibrary missing include.

Occurs in situations without building PythonQt support, but VTK has Python
support.

Revision 20549  Directory Listing
Modified Mon Jul 2 21:59:23 2012 UTC (5 years, 2 months ago) by christopher.mullins
COMP: Adds option to checkout from git repository.

Changes update command to use git if GIT_REPOSITORY is specified.

See http://na-mic.org/Mantis/view.php?id=2255

Resolves #2255

Revision 20540  Directory Listing
Modified Mon Jul 2 03:38:22 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Remove unused CLAPACK external project file

See #2249 / http://www.na-mic.org/Bug/view.php?id=2249#c5017

Revision 20527  Directory Listing
Modified Fri Jun 29 22:22:17 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Simplify extension build system removing EXTENSION_HAS_ONLY_ONE_MODULE mode

Extension metadata are expected to be set using "EXTENSION_*" variables.

In case only the variable MODULE_NAME is defined, the metadata will also be
expected to be defined using EXTENSION_* variables.

This change is not backward compatible.

Revision 20525  Directory Listing
Modified Fri Jun 29 20:00:39 2012 UTC (5 years, 2 months ago) by jcfr
STYLE: At configuration - Numpy Fortran compiler details are nicely displayed

Macro SlicerMacroCheckExternalProjectDependency has also been updated
to set the variables:
  __${proj}_indent
  __${proj}_superbuild_message

These variables can be used to print additional information associated with
an external project.

See #2276 / http://na-mic.org/Mantis/view.php?id=2276

Revision 20514  Directory Listing
Modified Thu Jun 28 20:40:21 2012 UTC (5 years, 2 months ago) by benjamin.long
ENH: Internationalized Slicer

Added Internationalization setting panel to enable/disable this behavior.
Added language combo box into general setting panel if enabled.
Added function to load language when we start the application.

Revision 20510  Directory Listing
Modified Thu Jun 28 18:16:45 2012 UTC (5 years, 2 months ago) by demian
ENH: Added a script to setup the slicer environment

Revision 20505  Directory Listing
Modified Wed Jun 27 23:05:24 2012 UTC (5 years, 2 months ago) by jcfr
COMP: Add option Slicer_BUILD_DICOM_SUPPORT

See http://na-mic.org/Mantis/view.php?id=2271

Fixes #2271

Revision 20484  Directory Listing
Modified Mon Jun 25 21:26:58 2012 UTC (5 years, 3 months ago) by jcfr
COMP: Add option Slicer_DONT_USE_EXTENSION to UseSlicer.cmake.in

Setting this variable allows to disable extensions support. For example:

 set(Slicer_DONT_USE_EXTENSION TRUE)
 find_package(Slicer REQUIRED)
 include(${Slicer_USE_FILE})

See http://www.na-mic.org/Bug/view.php?id=2238

Fixes #

Revision 20483  Directory Listing
Modified Mon Jun 25 21:26:57 2012 UTC (5 years, 3 months ago) by jcfr
COMP: Add option Slicer_SKIP_EXTENSION_NAME_CHECK

See http://www.na-mic.org/Bug/view.php?id=2238

Fixes #2238

Revision 20481  Directory Listing
Modified Mon Jun 25 18:47:17 2012 UTC (5 years, 3 months ago) by jcfr
COMP: Honor DEPENDS option passing *_DIR variable

If extension C depends on extension A and B, variable A_DIR and B_DIR will
be passed to C at configuration time.

Assuming extension A and B provide a AConfig.cmake and a BConfig.cmake, it
is possible to respectively call "find_package(A REQUIRED)" and
"find_package(B REQUIRED)" in C.

See http://www.na-mic.org/Bug/view.php?id=2222

Fixes #2222

Revision 20475  Directory Listing
Modified Sun Jun 24 20:14:19 2012 UTC (5 years, 3 months ago) by finetjul
STYLE: Remove trailing whitespace in qSlicerExport.h.in

Revision 20464  Directory Listing
Modified Fri Jun 22 15:32:10 2012 UTC (5 years, 3 months ago) by hjohnson
COMP: The compiler options must be propogated

Compiler options selected in the main Slicer4
Superbuild harness needs to be propogated to
each of the subsequent External_project builds.

This was tested by setting
export CC=/dev/null
export CXX=/dev/null
cmake -DCMAKE_C_COMPILER:PATH=/usr/bin/gcc -DCMAKE_CXX_COMPILER:PATH=/usr/bin/g++
and then compiling all of Slicer.

Propogate the necessary compiler flags to each
external package consistently.  Additionally,
only propogate the flags that are explicitly needed
for that external project.  In many cases, only the
C compiler options need to be propogated.

Slicer compiler options needed by Extensions as well.
The extension need to have the same compiler used
as the primary Slicer build.

Revision 20450  Directory Listing
Modified Thu Jun 21 19:17:01 2012 UTC (5 years, 3 months ago) by lorensen
ENH: ITKv4 install

ITKv4 changed the installation parameters.

1) GDCM install COMPONENT for runtime is "Libraries"
2) HDF5 install COMPONENT for runtime is "libraries"
   and, until ITK 4.2, the COMPONENT "Unspecified" is needed.
3) ITK_INSTALL_NO_DEVELOPMENT must be ON to supress include files.


Revision 20443  Directory Listing
Modified Thu Jun 21 07:24:46 2012 UTC (5 years, 3 months ago) by jcfr
COMP: Improve developer experience by having extensions metadata all optional

See http://www.na-mic.org/Bug/view.php?id=2239

Fixes #2239

Revision 20442  Directory Listing
Modified Thu Jun 21 07:24:43 2012 UTC (5 years, 3 months ago) by jcfr
COMP: Update "slicer_setting_variable_message" to support undefined variable

Revision 20401  Directory Listing
Modified Tue Jun 19 16:28:18 2012 UTC (5 years, 3 months ago) by lorensen
ENH: ITKv4 runtime packaging

Package only the runtime components of ITKv4.


Revision 20393  Directory Listing
Modified Mon Jun 18 07:40:03 2012 UTC (5 years, 3 months ago) by jcfr
COMP: Slicer CLIs can now be built using SEMMacroBuildCLI macro

Revision 20385  Directory Listing
Modified Mon Jun 18 02:42:45 2012 UTC (5 years, 3 months ago) by jcfr
COMP: ExtractRepositoryInfo - Remove CVS requirement because its support is not implemented.

Doing so will also prevent build error happening when CVS is not available.

Revision 20348  Directory Listing
Modified Mon Jun 11 19:07:49 2012 UTC (5 years, 3 months ago) by Michael.jeulinl
BUG: 0002094. Move 3DSlicer icons into appropriate subdirectories.

Revision 20319  Directory Listing
Modified Mon Jun 4 18:33:58 2012 UTC (5 years, 3 months ago) by benjamin.long
BUG: Fix macro slicer_add_python_test

Now, "SLICER_ARGS" variable accepts multiple values.

Revision 20299  Directory Listing
Modified Thu May 31 23:47:30 2012 UTC (5 years, 3 months ago) by jcfr
STYLE: Add missing comment in UseSlicer.cmake.in

See http://www.na-mic.org/Bug/view.php?id=2147

Revision 20295  Directory Listing
Modified Thu May 31 23:13:53 2012 UTC (5 years, 3 months ago) by jcfr
COMP: Add extension description file into extension package

Including the extension metadata within the package will make installation
of package given a filepath or direct URL easier.

See http://www.na-mic.org/Bug/view.php?id=2145

Revision 20272  Directory Listing
Modified Mon May 28 21:52:09 2012 UTC (5 years, 3 months ago) by jcfr
BUG: Fix extension bundling and simplify mechanism used to specify the main application

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

Revision 20165  Directory Listing
Modified Sun May 27 18:23:30 2012 UTC (5 years, 4 months ago) by jcfr
COMP: Extension can easily download external data

Update build system so that ExternalData module is made available to extension.

Let's also note that ExternalData_OBJECT_STORES and ExternalData_URL_TEMPLATES
are set within UseSlicer.cmake to Slicer pre-defined value, setting the
variable "Slicer_SKIP_EXTERNAL_DATA" before "include(${Slicer_USE_FILE})"
allows to by-pass the setting of the OBJECT_STORES and URL_TEMPLATES variables.

Calling "list(APPEND Slicer_ExternalData_OBJECT_STORES ...)" or
"list(APPEND Slicer_ExternalData_URL_TEMPLATES ...)" before
calling "include(${Slicer_USE_FILE})" provide also an easy way to specify
additional external data url templates or object stores.

Revision 20163  Directory Listing
Modified Sun May 27 16:26:51 2012 UTC (5 years, 4 months ago) by jcfr
COMP: Configuring to use External Data.

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.

Revision 20162  Directory Listing
Modified Sun May 27 02:48:12 2012 UTC (5 years, 4 months ago) by jcfr
COMP: Look for new SDK location for newer XCode

Patch contributed by Steve Pieper

Tested with XCode 4.3.2 on MacOSX 10.7.

Machines that were upgraded from older XCode still have
SDKs in the /Developer directory, but new machines have
them only inside the XCode app.

See http://www.na-mic.org/Bug/view.php?id=2119

Closes #2119

Revision 20155  Directory Listing
Modified Fri May 25 20:25:45 2012 UTC (5 years, 4 months ago) by Michael.jeulinl
ENH: Provide a mechanism to build several applications

Configure the applications and packaging with
two variables to configure the build:
- Slicer_MAIN_PROJECT # main project
- ${Slicer_MAIN_PROJECT}_APPLICATION_NAME # application name

Make the packaging given the main application name.

Revision 20069  Directory Listing
Modified Sat May 12 02:30:22 2012 UTC (5 years, 4 months ago) by jcfr
ENH: Enforce the use of Qt 4.7.4. Fixes #2024

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

Revision 20063  Directory Listing
Modified Thu May 10 20:44:20 2012 UTC (5 years, 4 months ago) by pieper
COMP: build LibArchive even when extension manager is off

LibArchive is now used in mrml logic so it should not
be a conditional build.

Revision 20032  Directory Listing
Modified Mon May 7 22:15:12 2012 UTC (5 years, 4 months ago) by jcfr
ENH: Add mechanism allowing to trigger continuous build of extension only after Slicer build is finished. Fixes #1986

The driver script associated with Slicer create a file BUILD_IN_PROGRESS
located in <Slicer_DIR>, if this file exists, the extensions driver script
skips the build.

See http://www.na-mic.org/Bug/view.php?id=1986

Revision 20003  Directory Listing
Modified Fri May 4 00:06:30 2012 UTC (5 years, 4 months ago) by pieper
ENH: add mrb to the list of slicer-related file extensions

Revision 19991  Directory Listing
Modified Thu May 3 21:48:47 2012 UTC (5 years, 4 months ago) by jcfr
BUG: Do not use "SlicerFunctionToday" in MIDASAPI macro tests. See #1973

Revision 19979  Directory Listing
Modified Wed May 2 19:39:10 2012 UTC (5 years, 4 months ago) by lassoan
BUG: Exclude TclTk .SVN files (36MB, 1600 files) from the installation package. It slightly decreases the installer package size and installation time.

Revision 19974  Directory Listing
Modified Tue May 1 23:54:58 2012 UTC (5 years, 4 months ago) by jcfr
BUG: Ensure that QtTesting project is found when building extensions

This will fix link issue associated with extension:

//--------
Scanning dependencies of target ConfigureAdditionalLauncherSettings
[  4%] Configuring: AdditionalLauncherSettings.ini
[  4%] Built target ConfigureAdditionalLauncherSettings
Scanning dependencies of target vtkSlicerLoadableExtensionTemplateModuleLogic
[  8%] Building CXX object Logic/CMakeFiles/vtkSlicerLoadableExtensionTemplateModuleLogic.dir/vtkSlicerLoadableExtensionTemplateLogic.cxx.o
c++: --no-undefined: linker input file unused because linking not done
Linking CXX shared library ../lib/Slicer-4.1/qt-loadable-modules/libvtkSlicerLoadableExtensionTemplateModuleLogic.so
/usr/bin/ld: cannot find -lQtTesting
//--------

See http://slicer.cdash.org/viewBuildError.php?buildid=17278

Revision 19967  Directory Listing
Modified Tue May 1 00:11:07 2012 UTC (5 years, 4 months ago) by jcfr
STYLE: Re-organize and document CMake code associated with driver script template

Revision 19966  Directory Listing
Modified Tue May 1 00:11:05 2012 UTC (5 years, 4 months ago) by jcfr
COMP: Explicitly pass parameters associated to slicerFunctionGenerateExtensionDescription

Doing so could potentially prevent us from invoking the expensive
"SlicerMacroExtractRepositoryInfo" multiple times.

The function "slicerFunctionGenerateExtensionDescription" now does one thing
and doesn't deal anymore with the process of introspecting the associated
source tree.

Revision 19965  Directory Listing
Modified Tue May 1 00:11:03 2012 UTC (5 years, 4 months ago) by jcfr
COMP: Document and set default value of output parameter "_WC_ROOT" associated with SlicerMacroExtractRepositoryInfo

Revision 19964  Directory Listing
Modified Tue May 1 00:11:02 2012 UTC (5 years, 4 months ago) by jcfr
COMP: Factory out continuous build interval time into one variable in driver scripts

Revision 19963  Directory Listing
Modified Tue May 1 00:11:00 2012 UTC (5 years, 4 months ago) by jcfr
COMP: Update "GIT_WC_INFO" macro so that a shorter and more readable SHA1 is outputed

Revision 19962  Directory Listing
Modified Mon Apr 30 23:11:28 2012 UTC (5 years, 4 months ago) by benjamin.long
COMP: Package QtTesting

Conflicts:

	CMake/UseSlicer.cmake.in

Revision 19961  Directory Listing
Modified Mon Apr 30 23:11:26 2012 UTC (5 years, 4 months ago) by benjamin.long
COMP: Add QtTesting in path for launcher in build tree

Revision 19959  Directory Listing
Modified Mon Apr 30 23:11:21 2012 UTC (5 years, 4 months ago) by benjamin.long
ENH: Add Qt Testing support

Expose signals/slots on some widget APIs for qttesting recording/replay

Revision 19958  Directory Listing
Modified Mon Apr 30 21:40:57 2012 UTC (5 years, 4 months ago) by Michael.jeulinl
ENH: Rename Slicer application classes

- Use to make distinction between inner and outer files.
- Make it more generic to be able to derive SlicerApp.
- Decouple resource usage between core and application.

Revision 19949  Directory Listing
Modified Thu Apr 26 22:51:27 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Prevent confusion by consistently using platform as concatenation of "Os" and "architecture". See #1204

* Rename macro SlicerMacroGetPlatformArchitectureBitness and change its
associate return value from PLATFORM to OS.

Revision 19948  Directory Listing
Modified Thu Apr 26 21:59:13 2012 UTC (5 years, 5 months ago) by jcfr
BUG: Centralize revision/version information into version header file. Fixes 1204

* Remove SlicerVersion.txt that provide redundant information and
remove associated "discoverRepository" function.

* Note that slicer revision associated with extension manager can be overwritten
at runtime from within python using:

   slicer.app.extensionManagerModel().slicerRevision = "12345"

* See http://www.na-mic.org/Bug/view.php?id=1204

Revision 19901  Directory Listing
Modified Mon Apr 16 23:53:47 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Ensure that option Slicer_SKIP_PROJECT_COMMAND and Slicer_SKIP_USE_FILE_INCLUDE_CHECK can be used independently

Contributed by "Andreas Schuh"

Fixes 1902 - http://www.na-mic.org/Bug/view.php?id=1902

Revision 19900  Directory Listing
Modified Mon Apr 16 23:09:47 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Improve user experience by tweaking output of 'slicer_setting_variable_message'

Contributed by "Andreas Schuh"

Fixes #1901 - http://www.na-mic.org/Bug/view.php?id=1901

Revision 19895  Directory Listing
Modified Sun Apr 15 01:34:48 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Re-organize and document SlicerConfig.cmake

Revision 19894  Directory Listing
Modified Sat Apr 14 23:09:17 2012 UTC (5 years, 5 months ago) by jcfr
BUG: Make sure 'slicer_setting_variable_message' works with long variable name

The helper macros used within "UseSlicer.cmake" have been factored out
into UseSlicerMacros.cmake to allow their testing.

Fix contributed by "Andreas Schuh"

Fixes #1901 - http://www.na-mic.org/Bug/view.php?id=1901

Revision 19890  Directory Listing
Modified Thu Apr 12 20:14:50 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Within SlicerConfig, change signature of help macro to be consistent with CMake style

CMake build-in function, macro and command are all specified using lower
case letter.

Adding one "_" is also sufficient to indicate the function or macro
is not specifically for re-used outside the code of this module. It also
means that the api and implementation of this function is expected to change.

Revision 19882  Directory Listing
Modified Thu Apr 12 02:56:29 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Simplify extension template by moving 'SlicerEnableExtensionTesting' into UseSlicer

Assuming MODULE_* variables are sued to specify metadata, creating an
extension is as simple as adding:


...

if(NOT Slicer_SOURCE_DIR)
   find_package(Slicer REQUIRED)
   include(${Slicer_USE_FILE})
endif()

...

if(NOT Slicer_SOURCE_DIR)
  include(${Slicer_EXTENSION_CPACK})
endif()

Revision 19881  Directory Listing
Modified Thu Apr 12 01:42:35 2012 UTC (5 years, 5 months ago) by jcfr
BUG: Make MIDASAPILogin more robust in case of login failure.

This to avoid error similar to the one reported below:

CMake Error at /path/to/Slicer4/Slicer/CMake/MIDASAPILogin.cmake:64 (string):
  string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
  command.
Call Stack (most recent call first):
  /path/to/Slicer/Extensions/CMake/MIDASAPIUploadExtension.cmake:62 (midas_api_login)
  /path/to/Slicer/Slicer4/Slicer/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake:211 (midas_api_upload_extension)

Revision 19878  Directory Listing
Modified Wed Apr 11 21:43:40 2012 UTC (5 years, 5 months ago) by jcfr
COMP: DCMTK_DIR is now conveniently set in UseSlicer.cmake

Not that, before that change, it could have been possible to
do the following:

   set(DCMTK_DIR ${CTK_DCMTK_DIR})

Revision 19877  Directory Listing
Modified Wed Apr 11 21:43:38 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Set default EXTENSION_{SOURCE_DIR , SUPERBUILD_BINARY_DIR} to accommodate most use cases

To support the case (scenario 2) where the extension building code is
inside a sub-directory of your project (ie Plastimatch), it makes sens
to set the default of these variables to respectively CMAKE_SOURCE_DIR
and CMAKE_BINARY_DIR.



  Scenario1 (usual):

   root
     |-- CMakeLists.txt  <= Extension description
     |
     |--- A/CMaekLists.txt



  Scenario2:

   root
     |-- CMakeLists.txt
     |
     |--- A/CMaekLists.txt <= Extension description

Revision 19876  Directory Listing
Modified Wed Apr 11 21:43:37 2012 UTC (5 years, 5 months ago) by jcfr
BUG: Prevent error by not building wrapped {MRML,Logic} python libraries if BUILD_SHARED ON

* The call to "set_target_properties" was failing because the corresponding
target wasn't existing.

Revision 19875  Directory Listing
Modified Wed Apr 11 18:26:38 2012 UTC (5 years, 5 months ago) by jcfr
ENH: Within extension, MIDAS_PACKAGE_{URL, EMAIL, API_KEY} are exposed as option

By default if the user doesn't specify a value, the upload to Midas will fail
and the package will be uploaded to CDash.

That said, no metadata are uploaded to CDash and the extension manager
won't be able to communicate with CDash.

Revision 19867  Directory Listing
Modified Wed Apr 11 15:27:05 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Include 'SlicerBlockModuleToExtensionMetadata' within UseSlicer.cmake

Revision 19866  Directory Listing
Modified Wed Apr 11 15:27:03 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Include 'SlicerBlockUploadExtensionPrerequisites' within UseSlicer.cmake

Revision 19865  Directory Listing
Modified Wed Apr 11 15:27:01 2012 UTC (5 years, 5 months ago) by jcfr
COMP: "Slicer_INSTALL_*MODULE_*_DIR" set in UseSlicer.cmake along with other variables.

Revision 19863  Directory Listing
Modified Wed Apr 11 15:26:58 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Move AdditionalLauncherSettings into a more meaningful location.

Its new home is the UseSlicer.cmake where the environment of an extension is
setup.

Revision 19862  Directory Listing
Modified Wed Apr 11 15:26:56 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Simplify organization - Testing macros are now included in UseSlicer.cmake

Revision 19858  Directory Listing
Modified Wed Apr 11 13:35:53 2012 UTC (5 years, 5 months ago) by jcfr
COMP: More consistency by setting all extension default values in UseSlicer.cmake

Revision 19856  Directory Listing
Modified Wed Apr 11 13:35:49 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Prevent a same author warning from being duplicated when configuring extension.

This is achieved by internally setting a variable <VARANME>_AUTHOR_WARN.

Revision 19855  Directory Listing
Modified Wed Apr 11 13:35:47 2012 UTC (5 years, 5 months ago) by jcfr
ENH: Reduce the overhead involved creating extension bundling exactly ONE module

The idea is to facilitate the process involved to convert a slicer module
into an extension.

In case the extension contain one module, all metadata associated with
an extension can be described using the "MODULE_*" variables.

In other word, assuming a module named "Foo" is already defined
in Slicer using the following:

// ----------------------
...
set(MODULE_NAME Foo)
set(MODULE_CATEGORY "Examples")
set(MODULE_STATUS "Beta")
set(MODULE_CONTRIBUTORS "Jean-Christophe Fillion-Robin (Kitware)")
set(MODULE_DESCRIPTION "This is an example of Qt loadable module built as an extension")

...

slicerMacroBuildQtModule(...)

...
// ----------------------

it could be converted into an extension by adding 9 lines.


// ----------------------
cmake_minimum_required(VERSION 2.8.7)
...
set(MODULE_NAME Foo)
set(MODULE_CATEGORY "Examples")
set(MODULE_STATUS "Beta")
set(MODULE_CONTRIBUTORS "Jean-Christophe Fillion-Robin (Kitware)")
set(MODULE_DESCRIPTION "This is an example of Qt loadable module built as an extension")

...
if(NOT Slicer_SOURCE_DIR)
  find_package(Slicer REQUIRED)
  include(${Slicer_USE_FILE})

  include(SlicerEnableExtensionTesting)
endif()
...

slicerMacroBuildQtModule(...)

...

if(NOT Slicer_SOURCE_DIR)
  include(${Slicer_EXTENSION_CPACK})
endif()
// ----------------------

Revision 19854  Directory Listing
Modified Wed Apr 11 13:35:45 2012 UTC (5 years, 5 months ago) by jcfr
ENH: Ease usage of "Slicer_USE_FILE" by documenting and modularizing

* The file has been commented

* The "behavior" of the file can be customized using Slicer_SKIP_* variables

* Convenient functions/macros has also been introduced:
  slicer_check_variable
  slicer_setting_variable_message
  _slicer_skip_message

Revision 19853  Directory Listing
Modified Wed Apr 11 10:56:35 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Ensure environment is set when running "out-of-source" scripted modules tests.

This is a follow up to r19827 [1] where it was mentioned that

   "PYTHONPATH is updated so that python module associated with
   a module could be imported. For example, the scripted module."

It resumes that at the time of that commit, this was an incorrect statement.
Indeed, the python macro defined in SlicerMacroPythonTesting where
relying on "Slicer_LAUNCHER_EXECUTABLE" whereas the variable updated
with '--launcher-additional-settings' was "Slicer_LAUNCH_COMMAND".

This commit set the command line option specific to launcher additional settings
into a variable that could be re-used:

    Slicer_ADDITIONAL_LAUNCHER_SETTINGS

The macro SLICER_ADD_PYTHON_TEST and SLICER_ADD_PYTHON_UNITTEST have been
updated to consider that variable.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=19827

Revision 19845  Directory Listing
Modified Wed Apr 11 10:56:19 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Simplify extension template by using default value for EXTENSION_DEPENDS

Revision 19840  Directory Listing
Modified Mon Apr 9 23:56:12 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Simplify extension template removing license, readme. Default corresponding to Slicer information.

* The idea is to keep the template as simple and as lean as possible

* All the convenient ways to overwrite default value will be documented
on the wiki
See http://www.slicer.org/slicerWiki/index.php/Documentation/Snapshot/Developers/Tutorials/ExtensionWriting

Revision 19833  Directory Listing
Modified Mon Apr 9 13:05:42 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Use /MP flags and set 'processMax' using environ variable NUMBER_OF_PROCESSORS

This approach has been inspired from vtkDetermineCompilerFlags

A dashboard could overwrite that by explicitly setting CMAKE_CXX_MP_NUM_PROCESSORS
into the cache.

Option "CMAKE_CXX_MP_FLAG" can be used to prevent the usage of /MP flag.

See http://msdn.microsoft.com/en-us/library/bb385193(v=vs.90).aspx

Revision 19832  Directory Listing
Modified Mon Apr 9 13:05:40 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Prevent a warning level 4 by not using 'vtkDetermineCompilerFlags'

By forcing the warning level to 4, this VTK CMake block was not helping us.

In addition of setting flags for platform no supported by Slicer (AIX, HP-UX, ..)
, it is setting the /MP<X> [1] flags elegantly. This will probably be added
in a following commit.

[1] http://msdn.microsoft.com/en-us/library/bb385193(v=vs.90).aspx

Revision 19828  Directory Listing
Modified Mon Apr 9 08:53:56 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Fix comments in SlicerMacroSimpleTest

Revision 19821  Directory Listing
Modified Sun Apr 8 05:25:54 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Facilitate maintenance by keeping overwrite of warning level in one location.

Revision 19820  Directory Listing
Modified Sun Apr 8 05:25:52 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Ensure Slicer inner project is configured with a warning level 2.

Since the variable Slicer_REQUIRED_{C, CXX}_FLAGS where used to configure
the inner project, the content of SlicerBlockCXXRequiredFlags wasn't
evaluated because it was inside a "if(Slicer_REQUIRED_C_FLAGS ...)" statement.

Moving the update of CMake C/CXX flags outside of the if statement should
ensure Slicer inner-build is configured with the appropriate warning level.

Revision 19817  Directory Listing
Modified Sun Apr 8 02:52:35 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Force warning level 2 by updating CMAKE_{C,CXX}_FLAGS

Change introduced by r10805 reveals to be ineffective, indeed the warning
level /W2 was previously appended to the list of flags already configured.

Since only the first "/Wx" flag seems to be considered by CL.exe, this
commit make sure the default warning level is overwritten.

Note also that this change will affect only Slicer, external project
are not affected. Indeed "ep_common_{c, cxx}_flags" are set with
CMAKE_{C, CXX}_FLAGS_INIT and ADDITIONAL_{C, CXX}_FLAGS. It could probably
make sens to update CMAKE_{C, CXX}_FLAGS_INIT so that warning level of 2
is also used when compiling external project.

Revision 19816  Directory Listing
Modified Sun Apr 8 02:52:33 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Prevent confusion by avoiding duplication of MSVC flag

* Since CMAKE_{C,CXX}_FLAGS is set using CMAKE_{C,CXX}_FLAGS_INIT,
Slicer_REQUIRED_{C, CXX}_FLAGS, ITK_REQUIRED_{C, CXX}_FLAGS, ..
settings these flag again is redundant.
See https://github.com/Slicer/Slicer/blob/bfb64c7b12c3406e2191fe33e2cda0a85840f2a5/CMakeLists.txt#L711

Indeed, CMAKE_{C,CXX}_FLAGS_INIT is already set with /W3 /Zm1000 /EHsc /GR
within "modules/Platform/Windows-cl.cmake
See http://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Windows-cl.cmake;h=be6abb690d17705b7d8557da21ba08ab9dc18b10;hb=f999a59afe804063cebf4dd89ef99662829bf3e4#l156

Revision 19815  Directory Listing
Modified Sun Apr 8 00:01:18 2012 UTC (5 years, 5 months ago) by jcfr
ENH: Simplify extension CMakeLists.txt moving description file generation.

The call to "slicerFunctionGenerateExtensionDescription" now happens
into SlicerExtensionCPack file. It has the inconvenient of
obfuscating where the generation of the extension description file
occurs but I believe it un-clutter the CMakeLists of each extension file.

This change is somewhat backward compatible. Indeed, if extension
maintainer does not update its CMakeLists, the file will be generated
two times.

It's possible to skip the generation of the file by setting the variable
Slicer_CPACK_SKIP_GENERATE_EXTENSION_DESCRIPTION to TRUE.

Revision 19809  Directory Listing
Modified Sat Apr 7 08:41:27 2012 UTC (5 years, 5 months ago) by jcfr
ENH: Add python module 'saferef' allowing to create weak reference to method/function.

* This module is the equivalent of built-in module 'weakref'. The difference
is that 'saferef' safely create weak reference to any function,
including bound methods whereas the 'weakref' module deals "only"
with objects [1].

[1] http://docs.python.org/library/weakref.html

* This module has been imported from "django" code base at revision 17875
See https://code.djangoproject.com/browser/django/trunk/django/dispatch/saferef.py?rev=17875

* The license associated is BSD. Since the code has been originally imported
from PyDispatcher and modified by django, both the license of (a) PyDispatched
and (b) Django are included at the top of the file.

 a) https://code.djangoproject.com/browser/django/trunk/django/dispatch/license.txt?rev=17875

 b) https://code.djangoproject.com/browser/django/trunk/LICENSE?rev=17875

* The associated unittest has also been added. Currently living in
"Base/Python/tests" and added within "Application/SlicerQT/Testing/Python/CMakeLists.txt",
this may change. The macro "SLICER_ADD_PYTHON_UNITTEST" has also been
adapted to understand absolute path.

* Currently, the test itself isn't installed, this may also change in
the future.

Revision 19805  Directory Listing
Modified Sat Apr 7 00:05:57 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Generate meaningful list of warnings by reducing Slicer warning level from 3 to 2

* Considering most of the warning a related to third party classes (for
example use of templated class), it doesn't make sens to enable such level.
It was overflowing the dashboard preventing from catching some more
interesting warnings.

Revision 19799  Directory Listing
Modified Fri Apr 6 04:56:03 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Update continuous dashboard duration to ensure it ends on time.

By setting a duration of ~14hours, assuming the dashboard is configured
to start at 9am, it should end around 10pm (*) when the nightly
are expected to start.

(*) If any, time for the last continuous build to end.

Revision 19784  Directory Listing
Modified Wed Apr 4 14:25:24 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Prevent confusion by updating Qt reference in dashboard script template.

Revision 19783  Directory Listing
Modified Wed Apr 4 14:25:22 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Update dashboard script template explaining user how to obtain Os/Hardware/GPU infos on Linux

Revision 19764  Directory Listing
Modified Mon Apr 2 06:30:00 2012 UTC (5 years, 5 months ago) by jcfr
BUG: Generic Cxx test - Ensure modulePath is properly set on generator relying an IntDir

* For a definition of IntDir, consider reading:
http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_CFG_INTDIR

* The main idea is to generate the full path to the module at runtime where
qSlicerCoreApplication::intDir() returns the current IntDir if any.

Revision 19763  Directory Listing
Modified Mon Apr 2 06:29:58 2012 UTC (5 years, 5 months ago) by jcfr
BUG: Ensure module prefix and suffix of MODULEPATH is properly set in SlicerMacroConfigureGenericCxxModuleTests

* CMAKE_SHARED_MODULE_SUFFIX already includes the dot in the library suffix.

* Make also sure CMAKE_SHARED_MODULE_PREFIX is considered

Revision 19760  Directory Listing
Modified Fri Mar 30 23:10:50 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Prevent dashboard error removing CTEST_CMAKE_COMMAND from required variable.

Revision 19758  Directory Listing
Modified Fri Mar 30 20:19:23 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Prevent later confusion removing unused variable CTEST_CMAKE_COMMAND in driver script template.

* To summarize:
   - This variable was using in "old-style" ctest script.
   - Its value is only readonly.

* For reference consider reading: http://www.cmake.org/Bug/view.php?id=13080

Revision 19755  Directory Listing
Modified Thu Mar 29 20:33:47 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Fix error in CTestCustom.cmake.in introduced by r19602

* Having "++" in a regex is invalid. These ones should be escaped.

Revision 19754  Directory Listing
Modified Thu Mar 29 20:22:39 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Fix incorrect regualr expression in CTestCustom introduced few weeks ago...

* See https://github.com/Slicer/Slicer/commit/6ce2b8d

* Commit "6ce2b8d" fixed some of the regular expression. This has the side
effect of revealing other error that were masked by the one that has been
corrected ...

* Regular expression shouldn't include to "*" in a row, each regex should also
be enclosed between double quote.

* The error where occurring when building Slicer using ctest (usually a
dashboard):

Build project
MakeCommand:/usr/bin/make -i -j1
RegularExpression::compile(): Unmatched parentheses.
RegularExpression::compile(): Error in compile.
RegularExpression::compile(): Unmatched parentheses.
RegularExpression::compile(): Error in compile.
RegularExpression::compile(): Unmatched parentheses.
RegularExpression::compile(): Error in compile.
RegularExpression::compile(): Unmatched parentheses.
RegularExpression::compile(): Error in compile.
Run command: "/usr/bin/make" "-i" "-j1"

Revision 19753  Directory Listing
Modified Thu Mar 29 18:45:51 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Remove extra parenthesis in dashboard driver script

Revision 19752  Directory Listing
Modified Thu Mar 29 18:45:49 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Signature of midas_ctest_upload_url is now explicit

* The function expects two parameters: API_URL and FILEPATH

Revision 19751  Directory Listing
Modified Thu Mar 29 18:45:48 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Associate verbose output to MIDASAPI macros

* Also added general settings "MIDAS_API_DISPLAY_URL" allowing to turn on
the visibility of URL used to query the server.

Revision 19750  Directory Listing
Modified Thu Mar 29 18:45:45 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Simplify API of MIDASAPI macros removing TMP_DIR parameter

* CMAKE_CURRENT_BINARY_DIR  is used in place

Revision 19749  Directory Listing
Modified Thu Mar 29 18:45:43 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Indicate which uploading step DashboardDriver script is performing

Revision 19748  Directory Listing
Modified Thu Mar 29 18:45:42 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Simplify signature of "midas_api_login" function

Revision 19744  Directory Listing
Modified Thu Mar 29 10:37:25 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Rename CMake variable to be more explicit

* "server_token" -> "midas_api_token"

Revision 19743  Directory Listing
Modified Thu Mar 29 10:37:23 2012 UTC (5 years, 5 months ago) by jcfr
BUG: Avoid "Invalid escape sequence \/" error by convert "midas_api_escape_for_url" to a function

Revision 19742  Directory Listing
Modified Thu Mar 29 10:07:57 2012 UTC (5 years, 5 months ago) by jcfr
BUG: Make sure "slash" are escaped when generating URL for MIDAS API

Revision 19741  Directory Listing
Modified Thu Mar 29 06:26:38 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Facilitate re-use by renaming " _SlicerEscapeForUrl" into "midas_api_escape_for_url"

Revision 19740  Directory Listing
Modified Thu Mar 29 06:26:36 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Fix comment within MIDASAPIUpload macros

* Note that more need to be done to complete the documentation of these module

Revision 19739  Directory Listing
Modified Thu Mar 29 05:49:14 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Allow extension download from CDash by adding prefix "http" to default MIDAS_PACKAGE_URL

Revision 19737  Directory Listing
Modified Thu Mar 29 05:49:11 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Facilitate re-use of SlicerFunctionCTestPackage

* Rename "SlicerFunctionCTestPackage" into "CTestPackage"

* Function has now signature "ctest_package"

Revision 19736  Directory Listing
Modified Thu Mar 29 05:49:09 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Facilitate re-use of SlicerFunctionMIDASUploadPackage

* Rename "SlicerFunctionMIDASUploadPackage" into "MIDASAPIUploadPackage"

* Function has now signature "midas_api_upload_package"

Revision 19735  Directory Listing
Modified Thu Mar 29 05:49:06 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Facilitate re-use of SlicerFunctionMIDASLogin

* Rename "SlicerFunctionMIDASLogin" into "MIDASAPILogin"

* Function has now signature "midaS_api_login"

Revision 19734  Directory Listing
Modified Thu Mar 29 05:49:04 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Facilitate re-use of SlicerFunctionMIDASCTestUploadURL

* Rename "SlicerFunctionMIDASCTestUploadURL" into "MIDASCTestUploadURL"

* Function has now signature "midas_ctest_upload_url"

Revision 19733  Directory Listing
Modified Thu Mar 29 05:49:02 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: For sake of consistency - change "downloadFile" macro into "download_file" function

* Within CMake documentation, function/macro are written in lower case
with underscore.

Revision 19732  Directory Listing
Modified Thu Mar 29 05:49:01 2012 UTC (5 years, 5 months ago) by jcfr
STYLE: Fix typo in comment and rename CMake variables anticipating possible re-use

Revision 19731  Directory Listing
Modified Thu Mar 29 03:05:25 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Facilitate re-use of "SlicerFunctionCTestPackage"

* This is done by removing dependency to "SlicerMacroParseArguments"
and by using the module "CMakeParseArguments" introduced in CMake 2.8.3

See http://www.cmake.org/Wiki/CMake_Version_Compatibility_Matrix/StandardCMakeModules

Revision 19730  Directory Listing
Modified Thu Mar 29 03:05:23 2012 UTC (5 years, 5 months ago) by jcfr
COMP: Avoid interpretation error within error message displayed in PreventInSourceBuilds

* Use consistently "-sandbox", before -Sandbox" was also used.

* Also generalize PreventInSourceBuilds.cmake macro for possible contribution to CMake.

Revision 19721  Directory Listing
Modified Tue Mar 27 23:14:59 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Prevent confusion by moving code related to build system under CMake dir

Revision 19715  Directory Listing
Modified Tue Mar 27 18:40:24 2012 UTC (5 years, 6 months ago) by jcfr
ENH: Add script allowing to easily verify if a Slicer bundle is consistent

Usage:
 cmake -DSlicer_INSTALL_DIR:PATH=/path/to/_CPack_Packages/macosx-amd64/DragNDrop/Slicer-4.1.0-rc2-2012-03-27-macosx-amd64 -P /path/to/CMake/SlicerCPackBundleVerify.cmake

Revision 19714  Directory Listing
Modified Tue Mar 27 18:40:22 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Easier maintenance of build system by renaming "SlicerExtensionCompleteBundle" into "SlicerExtensionCPackBundleFixup"

Revision 19713  Directory Listing
Modified Tue Mar 27 18:40:20 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Easier maintenance of build system by renaming "SlicerCompleteBundles" into "SlicerCPackBundleFixup"

Revision 19712  Directory Listing
Modified Tue Mar 27 18:40:18 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Prevent confusion bymoving SlicerCompleteBundles.cmake.in in CMake dir.

* Also update SlicerCPack.cmake so that configured files are created within
<Slicer_BINARY_DIR>/CMake

Revision 19684  Directory Listing
Modified Thu Mar 22 08:13:30 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Allow extension to include testing macros.

* Split CMake/TestingMacros.h into MRML/Core/{vtkMRMLCoreTestingMacros, vtkMRMLDebugLeaksMacro}

* MRML/Core being a directory already included, when building extension
the header providing the testing macro will be found.

* Also split the macro allowing to consider leaks as error into "vtkMRMLDebugLeaksMacro.h"

Revision 19683  Directory Listing
Modified Thu Mar 22 08:12:27 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Remove deprecated macro

* Removed macro ctkFail, ctkVerify, ... and convert test that where depending
on these macros to use "ctkTest" framework based on QtTest.

Revision 19682  Directory Listing
Modified Thu Mar 22 05:33:21 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Allow extension to update Slicer_Module*_INCLUDE_DIRS variables

* This is similar to what's done in Slicer/CMakeLists.txt.

* Doing so ensure that the variable are globally updated.

Revision 19681  Directory Listing
Modified Thu Mar 22 04:53:31 2012 UTC (5 years, 6 months ago) by jcfr
STYLE: Display name of export header when configuring loadable module

* Thanks to Andriy for suggesting the idea :)

Revision 19680  Directory Listing
Modified Thu Mar 22 04:53:28 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Allow configuration of extension being developed by relaxing constraints on some of metadata

* If the following variable are not defined, an AUTHOR_WARNING will be displayed
instead of a FATAL_ERROR:
- EXTENSION_ICONURL
- EXTENSION_CONTRIBUTORS
- EXTENSION_DESCRIPTION
- EXTENSION_SCREENSHOTURLS

Revision 19678  Directory Listing
Modified Wed Mar 21 21:16:25 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Fix packaging issue by ensuring 'SlicerFunctionMIDASLogin' is included.

Revision 19677  Directory Listing
Modified Wed Mar 21 21:16:23 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Minimize confusion by using the shared library wrapper provided by SlicerExecutionModel

Revision 19660  Directory Listing
Modified Tue Mar 20 06:18:51 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Ensure environment is properly set by using launcher within SIMPLE_TEST macro.

* This fix a regression introduced by r16655 and r16656

Revision 19656  Directory Listing
Modified Mon Mar 19 09:04:26 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Add missing macro

Revision 19650  Directory Listing
Modified Mon Mar 19 04:21:54 2012 UTC (5 years, 6 months ago) by jcfr
COMP: Prevent confusion by removing unused CMake macro

Revision 19644  Directory Listing
Modified Mon Mar 19 04:21:39 2012 UTC (5 years, 6 months ago) by jcfr
ENH: Extension package are now properly "fixed up" on MacOX

* 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".

Revision 19643  Directory Listing
Modified Mon Mar 19 04:21:37 2012 UTC (5 years, 6 months ago) by jcfr
ENH: Facilitate code maintenance by abstracting the operating system names.

* Introduced CMake variables and macros named Slicer_OS_{LINUX, MAC, WIN}_NAME

* Update the CMake script referencing hard coded operating system names

* Note that since the dashboard driver script id downloaded as a single file,
the operating system name is still hard coded. Ideally, the driver script
could downloaded some additional script providing the requested information.

Revision 19602  Directory Listing
Modified Wed Mar 14 14:22:53 2012 UTC (5 years, 6 months ago) by finetjul
STYLE: Ignore catch warning on Structured exceptions in visual studio 

Informational: catch(...) semantics changed since Visual C++ 7.1; structured exceptions (SEH) are no longer caught

Revision 19563  Directory Listing
Modified Sun Mar 11 22:00:43 2012 UTC (5 years, 6 months ago) by finetjul
COMP: Missing end quote in CTestCustom.cmake

Revision 19560  Directory Listing
Modified Sat Mar 10 16:58:32 2012 UTC (5 years, 6 months ago) by finetjul
COMP: Remove various warnings

Unused variable
Third party warnings
Doxygen warnings

Revision 19464  Directory Listing
Modified Wed Feb 29 05:15:31 2012 UTC (5 years, 6 months ago) by jcfr
BUG: Package extension as "zip" on windows so that extraction works

* If not, "vtkArchive::extract_tar()" outputs the following message:

"Problem with archive_read_open_file(): Can't initialize filter; unable to
run program "gunzip"

* While working on that issue, the latest stable version(3.0.3) have been
tested and can be compiled statically on both windows-32bit and linux.
(Didn't try to build on windows 64bit)

To successfully compile and link statically:
 1) link against libarchive_static instead of libarchive
 2) add_definitions(-DLIBARCHIVE_STATIC)

Revision 19456  Directory Listing
Modified Tue Feb 28 08:56:56 2012 UTC (5 years, 6 months ago) by jcfr
ENH: Keep track of web API call associated with midas package/extension upload macros

* This is done by logging the information into a file.

Revision 19448  Directory Listing
Modified Tue Feb 28 00:25:43 2012 UTC (5 years, 6 months ago) by jcfr
ENH: Simplify mechanism allowing to manage external project dependency for Superbuild based extensions.

* Macros SlicerMacroCheckExternalProjectDependency and SlicerMacroEmptyExternalProject
can now be re-used

* Update extension template

* Let's note that if no dependency are specified an empty string should be used.

Valid:
  set(${EXTENSION_NAME}_DEPENDENCIES "")

Invalid:
  set(${EXTENSION_NAME}_DEPENDENCIES )

* Dependencies can be specified like a list:

  set(${EXTENSION_NAME}_DEPENDENCIES dep1 dep2)

This implies the file:
  External_dep1.cmake  and External_dep2.cmake

exist in the SuperBuild folder.

Revision 19425  Directory Listing
Modified Mon Feb 27 08:16:30 2012 UTC (5 years, 6 months ago) by jcfr
ENH: Extension - Upload  "homepage", "description", "repository_type" and "enabled" metadata

* The script allowing to parse/generate extension description have been
updated and simplified

* The extension property "enabled" has been introduced, it allow to optionally
specify if an option should be disabled after its installation.

Revision 19397  Directory Listing
Modified Sun Feb 26 13:31:49 2012 UTC (5 years, 7 months ago) by lorensen
BUG: ITKv4 could not be packaged in Slicer4

The Slicer4 package did not contain the libraries for ITKv4. ITKv4's
packaging is slightly different from ITKv3's.

In ITKv4, there are no defined install components, so
CMake/SlicerBlockInstallCMakeProjects.cmake was changed to install
"all" for ITKv4.

In ITKv4, the cmake variable for library prefix is
ITK_INSTALL_LIBRARY_DIR rather than ITK_INSTALL_LIB_DIR.


Revision 19396  Directory Listing
Modified Sun Feb 26 04:50:32 2012 UTC (5 years, 7 months ago) by finetjul
BUG: Fix generic tests for loadable modules resource dependent

qSlicerMultiVolumeModule is one of them, it needs to find the python path
to instantiate the module widget.

Revision 19377  Directory Listing
Modified Fri Feb 24 22:36:20 2012 UTC (5 years, 7 months ago) by finetjul
ENH: Add --testing launcher argument

By being in testing mode, it uses different settings than user settings.

Revision 19248  Directory Listing
Modified Tue Feb 7 16:08:05 2012 UTC (5 years, 7 months ago) by finetjul
STYLE: Rename qSlicerModuleTest1.py.in into qSlicerModuleGenericTest.py.in

Move testing of Modules/Scripted/Scripts into a Python subdirectory

Revision 19236  Directory Listing
Modified Tue Feb 7 02:06:52 2012 UTC (5 years, 7 months ago) by jcfr
BUG: In dashboard driver script, "setIfNotDefined" macro should be defined before it's used.

Revision 19232  Directory Listing
Modified Mon Feb 6 23:28:14 2012 UTC (5 years, 7 months ago) by finetjul
ENH: Improve generic module tests

qSlicerAbstractCoreModule::categories() and contributor() are mandatory
minimumSizeHint width is 500px

Revision 19228  Directory Listing
Modified Mon Feb 6 21:47:31 2012 UTC (5 years, 7 months ago) by jcfr
ENH: run_ctest_* variables can be set from the caller (dashboard) script itself.

* This will allow more customization. The script associated with the release
of Slicer will now be able to explicitly disable to the update step so that
the any revision number could be considered.

Revision 19226  Directory Listing
Modified Mon Feb 6 21:04:30 2012 UTC (5 years, 7 months ago) by jcfr
ENH: Update slicerpackages web API call to match new naming convention

Revision 19225  Directory Listing
Modified Mon Feb 6 21:04:28 2012 UTC (5 years, 7 months ago) by jcfr
ENH: Extensions are now downloaded from Midas instead of CDash

* Use qMidasAPI library instead of qCDashAPI

* Configuring an extension description file using package name is not required
anymore. Metadata associated with a package will be directly sent to MIDAS
using the web API.

Revision 19222  Directory Listing
Modified Mon Feb 6 21:04:22 2012 UTC (5 years, 7 months ago) by jcfr
ENH: Update and improve extension build system

* Use recently added function SlicerFunctionMIDASUploadExtension

* Add a CMakeLists to Slicer/Extensions/CMake allowing to build the extensions
as a standalone project independently of Slicer.

For example:
 mkdir SlicerExtentions-build
 cd SlicerExtentions-build
 cmake -DSlicer_UPLOAD_EXTENSIONS:BOOL=ON -DSlicer_DIR:PATH=/home/jchris/Projects/Slicer4-Superbuild-Debug/Slicer-build/ ../Slicer4/Extensions/CMake/
 make

* Mote that it's still possible to build Slicer with the options Slicer_BUILD_EXTENSIONS
and Slicer_UPLOAD_EXTENSIONS

What's next?
 * Integrate qMidasAPI library instead of qCDashAPI and update extension manager
 * On macosx, update extension packaging (or installation) to properly
fix up extension libraries.

Revision 19220  Directory Listing
Modified Mon Feb 6 21:04:17 2012 UTC (5 years, 7 months ago) by jcfr
ENH: Factor out code from SlicerFunctionMIDASUploadPackage and create  SlicerFunctionMIDASLogin

* Update SlicerFunctionMIDASUploadPackage to just take care of the upload.
Expected parameter are not parsed using "cmake_parse_arguments"

* Add a "test mode" to SlicerFunctionMIDASUploadPackage that allow to
easily send some fake "packages" to a midas instance.

* Driver script - Improve logic allowing to disable any steps

Revision 19219  Directory Listing
Modified Mon Feb 6 21:04:15 2012 UTC (5 years, 7 months ago) by jcfr
COMP: SlicerMacroExtractRepositoryInfo - Use SOURCE_DIR argument instead of CMAKE_CURRENT_SOURCE_DIR

* Doing so will ensure the macro can be used against any source directory.

Revision 19129  Directory Listing
Modified Mon Jan 23 21:25:47 2012 UTC (5 years, 8 months ago) by jcfr
COMP: Revert changes inadvertently introduced into slicerConfig.cmake

Revision 19077  Directory Listing
Modified Thu Jan 12 22:11:35 2012 UTC (5 years, 8 months ago) by jcfr
COMP: Similarly to module located in Slicer source, extension should NOT specify include dirs.

* Thanks to "Andriy Fedorov" for his help in addressing this issue.

Revision 19054  Directory Listing
Modified Wed Jan 11 01:35:53 2012 UTC (5 years, 8 months ago) by jcfr
COMP: find_package(Slicer) can now be called multiple time in a given project.

* This could reveal particularly useful when Slicer extension are build as
part of bigger project where there are multiple call to "find_package(Slicer)"

Revision 19035  Directory Listing
Modified Sat Jan 7 17:49:42 2012 UTC (5 years, 8 months ago) by finetjul
COMP: Fix package name

Release or regular builds are no longer described by Slicer_VERSION_PATCH (just a digit) but Slicer_VERSION_FULL

Revision 19031  Directory Listing
Modified Sat Jan 7 00:13:24 2012 UTC (5 years, 8 months ago) by jcfr
COMP: Make sure "IntDir" is appended to "<APPLAUNCHER_DIR>/bin"

* This should allows EMSegment test to load python module like FreeSurfer.
Indeed, the module can be found in the path including "Debug" or "Release".

* The real question is to understand why Slicer could start without any
problem and why the EMSegment module could NOT. Both were using the Launcher
and the qSlicerApplication.
  In the case of Slicer, the function qSlicerCoreApplication::intDir()
was returning the expected value. (Discovered using the location of SlicerQt-real)
  When used from within EMSegment, the mechanism used to discover intDir based
on the location of the executable failed to do so.
  This problem will be addressed in a other commit.

Revision 19030  Directory Listing
Modified Sat Jan 7 00:13:22 2012 UTC (5 years, 8 months ago) by jcfr
COMP: Template driver script - Change CTEST_TIMEOUT from 100 to 500

* BRAINS test expects longer to run

Revision 19018  Directory Listing
Modified Thu Jan 5 01:58:57 2012 UTC (5 years, 8 months ago) by finetjul
COMP: Install the Qt plugins in the same location lib/QtPlugins

qt.conf doesn't support more than 1 plugin path so the plugins must be
in a unique location ?

Revision 19017  Directory Listing
Modified Thu Jan 5 01:58:54 2012 UTC (5 years, 8 months ago) by finetjul
COMP: qt.conf doesn't handle multiple plugin paths

The plugin path lib/Slicer-4.0 (containing designer and iconengines) is
already add in qSlicerApplication::initStyle()

Revision 19009  Directory Listing
Modified Tue Jan 3 00:12:04 2012 UTC (5 years, 8 months ago) by finetjul
COMP: Qt plugins are in 2 separate directories in install tree

Plugins from Qt are in :
 - lib/QtPlugins (imageformats, sqldrivers)
Plugins from CTK/Slicer are in:
 - lib/Slicer-4.0 (designer, iconengines)

Ideally they should be in a unique location, until then, QT_PLUGIN_PATH is
updated to point to both locations: directories containing the plugin
subdirectories.

Revision 19008  Directory Listing
Modified Sun Jan 1 23:19:34 2012 UTC (5 years, 8 months ago) by finetjul
STYLE: Typo in previous commit: Add code coverage exclusion rules

Revision 19005  Directory Listing
Modified Sat Dec 31 20:58:48 2011 UTC (5 years, 8 months ago) by finetjul
STYLE: Add code coverage exclusion rules

Revision 18984  Directory Listing
Modified Mon Dec 26 17:21:42 2011 UTC (5 years, 9 months ago) by jcfr
STYLE: DashboardDriverScript - Avoid code duplication

Revision 18965  Directory Listing
Modified Tue Dec 20 20:25:57 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move extension specific code from SlicerConfig.cmake to UseSlicer.cmake

* Doing so will allow to invoke find_package(Slicer) avoiding extension
specific setup and sanity checks.

Revision 18964  Directory Listing
Modified Tue Dec 20 19:35:43 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Set CTEST_CONFIGURATION_TYPE in the driver script. Fixes #1532

Since CMake 2.8.2, CTEST_CONFIGURATION_TYPE should be defined to
resolve issue 2336. See http://www.cmake.org/Bug/view.php?id=2336

Revision 18963  Directory Listing
Modified Tue Dec 20 19:35:41 2011 UTC (5 years, 9 months ago) by jcfr
ENH: Configure SlicerConfigVersion.cmake so that find_package(Slicer X.Y.Z) works

See http://www.cmake.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file

Revision 18962  Directory Listing
Modified Tue Dec 20 19:35:36 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Rename variable Slicer_*_VERSION into Slicer_VERSION_* to be consistent with CMake convention.

See http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package

Revision 18957  Directory Listing
Modified Tue Dec 20 01:11:05 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Install and require Qt SVG library. Fixes #1621

* Since the libqvg imageformat plugin was provided by the installer whereas
 the libQtSVG associated library wasn't, on a system where a set of
Qt libraries was already installed, if the version of provided libraries
and the one already installed were different, the plugin dependency were
resolving to the incorrect one.

Revision 18951  Directory Listing
Modified Mon Dec 19 06:22:25 2011 UTC (5 years, 9 months ago) by finetjul
ENH: Cleanup node IDs

Following r18903, this commit fixes the case a)

New behavior:
 - Singleton nodes (vtkMRMLNode::SingletonTag != 0) IDs are now: "vtkMRMLnode::ID" + "vtkMRMLNode::SingletonTag", e.g. "vtkMRMLSliceNodeRed", "vtkMRMLSelectionNodeSingleton"... No incrementing index is used.
 - Default node name (when a node with no name is added into the scene) is vtkMRMLNode::NodeTagName and not vtkMRMLNode::ID
 - When a node ID is changed, vtkMRMLNode fires the event vtkMRMLNode::IDChangedEvent.
This allows qMRMLSceneModel to update its internal map of node IDs.
 - Only the scene and the scene view node can change the ID of the node.
It is no longer possible to request a node ID (vtkMRMLScene::RequestNodeID doesn't exist anymore).
The singleton tag of the vtkMRMLColorNode need to be set before adding the node to the scene.
 - vtkMRMLScene::GetUniqueNameByString() is obsolete, it is kept for compatibility reasons (big code impact), vtkMRMLScene::GenerateUniqueName() should be used instead.
 - Add utility method vtkMRMLScene::GetFirstNodeByName()

Revision 18943  Directory Listing
Modified Thu Dec 15 20:17:43 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Remove unused script Pre283CMakeParseArguments.cmake

* Since the minimum required version of CMake is now 2.8.4, this script
isn't needed anymore.

Revision 18941  Directory Listing
Modified Thu Dec 15 20:10:14 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Change minimum required version of CMake 2.8.4

* This is now consistent to the documented requirement.
See http://wiki.slicer.org/slicerWiki/index.php?title=Documentation/4.0/Developers/Build_Instructions&oldid=22880

Revision 18936  Directory Listing
Modified Thu Dec 15 08:04:36 2011 UTC (5 years, 9 months ago) by jcfr
BUG: Do no install LibArchive if Slicer_BUILD_EXTENSIONMANAGER_SUPPORT is OFF

Revision 18934  Directory Listing
Modified Thu Dec 15 07:45:30 2011 UTC (5 years, 9 months ago) by jcfr
COMP: If it applies, install CMake projects if their associated option is ON

Revision 18931  Directory Listing
Modified Thu Dec 15 07:45:25 2011 UTC (5 years, 9 months ago) by jcfr
ENH: Add Slicer_BUILD_EXTENSIONMANAGER_SUPPORT option

* If disabled:
 - extension manager won't be integrated
 - external project qCDashAPI and LibArchive won't be checkedout

Revision 18929  Directory Listing
Modified Thu Dec 15 07:45:18 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Add Slicer_BUILD_CLI_SUPPORT

* When disabled, neither the CLI factories or the CLI modules will be built.

Revision 18897  Directory Listing
Modified Sat Dec 10 01:08:10 2011 UTC (5 years, 9 months ago) by finetjul
BUG: For package version, overwrite potential SLICER_HOME environment variable.

It doesn't make sense to use Slicer with a different SLICER_HOME env variable.
Env variable is SLICER_HOME
CMake variable is Slicer_HOME
TCL variable is SlicerHome
C++ variable is SlicerHome
C++ method is slicerHome()

Note that the TCL variable SlicerHome is never set.

Revision 18821  Directory Listing
Modified Tue Dec 6 00:09:46 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move vtkSlicer(Version)Configure.h.in into CMake sub-directory

* Also fix a problem related to configuration of script now located in
Utilites/Scripts sub-directory.

Revision 18820  Directory Listing
Modified Tue Dec 6 00:09:44 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move TestingMacros.h into CMake sub-directory

Revision 18819  Directory Listing
Modified Tue Dec 6 00:09:42 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move qSlicerExport.h.in into CMake sub-directory

Revision 18812  Directory Listing
Modified Mon Dec 5 23:19:03 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move SlicerExtensionCPack.cmake into CMake sub-directory

Revision 18811  Directory Listing
Modified Mon Dec 5 23:19:01 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move UseSlicer.cmake.in into CMake sub-directory

Revision 18810  Directory Listing
Modified Mon Dec 5 23:18:59 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move Slicer(Install)Config.cmake.in into CMake sub-directory

Revision 18809  Directory Listing
Modified Mon Dec 5 23:18:57 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move SlicerVersion.txt.in into CMake sub-directory

Revision 18808  Directory Listing
Modified Mon Dec 5 23:18:55 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move SlicerGenerateSlicerConfig.cmake into CMake sub directory

Revision 18807  Directory Listing
Modified Mon Dec 5 23:18:53 2011 UTC (5 years, 9 months ago) by jcfr
COMP: Move SlicerCPack.cmake into CMake sub directory

Revision 18803  Directory Listing
Modified Mon Dec 5 18:33:02 2011 UTC (5 years, 9 months ago) by zach.mullen
ENH: Add new metadata fields when uploading built packages to MIDAS

Revision 18675  Directory Listing
Modified Fri Nov 11 19:44:21 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: Fix macro to upload midas package link to cdash

Revision 18660  Directory Listing
Modified Thu Nov 10 15:16:13 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: correctly detect and pass the OS in package upload script

Revision 18650  Directory Listing
Modified Wed Nov 9 19:14:17 2011 UTC (5 years, 10 months ago) by zach.mullen
ENH: Use explicit bitness value in package upload macro

Revision 18649  Directory Listing
Modified Wed Nov 9 18:47:49 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: When uploading package, use REVISION key rather than VERSION for svn

Revision 18627  Directory Listing
Modified Mon Nov 7 22:26:56 2011 UTC (5 years, 10 months ago) by zach.mullen
ENH: Dashboard package upload scripts should correctly detect repository revision

Revision 18626  Directory Listing
Modified Mon Nov 7 22:22:59 2011 UTC (5 years, 10 months ago) by zach.mullen
ENH: Correctly determine system bitness in package upload dashboard script

Revision 18624  Directory Listing
Modified Mon Nov 7 14:46:10 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: Invert failure condition check from MIDASUploadPackage macro to cover any failure case

Revision 18607  Directory Listing
Modified Fri Nov 4 21:51:35 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: Allow empty strings in midas upload url escaping macro

Revision 18606  Directory Listing
Modified Fri Nov 4 21:36:01 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: midas upload macro: use quotes around escaped vars in case of empty str

Revision 18603  Directory Listing
Modified Fri Nov 4 21:08:54 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: CTEST_BINARY_DIR should be CTEST_BINARY_DIRECTORY in midas upload macro

Revision 18601  Directory Listing
Modified Fri Nov 4 20:46:29 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: Use CTEST_BINARY_DIR for function run from dashboard scripts

Revision 18599  Directory Listing
Modified Fri Nov 4 20:27:51 2011 UTC (5 years, 10 months ago) by zach.mullen
BUG: Use correct project name in MIDASUploadPackage macro

Revision 18519  Directory Listing
Modified Fri Oct 28 02:18:03 2011 UTC (5 years, 10 months ago) by jcfr
COMP: CTestCustom - Limit number of warnings/errors reported to CDash to 1000

Revision 18470  Directory Listing
Modified Tue Oct 25 22:16:17 2011 UTC (5 years, 11 months ago) by pieper
ENH: add some infrastructure for putting slicer data bundle (zipped scene file)

Revision 18428  Directory Listing
Modified Mon Oct 24 07:23:43 2011 UTC (5 years, 11 months ago) by jcfr
COMP: SlicerMacroCheckExternalProjectDependency - Introduce variable EXTERNAL_PROJECT_DIR

* Specifying EXTERNAL_PROJECT_DIR would allow project re-using this macro
to specify the folder containing the External project definitions.

Revision 18416  Directory Listing
Modified Fri Oct 21 13:17:43 2011 UTC (5 years, 11 months ago) by pieper
BUG: fix linux and windows installations of Qt sqlite database installation packages

Revision 18362  Directory Listing
Modified Tue Oct 18 23:08:09 2011 UTC (5 years, 11 months ago) by jcfr
COMP: DashboardDriverScript - Append "-Packages" to track name when WITH_PACKAGES is ON

Revision 18292  Directory Listing
Modified Fri Oct 7 15:04:48 2011 UTC (5 years, 11 months ago) by jcfr
COMP: SlicerDashboardDriverScript - Append CTEST_LOG_FILE to CTEST_NOTES_FILES if ti applies

Revision 18291  Directory Listing
Modified Fri Oct 7 14:44:26 2011 UTC (5 years, 11 months ago) by zach.mullen
BUG: Include required cmake parse arguments module to fix dashboard packages

Revision 18289  Directory Listing
Modified Thu Oct 6 22:08:27 2011 UTC (5 years, 11 months ago) by zach.mullen
ENH: Add function to upload packages to MIDAS

Revision 18288  Directory Listing
Modified Thu Oct 6 22:03:10 2011 UTC (5 years, 11 months ago) by jcfr
ENH: Add SlicerFunctionMIDASCTestUploadURL

Compute and upload to CTest the URL of the 'filepath' that has been
previously uploaded to MIDAS.

Revision 18284  Directory Listing
Modified Thu Oct 6 01:06:07 2011 UTC (5 years, 11 months ago) by jcfr
COMP: Install CTK plugins and apps also if building a mac bundle

Revision 18283  Directory Listing
Modified Thu Oct 6 01:06:06 2011 UTC (5 years, 11 months ago) by jcfr
COMP: Simplify SlicerBlockInstallDCMTKApps.cmake

Revision 18230  Directory Listing
Modified Thu Sep 29 08:09:38 2011 UTC (5 years, 11 months ago) by jcfr
BUG: AppLauncherSettings - Do not use "INSTALL_" qualifier for build tree settings

Revision 18229  Directory Listing
Modified Thu Sep 29 07:24:00 2011 UTC (5 years, 11 months ago) by jcfr
ENH: Wrapped Qt libraries can now be loaded as regular python module

Revision 18157  Directory Listing
Modified Wed Sep 21 19:50:42 2011 UTC (6 years ago) by jcfr
STYLE: Remove year from Kitware copyright

Revision 18143  Directory Listing
Modified Wed Sep 21 19:48:53 2011 UTC (6 years ago) by jcfr
BUG: Update qSlicerCoreApplication and Launcher Settings - SLICER_HOME and not Slicer_HOME

* Environment variable are upper cased

* May be we should think about having the prefix "SLICER_" following the
same "case" as vtkSlicerConfigure.h" ?

Revision 18134  Directory Listing
Modified Wed Sep 21 18:59:36 2011 UTC (6 years ago) by pieper
BUG: oops - fix arguments of cmake install directive

Revision 18133  Directory Listing
Modified Wed Sep 21 18:53:23 2011 UTC (6 years ago) by pieper
BUG: fix permissions so that installed helper apps can be executed

Revision 18084  Directory Listing
Modified Fri Sep 16 15:06:09 2011 UTC (6 years ago) by jcfr
COMP: SlicerLauncherSettings - Add Slicer_HOME to "build" environment

* The addition of Slicer_HOME to the build environment has been motivated
by EMSegmentCommandLine executable. Indeed, this CLI is instantiating
qSlicerApplication which requires Slicer_HOME to be set so that it could
properly initialize the python environment and execute both python
and Tcl scripts.

Revision 18083  Directory Listing
Modified Fri Sep 16 15:06:07 2011 UTC (6 years ago) by jcfr
COMP: slicerMacroBuildQtModule - Add NO_TITLE option

Usually, one module per directory is defined. Trying to build two modules
from the same directory will lead to a multiple definition warning related
to QTMODULE_TITLE macro.

By passing the option NO_TITLE, the macro won't be re-define and we
will avoid the issue. Doing so implies that we directly hardcode the
title in qSlicer<MODULENAME>Module.h

Revision 18082  Directory Listing
Modified Fri Sep 16 15:06:05 2011 UTC (6 years ago) by jcfr
COMP: Build QtModule/ModuleQtLibrary macro - Make sure to clear variables

* Macro like QT4_ADD_RESOURCES, QT4_WRAP_UI and QT4_WRAP_CPP will append
source filenames to the variable passed as parameter.
Let's make sure to clear these variable in case multiple invocation of
these macro is done within the same directory.

Revision 18065  Directory Listing
Modified Thu Sep 15 19:28:32 2011 UTC (6 years ago) by pieper
COMP: include dcmdump in the slicer packages

Revision 18063  Directory Listing
Modified Thu Sep 15 17:36:22 2011 UTC (6 years ago) by finetjul
COMP: Use CTEST_CMAKE_GENERATOR instead of CMAKE_GENERATOR

CMAKE_GENERATOR is not yet defined at this stage.
The result of the test being false, CTEST_USE_LAUNCHER was never set to 1.

Revision 18056  Directory Listing
Modified Wed Sep 14 22:42:57 2011 UTC (6 years ago) by pieper
COMP: fix typo in install rule for mac

Revision 18050  Directory Listing
Modified Wed Sep 14 18:40:03 2011 UTC (6 years ago) by pieper
COMP: add dcmtk utility executables to packages

Revision 18037  Directory Listing
Modified Tue Sep 13 15:42:58 2011 UTC (6 years ago) by finetjul
COMP: Use CTEST_USE_LAUNCHER for dashboards

False errors where reported on Mac dashboards (building cmcurl) because the compilation outputs were mixed up.
More info:
http://www.cmake.org/pipermail/cmake/2011-May/044448.html
http://www.kitware.com/blog/home/post/11
See below for an example:

/Developer/SDKs/MacOSX10.6.sdk/usr/include/secure/_stdio.h:53:1: warning: this is the location of the previous definition
In file included from /.../Slicer-build-64bits-QT4.7-PythonQt-With-Tcl-CLI-Release-nightly/cmcurl/hostip6.c:84:
/.../Slicer-build-64bits-QT4.7-PythonQt-With-Tcl-CLI-Release-nightly/cmcurl/slicerlibcurl/slicerlibcurl/mprintf.h:48:1: warning: "vsprintf" redefined
[ 50%] Building C object CMakeFiles/slicerlibcurl.dir/http_digest.o
In file included from /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdio.h:443/.../Slicer-build-64bits-QT4.7-PythonQt-With-Tcl-CLI-Release-nightly/tcl/tk/unix/../generic/tkArgv.c:181: warning: cast from pointer to integer of different size,
                 from /.../Slicer-build-64bits-QT4.7-PythonQt-With-Tcl-CLI-Release-nightly/cmcurl/setup.h:101,
                 from /.../Slicer-build-64bits-QT4.7-PythonQt-With-Tcl-CLI-Release-nightly/cmcurl/setup.h:101,
                 from /.../Slicer-build-64bits-QT4.7-PythonQt-With-Tcl-CLI-Release-nightly/cmcurl/hostip4.c:24:
In file included from /.../Slicer-build-64bits-QT4.7-PythonQt-With-Tcl-CLI-Release-nightly/cmcurl/hostsyn.c:84/Developer/SDKs/MacOSX10.6.sdk/usr/include/secure/_stdio.h:60:1: ,
                 from /.../Slicer-build-64bits-QT4.7-PythonQt-With-Tcl-CLI-Release-nightly/cmcurl/hostip.c:24warning: 
:
:
this is the location of the previous definition,
[ 37%] Building C object SRC/CMakeFiles/lapack.dir/chpgv.c.o
[ 52%] Building C object CMakeFiles/slicerlibcurl.dir/http_negotiate.o

The line ending with "_stdio.h:60:1: ," was reported as an error

Revision 18025  Directory Listing
Modified Mon Sep 12 13:25:00 2011 UTC (6 years ago) by finetjul
COMP: Hide tcl/tk warning message reports

Revision 18022  Directory Listing
Modified Mon Sep 12 03:00:34 2011 UTC (6 years ago) by finetjul
COMP: Restore error reports.

The error exception "([^ :]+):([0-9]+): ([^ \\t])" was too strong and didn't reports true errors.

Revision 17977  Directory Listing
Modified Tue Sep 6 06:52:34 2011 UTC (6 years ago) by jcfr
ENH: Extension CLI modules can depends on loadable module libraries within the same extension.

* Note that dependency between extensions are not yet fully supported.
We could either:
  - Modify the launcher to support an external list of PATH, ... specified
within a know ini file.
  - Update SlicerLauncherSettings.ini from the application

Revision 17976  Directory Listing
Modified Tue Sep 6 06:52:26 2011 UTC (6 years ago) by jcfr
COMP: Option Slicer_BUILD_{CLI, LOADABLEMODULES, SCRIPTEDMODULES} shouldn't disable the functionality itself

* Enabling/Disabling these options will/will not build the modules existing
in the Slicer source tree but the code allowing to load such module will
be compiled.

Revision 17906  Directory Listing
Modified Wed Aug 31 00:28:18 2011 UTC (6 years ago) by jcfr
COMP: ctkMacroCompilePythonScript - Use option NO_INSTALL_SUBDIR instead of appending a "/"

* Also updated CTK tag to include topic "ctkMacroCompilePythonScript-add-no-install-subdir-option"

* This should solve issue preventing the python script to be compiled when
doing a clean build.

Revision 17886  Directory Listing
Modified Tue Aug 30 07:07:59 2011 UTC (6 years ago) by finetjul
ENH: Split module testing between core and gui

qSlicerModuleTest1 tests the module with a qSlicerCoreApplication
qSlicerModuleTest2 tests the module with a qSlicerApplication and instanciate a widget representation

Revision 17877  Directory Listing
Modified Mon Aug 29 21:44:16 2011 UTC (6 years ago) by ilknur.kabul
BUG: INSTALL_DIR is modified to install scripts into Python directory
Add "/" to force script to be installed into Python folder instead of Python/Python

Revision 17860  Directory Listing
Modified Fri Aug 26 21:26:55 2011 UTC (6 years, 1 month ago) by jcfr
COMP: Use SlicerExecutionModel_CMAKE_DIR instead of SlicerExecutionModel_MACROS

Revision 17857  Directory Listing
Modified Fri Aug 26 21:26:48 2011 UTC (6 years, 1 month ago) by jcfr
COMP: Rename Slicer_INSTALL_PLUGINS_LIB_DIR CMake variable into Slicer_INSTALL_CLIMODULES_LIB_DIR

Revision 17856  Directory Listing
Modified Fri Aug 26 21:26:44 2011 UTC (6 years, 1 month ago) by jcfr
COMP: Rename Slicer_INSTALL_PLUGINS_BIN_DIR CMake variable into Slicer_INSTALL_CLIMODULES_BIN_DIR

Revision 17854  Directory Listing
Modified Fri Aug 26 21:26:33 2011 UTC (6 years, 1 month ago) by jcfr
COMP: Rename Slicer_PLUGINS_LIB_DIR CMake variable into Slicer_CLIMODULES_LIB_DIR

Revision 17853  Directory Listing
Modified Fri Aug 26 21:26:29 2011 UTC (6 years, 1 month ago) by jcfr
COMP: Rename Slicer_PLUGINS_BIN_DIR CMake variable into Slicer_CLIMODULES_BIN_DIR

Revision 17839  Directory Listing
Modified Thu Aug 25 22:06:35 2011 UTC (6 years, 1 month ago) by ilknur.kabul
COMP: Add missing path to launcher settings

* qt-loadable-modules should be added to the python path

Revision 17814  Directory Listing
Modified Tue Aug 23 23:58:22 2011 UTC (6 years, 1 month ago) by jcfr
ENH: slicerMacroBuildCLI - Do not explicitly set CLI_XML_FILE

* The xml could be either:
 - in the source directory
 - in the build directory (case where the xml file is configured. See CLIExtensionTemplate)

Revision 17811  Directory Listing
Modified Tue Aug 23 23:06:34 2011 UTC (6 years, 1 month ago) by jcfr
COMP: Factor CMake code and add SlicerBlockInstallQtPlugins

* Also make sure Qt plugins are installed on all platform

Revision 17787  Directory Listing
Modified Mon Aug 22 12:42:14 2011 UTC (6 years, 1 month ago) by pieper
BUG: install database drivers to support Qt access to sqlite

To access sqlite, qt needs database drivers.  In the build tree,
this means the launcher must correctly set the QT_PLUGIN_PATH.
In the install tree, cpack must copy the plugins to the installation
and the core application must set the path programmatically.


Revision 17786  Directory Listing
Modified Mon Aug 22 01:26:00 2011 UTC (6 years, 1 month ago) by hjohnson
COMP: Set BRAINSTools building for ITKv3 and ITKv4

BRAINSTools is built quite differently for ITKv3 and
ITKv4.  This separates they way they are configured.

Added BRAINSTools as an External_Project for ITKv4,
and left it as an internal build for ITKv3.

Revision 17782  Directory Listing
Modified Mon Aug 22 01:25:21 2011 UTC (6 years, 1 month ago) by hjohnson
COMP: Prefer system CMakeParseArguments when >=2.8.3

Revision 17781  Directory Listing
Modified Mon Aug 22 01:25:19 2011 UTC (6 years, 1 month ago) by hjohnson
ENH:  Refactored building CLI program Macro

Broake the macro for building CLI tools into
two sections.  The primary generic version
is distributed with the SlicerExecutiomModel,
and the Slicer specific version is a wrapper
that sets the standard defaults to work with Slicer.

Revision 17644  Directory Listing
Modified Fri Jul 29 17:57:29 2011 UTC (6 years, 1 month ago) by jcfr
ENH: SlicerDashboardDriverScript - Add CTEST_TRACK_SUFFIX option

* By specifying a track suffix, the dashboard will be submitted to
the track named "<MODLE><TRACK_SUFFIX>"

Revision 17643  Directory Listing
Modified Fri Jul 29 17:57:28 2011 UTC (6 years, 1 month ago) by jcfr
STYLE: SlicerDashboardDriverScript/Template - Fix indent, Comment shoud start with upper case letter

Revision 17623  Directory Listing
Modified Fri Jul 29 16:15:36 2011 UTC (6 years, 1 month ago) by jcfr
BUG: SlicerMacroPythonWrapModuleVTKLibrary - Update INSTALL_DIR

* Add "/" to force script to be installed into Python folder instead of Python/Python

Revision 17610  Directory Listing
Modified Fri Jul 29 16:14:58 2011 UTC (6 years, 1 month ago) by jcfr
ENH: Introduce Slicer_QTLOADABLEMODULES_PYTHON_LIB_DIR variable

* This variable points to the location of python scrips associated
with a Qt loadable module.

Revision 17609  Directory Listing
Modified Fri Jul 29 16:14:56 2011 UTC (6 years, 1 month ago) by jcfr
COMP: SlicerMacroBuildModule{Logic, MRML} - Set output directory

Revision 17608  Directory Listing
Modified Fri Jul 29 16:14:54 2011 UTC (6 years, 1 month ago) by jcfr
COMP: Export Python and PythonD targets

Revision 17607  Directory Listing
Modified Fri Jul 29 16:14:51 2011 UTC (6 years, 1 month ago) by jcfr
ENH: findGit.cmake / Macro GIT_WC_INFO - Implement a more robust mechanism to check for git-svn

* Use [config --get-regexp "^svn-remote"] instead of [config --list]

Revision 17606  Directory Listing
Modified Fri Jul 29 16:14:49 2011 UTC (6 years, 1 month ago) by jcfr
BUG: Fix typo in macro GIT_WC_INFO provided by FindGit.cmake

Revision 17605  Directory Listing
Modified Fri Jul 29 16:14:48 2011 UTC (6 years, 1 month ago) by jcfr
ENH: Python - slicer/util - Add importVTKClasses and importVTKClassesFromDirectory

importVTKClassesFromDirectory: This function allows to select python
files located in a given directory and then call importVTKClasses
on each one of them.

importVTKClasses: This function allows to import the classes of a
VTK module into a given module identified by its name.

Revision 17588  Directory Listing
Modified Thu Jul 28 14:49:26 2011 UTC (6 years, 2 months ago) by domibel
ENH: Add variable CTEST_PARALLEL_LEVEL (default: 8)

Revision 17532  Directory Listing
Modified Wed Jul 20 19:42:36 2011 UTC (6 years, 2 months ago) by pieper
COMP: speed up superbuild compilation - only call git svn info if needed

When a git clone of slicer is not connected to svn, then
git svn info can take a long time to run (needs several network
timeouts or something).  This new version checks to see if the string
svn-remote shows up in the git config and only if it is there will
the git svn info command be invoked.

Revision 17511  Directory Listing
Modified Mon Jul 18 23:18:20 2011 UTC (6 years, 2 months ago) by jcfr
ENH: SlicerBlockSetCMakeOSXVariable - Add support for macosx 10.7 (Lion)

Revision 17488  Directory Listing
Modified Wed Jul 13 23:53:05 2011 UTC (6 years, 2 months ago) by jcfr
BUG: Launcher Settings - Set SLICER_PYTHONHOME using Slicer_SUPERBUILD_DIR

On windows, python library is build into different folder specific to the
bitness. For example:
 * 32bits:  /path/to/python/PCBuild/
 * 64bits:  /path/to/python/PCBuild/amd64/

* Relying on the location the python library to compute PYTHONHOME
correctly would mean a test for the bitness coupled with some complicated
logic should have been done.

* Appending "python-build" to Slicer_SUPERBUILD_DIR allow to keep things simple

* Drawback: Doing so force to know about the directory layout associated with the
external project of slicer. (ie "python-build" subfolder).
Passing PYTHONHOME variable when configuring Slicer could avoid that.

Revision 17487  Directory Listing
Modified Wed Jul 13 23:53:03 2011 UTC (6 years, 2 months ago) by jcfr
BUG: LauncherSettings - NUMPY library path are now properly set

Revision 17485  Directory Listing
Modified Wed Jul 13 23:53:00 2011 UTC (6 years, 2 months ago) by jcfr
COMP: CTestCustom - Exclude python warning

python/Modules/expat/xmlparse.c:3774: warning: passing argument 1 of 'normalizePublicId' discards qualifiers from pointer target type

See http://www.cdash.org/slicer4/viewBuildError.php?type=1&buildid=596

Revision 17462  Directory Listing
Modified Tue Jul 12 01:24:13 2011 UTC (6 years, 2 months ago) by jcfr
COMP: External_python - To avoid build errors, explicitly disable parallel build using '-j1'

Revision 17461  Directory Listing
Modified Tue Jul 12 01:24:11 2011 UTC (6 years, 2 months ago) by jcfr
STYLE: Fix comment in SlicerBlockInstallPython

Revision 17460  Directory Listing
Modified Tue Jul 12 00:38:43 2011 UTC (6 years, 2 months ago) by jcfr
COMP: SlicerBlockInstallPython - Exclude 'lib-dynload' instead of 'site-packages'

* If python build process happens as "expected", the libraries should be located
in both 'site-packages' and 'lib-dynload'. Nevertheless, for some reason
yet to be discovered, the directory 'lib-dynload' could end up empty !
Excluding the library from 'site-packages' may result in Slicer package
without any python libraries at all. To avoid such problem, the folder
'lib-dynload' is now excluded instead of just the libraries located in 'site-packages'.

Revision 17456  Directory Listing
Modified Mon Jul 11 00:54:15 2011 UTC (6 years, 2 months ago) by jcfr
COMP: CTestCustom - Exclude warnings related to log4qt and dcmtk

Revision 17452  Directory Listing
Modified Sun Jul 10 23:33:37 2011 UTC (6 years, 2 months ago) by jcfr
ENH: SlicerMacroBuildModule{Logic, MRML} - Add NO_INSTALL option

Revision 17451  Directory Listing
Modified Sun Jul 10 23:33:35 2011 UTC (6 years, 2 months ago) by jcfr
ENH: SlicerMacroBuildModuleVTKLibrary - Add NO_INSTALL option

Revision 17450  Directory Listing
Modified Sun Jul 10 23:33:34 2011 UTC (6 years, 2 months ago) by jcfr
ENH: SlicerMacroBuildModuleWidgets - Add NO_INSTALL option

Revision 17449  Directory Listing
Modified Sun Jul 10 23:33:32 2011 UTC (6 years, 2 months ago) by jcfr
ENH: SlicerMacroBuildModuleQtLibrary - Add NO_INSTALL option

Revision 17448  Directory Listing
Modified Sun Jul 10 23:33:31 2011 UTC (6 years, 2 months ago) by jcfr
ENH: slicerMacroBuildQtModule - Add NO_INSTALL option

Revision 17447  Directory Listing
Modified Sun Jul 10 19:53:19 2011 UTC (6 years, 2 months ago) by jcfr
COMP: SlicerBlockInstallPython - Exclude site-packages/*.so libraries

* Libraries directly located under 'site-packages' directory are
duplicate of the library located under 'lib-dynload' directory.

* Duplicate library are not properly fixed. Indeed, it's safe to assume
fixup_bundle identify each library by its name, a same library
 being in both site-packages and lib-dynload will be fixed only once.* Libraries directly located under site-packages directory are a duplicates
of the library located under lib-dynload directory.

Revision 17445  Directory Listing
Modified Sun Jul 10 19:36:42 2011 UTC (6 years, 2 months ago) by jcfr
ENH: Add option NO_INSTALL to slicerMacroBuildCLI

Revision 17444  Directory Listing
Modified Sun Jul 10 19:36:40 2011 UTC (6 years, 2 months ago) by jcfr
BUG: SlicerBlockInstallPython - Fix regualar expression

"[-]" should be used instead of "-". Indeed using"-" alone means that
the regex will match any character in range on either side of a dash.


See http://www.cmake.org/Wiki/CMake_FAQ#Which_regular_expressions_are_supported_by_CMake.3F

Revision 17428  Directory Listing
Modified Sun Jul 10 03:49:22 2011 UTC (6 years, 2 months ago) by jcfr
BUG: Fix _SlicerBlockFindQtAndCheckVersion

* Add quote around the variable so that "if" can consider the content of the variable
and not the fact the variable is defined.
See http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:if

* Print a more explicit error message in case a module is not found

Revision 17416  Directory Listing
Modified Sat Jul 9 09:58:49 2011 UTC (6 years, 2 months ago) by jcfr
COMP: LauncherSettings - numpy/lib and numpy/core should be added to library path instead of python path

Revision 17415  Directory Listing
Modified Sat Jul 9 08:12:02 2011 UTC (6 years, 2 months ago) by jcfr
COMP: Package/MacOXS - Tcl External project should be installed as a "regular" project

* Since tcl/Tk libraries should be installed with their dependent "tcl" files,
relying on solely the bundle process is not sufficient.

Revision 17414  Directory Listing
Modified Sat Jul 9 06:55:11 2011 UTC (6 years, 2 months ago) by jcfr
COMP: LauncherSettings - Add ModuleDescriptionParser library directory to list of library path

* Since ModuleDescriptionParser is now provided by the external project SlicerExecutionModel,
the library are not built in the common location.

Revision 17395  Directory Listing
Modified Fri Jul 8 19:15:22 2011 UTC (6 years, 2 months ago) by jcfr
COMP: No extra "/" is required when using Slicer_INSTALL_ROOT

Revision 17389  Directory Listing
Modified Fri Jul 8 09:43:02 2011 UTC (6 years, 2 months ago) by jcfr
ENH: Make sure PYTHONHOME is defined

* When Slicer is installed, doing will ensure sys.path doesn't contain
paths associated with the build tree.

Revision 17362  Directory Listing
Modified Wed Jul 6 23:56:13 2011 UTC (6 years, 2 months ago) by jcfr
ENH: Prevent in build installs

* Adapated from ITKv4/CMake/PreventInBuildInstalls.cmake

Revision 17361  Directory Listing
Modified Wed Jul 6 23:56:11 2011 UTC (6 years, 2 months ago) by jcfr
ENH: Prevent in source build

* Adapated from ITKv4/CMake/PreventInSourceBuilds.cmake

Revision 17348  Directory Listing
Modified Wed Jul 6 20:42:46 2011 UTC (6 years, 2 months ago) by jcfr
BUG: Add SlicerExecutionModel to SlicerBlockInstallCMakeProjects.cmake

* Doing so will ensure the libraries associated with SlicerExecutionmodel
are packaged with Slicer

Revision 17347  Directory Listing
Modified Wed Jul 6 20:42:40 2011 UTC (6 years, 2 months ago) by jcfr
ENH: Move CLI module sources and tests to a dedicated folder

* This is a first step toward the modularization of Slicer

* The different steps are described below:

# Make cli module directory
cd Applications/CLI
ls -1 *.xml | cut -d'.' -f1 | xargs mkdir

# Open each future CMakeLists.txt using gedit
for i in `ls -1 *.xml | cut -d'.' -f1`; do `gedit $i/CMakeLists.txt&` ; done

# Manual operation: Copy CMake code from Applications/CLI/CMakeLists.txt to each CMakeLists.txt

# Make cli Tesing module directory
for i in `ls -1 *.xml | cut -d'.' -f1`; do mkdir $i/Testing ; done

# Open each future Testing/CMakeLists.txt using gedit
for i in `ls -1 *.xml | cut -d'.' -f1`; do `gedit $i/Testing/CMakeLists.txt&` ; done

# Manual operation: Copy CMake code from Applications/CLI/CMakeLists.txt to each CMakeLists.txt

# Get the list of modules that should be add in Applications/CLI/CMakeLists.txt using add_subdirectory()
ls -1 *.xml | cut -d'.' -f1

# Move *.{xml, cxx} files into their respective directory
for i in `ls -1 *.xml | cut -d'.' -f1`; do mv $i.{xml,cxx} $i; done

ENH: Add Slicer_BaseCLI_INCLUDE_DIRS to SlicerConfig

* Note that ideally the file provided by SlicerBaseCLI should be added
to SlicerExecutationModel.

COMP: Remove find_package and include_dir from CLI/CMakeLists.txt

* Each module should include its required dependencies

Revision 17341  Directory Listing
Modified Tue Jul 5 22:54:24 2011 UTC (6 years, 2 months ago) by jcfr
ENH: A different LibArchive external project can now be specified

* This can be achieved configuring Slicer passing LibArchive_DIR

* LibArchive_DIR should points to an installed tree of LibArchive

Revision 17316  Directory Listing
Modified Sun Jul 3 05:53:01 2011 UTC (6 years, 2 months ago) by jcfr
ENH: Add TopologicalSort macro

Revision 17314  Directory Listing
Modified Sun Jul 3 05:52:48 2011 UTC (6 years, 2 months ago) by jcfr
ENH: Status messages are now displayed at different stage of the configuration process

Revision 17287  Directory Listing
Modified Fri Jul 1 04:15:51 2011 UTC (6 years, 2 months ago) by jcfr
ENH: SlicerExecutionModel is now an external project

* A single find_package(SlicerExecutionModule) can be used.

* Calling find_package(SlicerExecutionModule ...) will systematically define the
ModuleDescriptionParser_DIR, GenerateCLP_DIR and TCLAP_DIR

* Assuming ModuleDescriptionParser_DIR, GenerateCLP_DIR or TCLAP_DIR are defined,
the corresponding find_package() call are still valid.

* Call of the form find_package(SlicerExecutionModule REQUIRED GenerateCLP) or
find_package(SlicerExecutionModule REQUIRED ModuleDescriptionParser) are valid and
will:
  - include the target of the specified components
  - set SlicerExecutionModel_INCLUDE_DIRS, SlicerExecutionModel_LIBRARIES appropriately.

* Known issue: SlicerExecutionModel_LIBRARY_DIRS is not defined. Since the
list of library SlicerExecutionModel_LIBRARIES is defined and the associated
CMake target imported. If CMake 2.6 or above is used, this shouldn't be a problem.

Revision 17262  Directory Listing
Modified Tue Jun 28 07:48:38 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Updated slicerMacroBuildCLI to be used within extension.

 * Slicer_CLI_SHARED_LIBRARY_WRAPPER_CXX has been added to SlicerConfig. It
points to SharedLibraryWrapper cxx file.

Revision 17260  Directory Listing
Modified Tue Jun 28 04:26:00 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerBlockSetCMakeOSXVariables - Complain if more than architecture is specified.

* Waiting universal binaries are supported and tested, complain if
multiple architectures are specified.

Revision 17259  Directory Listing
Modified Tue Jun 28 04:25:58 2011 UTC (6 years, 3 months ago) by jcfr
STYLE: SlicerBlockSetCMakeOSXVariables.cmake - Comment should start with an upper case letter.

Revision 17258  Directory Listing
Modified Tue Jun 28 04:17:01 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerBlockSetCMakeOSXVariables - Tell the user with the corresponding variable are forced into cache.

* Also indicates the corresponding value.

* The comment associated with the caches variables is now properly set

* Note that the architecture default x86_64. The user will have to
explicitly set i386 if the underlying processor is a 32bits.

Revision 17254  Directory Listing
Modified Mon Jun 27 22:15:43 2011 UTC (6 years, 3 months ago) by finetjul
COMP: Remove DMCTK warnings

Revision 17237  Directory Listing
Modified Sat Jun 25 21:46:05 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerBlockSetCMakeOSXVeraibles - Prefer 10.5, but use 10.6 if necessary.

Revision 17208  Directory Listing
Modified Thu Jun 23 19:18:09 2011 UTC (6 years, 3 months ago) by jcfr
STYLE: Rename Doc/copyright/copyright.txt into COPYRIGHT.txt

Revision 17205  Directory Listing
Modified Thu Jun 23 18:40:15 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Make sure CMAKE_OSX_* variables are set before project() or enable_language() calls.

* By setting CMAKE_OSX_* variables before any enable_language() or project() calls,
we ensure that the bitness will be properly detected.

Revision 17199  Directory Listing
Modified Thu Jun 23 15:28:22 2011 UTC (6 years, 3 months ago) by jcfr
COMP: slicerMacroBuildQtModule - Properly set the files to exclude from wrapping

* Note that the module widget are not wrapped

Revision 17197  Directory Listing
Modified Thu Jun 23 14:38:21 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Fix wrapping of Qt-based module sublibrary

* The property WRAP_EXCLUDE was set to all source of the library

Revision 17196  Directory Listing
Modified Thu Jun 23 06:06:48 2011 UTC (6 years, 3 months ago) by jcfr
BUG: Extension description is now generated properly if extension are available locally and not in a repository.

* SlicerMacroExtractRepositoryInfo: Use the default value 'local' for
<foo>_WC_TYPE.

Revision 17195  Directory Listing
Modified Thu Jun 23 05:50:21 2011 UTC (6 years, 3 months ago) by jcfr
BUG: FindGit - Make sure 'git.exe' is discovered instead of 'git.cmd'

* Due to a bug in 'git.cmd' preventing it from returning the exit code of 'git',
  we excluded it from the list of executables to search.

* See http://code.google.com/p/msysgit/issues/detail?id=428

* TODO Check if 'git' exists, get the associated version, if the corresponding version
       is known to have a working version of 'git.cmd', use it.

Revision 17193  Directory Listing
Modified Thu Jun 23 03:28:28 2011 UTC (6 years, 3 months ago) by jcfr
COMP: OpenIGTLink can now be properly referenced within Extension

* Note also that Slicer_USE_OPENIGTLINK has been changed into Slicer_USE_OpenIGTLink

Revision 17191  Directory Listing
Modified Thu Jun 23 01:39:37 2011 UTC (6 years, 3 months ago) by jcfr
STYLE: Move CMake commands to match new conventions

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
ITK/Utilities/Maintenance/HowToCreateTheCMakeCaseConversion.txt

Revision 17172  Directory Listing
Modified Wed Jun 22 04:26:50 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Add "WRAP_PYTHONQT" option to SlicerMacroBuildModuleQtLibrary / SlicerMacroBuildModuleWidgets

* Enabling this option will build the PythonQt wrapped static library
associated with the given SRCS.

Revision 17160  Directory Listing
Modified Tue Jun 21 13:19:37 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Expose ctkMacroCompilePythonScript to extension + add SlicerMacroConfigureGenericPythonModuleTests

* Similarly to its Cpp equivalent, that convenient macro allow to
configure a python unittest allowing to test the module.

Revision 17145  Directory Listing
Modified Mon Jun 20 00:25:39 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Rename SlicerMacroAddGenericCxxModuleTests into SlicerMacroConfigureGenericCxxModuleTests

Revision 17144  Directory Listing
Modified Mon Jun 20 00:25:32 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerMacroPythonTesting - Call runUnitTest with build and source dir.

Since python unitest can be configured into the build directory,
let's add both the source and the build directory.

Revision 17143  Directory Listing
Modified Mon Jun 20 00:25:31 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerMacroPythonTesting - Use Slicer_LAUNCHER_EXECUTABLE

When testing extension, since the target SlicerQT(-real) isn't exported,
let's use the launcher directly.

Revision 17134  Directory Listing
Modified Sun Jun 19 01:57:07 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerMacroAddGenericCxxModuleTests can now be used in extension

* Update test associated to LoadableExtensionTemplate module

Revision 17133  Directory Listing
Modified Sun Jun 19 01:57:04 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Move BaseQTCore cpp tests into "Testing/Cxx" sub directory

Revision 17121  Directory Listing
Modified Sat Jun 18 23:46:40 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Add SlicerMacroAddGenericCxxModuleTests  + add/update module tests

* This macro allows to easily associate systematic test with a module

* The file qSlicerModuleTest1.cxx.in is configured and compiled with each test suite

* Existing module have been updated

* Testing has been added to "untested" modules

* Code within TractograpghyDisplay/CMakeLists.txt has been re-organized

Revision 17119  Directory Listing
Modified Sat Jun 18 13:58:00 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Slicer_Base_INCLUDE_DIRS now contains only directory from Slicer/Base

Revision 17115  Directory Listing
Modified Sat Jun 18 13:57:44 2011 UTC (6 years, 3 months ago) by jcfr
BUG: DashboardDriverScript - Initialize CMakeCache properly

Do not add variable with "-D" prefix.

Revision 17104  Directory Listing
Modified Sat Jun 18 05:29:03 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Rename SlicerMacroDiscoverSystemNameAndBits into SlicerMacroGetPlatformArchitectureBitness

It's good practice to name macros after what they do.

Revision 17103  Directory Listing
Modified Sat Jun 18 05:29:01 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Use Slicer_ARCHITECTURE, Slicer_PLATFORM, Slicer_BITNESS instead of Slicer_BUILD and Slicer_BUILD_BITS

Revision 17094  Directory Listing
Modified Sat Jun 18 00:05:51 2011 UTC (6 years, 3 months ago) by jcfr
ENH: DashboardDriverScript - Add convenient debug flag: run_ctest_submit

This variable allows to have an even more finer controller over the
dashboard script. It could be useful to disable some part of the script
for debug purposes.

Revision 17093  Directory Listing
Modified Sat Jun 18 00:05:49 2011 UTC (6 years, 3 months ago) by jcfr
STYLE: Template dashboard driver script - Re-order statments

Revision 17078  Directory Listing
Modified Fri Jun 17 07:26:23 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Add option Slicer_UPLOAD_EXTENSIONS AND Update extension build system

If WITH_EXTENSION is OFF, slicer superbuild behaves as usual
otherwise, option Slicer_UPLOAD_EXTENSIONS is added:

* Slicer_UPLOAD_EXTENSIONS is OFF

  It means the extensions are added to superbuild as regular "external"  project
  depending on Slicer. The different "external" project are  named after
  the <extension_name>.

  For convenience, an "external project" named <extension_name>-rebuild is added.
  This project doesn't depend on Slicer and can be used to rebuild only
  the extension without waiting for Slicer and its dependencies(VTK, CTK, ...)
  to be configured, built ..


* Slicer_UPLOAD_EXTENSIONS is ON

  It means the extensions are added to superbuild as "ctest-fied" project.
  In other word, the BUILD_COMMAND of the external project is set to
  execute a ctest script that will configure, build, test, package and upload
  the packages to CDash.

  The configure/build/test results and also the packages are submitted to either
  Extensions-Nightly, Extensions-Continuous or Extensions-Experimental track.

  Similarly to the previous case, external project named <extension_name>-rebuild
  are also added.

When setting up dashboard, Slicer_UPLOAD_EXTENSIONS should be set to TRUE.
Within the Slicer dashboard driver script, both Slicer_BUILD_EXTENSIONS
and Slicer_UPLOAD_EXTENSIONS are set if WITH_EXTENSIONS is TRUE.

Revision 17076  Directory Listing
Modified Fri Jun 17 07:26:19 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerDashboardScript.TEMPLATE - Update comment associated with WITH_EXTENSIONS option

Revision 17072  Directory Listing
Modified Fri Jun 17 07:26:13 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Move CMake functions related to extensions in their dedicated directory.

Revision 17026  Directory Listing
Modified Thu Jun 16 06:26:58 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerBlockInstallCMakeProjects - Improve test checking if an external project should be installed.

Revision 17003  Directory Listing
Modified Mon Jun 13 17:12:18 2011 UTC (6 years, 3 months ago) by finetjul
COMP: Slicer now depends on QtScript because of qCDashAPI

Revision 16998  Directory Listing
Modified Mon Jun 13 06:50:43 2011 UTC (6 years, 3 months ago) by finetjul
BUG: At install time, platform.py was not embedded in the package

platform.py shall be copied for inclusion in the package.

Revision 16989  Directory Listing
Modified Sun Jun 12 22:16:17 2011 UTC (6 years, 3 months ago) by jcfr
STYLE: Remove obsolete code

Revision 16980  Directory Listing
Modified Sun Jun 12 17:53:27 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Use variable Slicer_QtPlugins_DIR instead of hardcoded "lib/QtPlugins"

Revision 16977  Directory Listing
Modified Sun Jun 12 07:14:15 2011 UTC (6 years, 3 months ago) by jcfr
STYLE: SlicerDashboardDriverScript - Fix message displayed when extensions are packaged

Revision 16974  Directory Listing
Modified Sun Jun 12 07:14:11 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Update SlicerBlockStringFindReplace.cmake so that output file is written only if needed.

Revision 16971  Directory Listing
Modified Sun Jun 12 07:14:06 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Rename "StringFindReplace.cmake" into "SlicerBlockStringFindReplace.cmake"

Revision 16966  Directory Listing
Modified Sun Jun 12 03:21:16 2011 UTC (6 years, 3 months ago) by jcfr
COMP: ExternalProject definition are now automatically included given their respective dependencies.

At configuration time, an output of the following form is also printed:

-- SuperBuild - Slicer => Requires libarchive, cmcurl, OpenIGTLink, teem, CTKAPPLAUNCHER, python, NUMPY, VTK, Insight, CTK,
-- SuperBuild -   libarchive[OK]
-- SuperBuild -   cmcurl[OK]
-- SuperBuild -   OpenIGTLink[OK]
-- SuperBuild -   teem => Requires VTK,
-- SuperBuild -     VTK => Requires python,
-- SuperBuild -       python => Requires incrTcl, tcl, tk,
-- SuperBuild -         incrTcl => Requires tcl, tk,
-- SuperBuild -           tcl[OK]
-- SuperBuild -           tk => Requires tcl[INCLUDED],
-- SuperBuild -           tk[OK]
-- SuperBuild -         incrTcl[OK]
-- SuperBuild -       python[OK]
-- SuperBuild -     VTK[OK]
-- SuperBuild -   teem[OK]
-- SuperBuild -   CTKAPPLAUNCHER[OK]
-- SuperBuild -   NUMPY => Requires CLAPACK, python[INCLUDED],
-- SuperBuild -     CLAPACK[OK]
-- SuperBuild -   NUMPY[OK]
-- SuperBuild -   Insight[OK]
-- SuperBuild -   CTK => Requires VTK[INCLUDED], Insight[INCLUDED], python[INCLUDED],
-- SuperBuild -   CTK[OK]
-- SuperBuild - Slicer[OK]

Revision 16962  Directory Listing
Modified Sun Jun 12 03:21:01 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Add SlicerBlockCheckExternalProjectDependencyList

By adding that CMake block in each external project definition, we ensure
that all dependent external project definition have been included beforehand.

Revision 16948  Directory Listing
Modified Sat Jun 11 22:04:50 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Extension - Output generated libraries in the build directory of the extension

Prior to that commit, the library of an extension where generated into
Slicer build tree.

Slicer now supports the ability to add/remove additional module paths,
it means generated libraries associated with an extension should be
outputted in their dedicated location (in that case the build directory of the extension
itself)

Revision 16857  Directory Listing
Modified Wed Jun 8 03:17:32 2011 UTC (6 years, 3 months ago) by jcfr
BUG: SlicerMacroBuildModuleQtLibrary - Fix OUTPUT_DIRECTORY

The library should be written in Slicer_QTLOADABLEMODULES_*_DIR so
that fix_bundle can works properly.

Revision 16855  Directory Listing
Modified Wed Jun 8 03:01:38 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Change default value of Slicer_INSTALL_ROOT to "."

Revision 16850  Directory Listing
Modified Wed Jun 8 01:52:05 2011 UTC (6 years, 3 months ago) by jcfr
BUG: SlicerBlockInstallPython - On unix, set permissions of python library so that fixup bundle works

The library is expected to have OWNER_WRITE access for fixup bundle to works.

If not a message similar to the reported below will appear:

install_name_tool: can't open input file: /.../_CPack_Packages/Darwin/DragNDrop/Slicer-4.0.gamma-2011-06-07-Darwin/Slicer.app/Contents/lib/Python/lib/libpython2.6.dylib for writing (Permission denied)

Revision 16849  Directory Listing
Modified Wed Jun 8 01:52:04 2011 UTC (6 years, 3 months ago) by jcfr
ENH: slicerInstallLibrary CMake Function - Add PERMISSIONS argument

Revision 16848  Directory Listing
Modified Wed Jun 8 00:18:56 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Python install rules - exclude "distutils" so that fixup bundle works properly

Since the module distutils contains executables like "wininst-*.exe",
the fixup bundle attempts to extract associated dependency information
and warning similar to the one reported below apprears:

...
install_name_tool: input file: /.../_CPack_Packages/Darwin/DragNDrop/Slicer-4.0.gamma-2011-06-07-Darwin/Slicer.app/Contents/lib/Python/lib/python2.6/distutils/command/wininst-9.0.exe is not a Mach-O file
...

Excluding the "distutils" module allows to avoid such warnings.

Revision 16841  Directory Listing
Modified Tue Jun 7 22:45:59 2011 UTC (6 years, 3 months ago) by jcfr
ENH: SlicerMacroDiscoverSystemNameAndBits - Standardized its output

As a function of the machine architecture and system, on of the
following value is returned:

  linux-i386
  linux-amd64
  win32-x86
  win64-x86
  macosx-i386
  macosx-amd64

Revision 16796  Directory Listing
Modified Sat Jun 4 06:55:19 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Use <APPLAUNCHER_DIR> in CTK launcher settings instead of current directory

Doing so will ensure that these path are properly resolved also if
the launcher is started from a different directory.

Revision 16795  Directory Listing
Modified Sat Jun 4 06:55:13 2011 UTC (6 years, 3 months ago) by jcfr
COMP: CTKAppLauncher settings - On windows, python libraries are installed along with the executable

Revision 16794  Directory Listing
Modified Sat Jun 4 06:55:07 2011 UTC (6 years, 3 months ago) by jcfr
COMP: CTKAppLauncher setting - Use correct Tcl library folder on windows

Revision 16791  Directory Listing
Modified Sat Jun 4 06:54:48 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Optimize python install rules

Only python library and associated modules are installed.

Revision 16790  Directory Listing
Modified Sat Jun 4 06:54:41 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Factor out CMake code used to install python external modules

Revision 16789  Directory Listing
Modified Sat Jun 4 06:54:33 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Factor out CMake code used to install Qt imageformats plugins

Revision 16788  Directory Listing
Modified Sat Jun 4 06:54:22 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Code used to install CMake based projects has been factored out into SlicerBlockInstallCMakeProjects

Revision 16787  Directory Listing
Modified Sat Jun 4 06:54:15 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Factor out cmake code used to install Tcl, Python, Qt, PythonQt and LibArchive

Revision 16778  Directory Listing
Modified Sat Jun 4 06:48:08 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Make use of new Slicer_PYTHON_VERSION_DOT variable.

Revision 16776  Directory Listing
Modified Sat Jun 4 06:48:03 2011 UTC (6 years, 3 months ago) by jcfr
STYLE: Fix indent

Revision 16771  Directory Listing
Modified Sat Jun 4 06:47:35 2011 UTC (6 years, 3 months ago) by jcfr
ENH: Refactor Install rule variables to only be used in install commands.

Added a second set of variables named Slicer_<blah>_DIR which contain the appropriate directory prefixes such as bin lib share. These variables can be used reference file in the build or install trees such as the input/output of a configure command. Slicer_INSTALL_<blah> should only be used for install commands as on the Mac these variables will be prefixed with Slicer.app\Contents which we likely do not want in the root of the build tree.

Revision 16723  Directory Listing
Modified Wed Jun 1 04:06:36 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Add SlicerMacroBuildModuleWidgets

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.

Revision 16719  Directory Listing
Modified Wed Jun 1 04:06:23 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Add SlicerMacroBuildModuleQtLibrary

Convenient macro allowing to easily build a Qt sub library associated with
a loadable module.

Revision 16718  Directory Listing
Modified Wed Jun 1 04:06:21 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Update SlicerMacroBuildBaseQtLibrary to use Slicer_Base_INCLUDE_DIRS and Slicer_Libs_INCLUDE_DIRS

Revision 16717  Directory Listing
Modified Wed Jun 1 04:06:20 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Rename SlicerMacroPythonWrapModuleLibrary into SlicerMacroPythonWrapModuleVTKLibrary

Revision 16716  Directory Listing
Modified Wed Jun 1 04:06:18 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Rename SlicerMacroBuildModuleLibrary into SlicerMacroBuildModuleVTKLibrary

Revision 16715  Directory Listing
Modified Wed Jun 1 04:06:15 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Require XML and WEBKIT Qt modules and rely on QT_LIBARIES/QT_INCLUDE_DIRS set in UseQt4.cmake

Revision 16700  Directory Listing
Modified Mon May 30 20:47:58 2011 UTC (6 years, 3 months ago) by jcfr
COMP: Add SlicerMacroPythonTesting file

It contains the following helper macros:
  SLICER_ADD_PYTHON_TEST
  SLICER_ADD_PYTHON_UNITTEST

Revision 16691  Directory Listing
Modified Mon May 30 13:40:04 2011 UTC (6 years, 3 months ago) by partyd
ENH: Add a check for build errors, if any are detected, don't generate binaries.

Revision 16649  Directory Listing
Modified Mon May 23 19:33:22 2011 UTC (6 years, 4 months ago) by partyd
COMP: When building 64-bit on Windows we need to compile with /bigobj as building ITK will exceed the number of entries allowed in an .obj file built 64-bit.

Revision 16626  Directory Listing
Modified Wed May 18 19:50:58 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Fix python path associated with installed setting of Qt based Slicer launcher

Revision 16618  Directory Listing
Modified Wed May 18 17:28:14 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Add custom error exception to interpret properly warnings related to curl build on mac

Compiler: i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)

See http://www.cmake.org/pipermail/cmake/2011-May/044448.html

Revision 16616  Directory Listing
Modified Wed May 18 17:28:11 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Remove obsolete CTest warning exception related to CTK Documentation

Revision 16615  Directory Listing
Modified Wed May 18 17:28:09 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Remove blt warning exception from CTestCustom

since r15923 BLT is not anymore a dependency of Slicer

Revision 16567  Directory Listing
Modified Mon May 16 19:58:41 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Update launchers setting to consider new CTK superbuild layout

PythonQt library isn't anymore build into  <CTK_DIR>/CMakeExternals/Build/PythonQt
but in <CTK_DIR>/PythonQt-build instead.

Revision 16526  Directory Listing
Modified Wed May 11 00:52:26 2011 UTC (6 years, 4 months ago) by jcfr
COMP: dashboard driver script - Disable completely CTEST_USE_LAUNCHERS

Revision 16509  Directory Listing
Modified Mon May 9 21:56:57 2011 UTC (6 years, 4 months ago) by jcfr
COMP: slicerMacroBuildQtModule/SlicerMacroBuildModuleLibrary - Use Slicer_DIR to set OUTPUT_DIR

Waiting the infrastructure allowing to add path to module factory,
doing so will allow extension to be properly loaded in Slicer.

Indeed, at build time both plugins and dependent library will be written in
the appropriate directory.

Revision 16503  Directory Listing
Modified Fri May 6 23:43:17 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Revert r16502 - See message body for details.

In fact, submitting an experimental dashboard from a folder where a
nightly already happened should be done only after the Testing folder
in the build directory has been removed.

Otherwise, the experimental submission re-use a Nightly submission tag.

Revision 16502  Directory Listing
Modified Fri May 6 23:30:56 2011 UTC (6 years, 4 months ago) by jcfr
COMP: SlicerDashboardDriver script - Do not call ctest_update if script mode is "experimental"

If ctest_update is called, it's computing the revision number based on the
nightly submission time. This is obviously no what we want since the experimental
submission should use the source tree as it is.

Revision 16495  Directory Listing
Modified Fri May 6 23:04:42 2011 UTC (6 years, 4 months ago) by jcfr
BUG: Dashboard driver script - Use CTEST_CMAKE_GENERATOR instead of undefined CMAKE_GENERATOR

Revision 16494  Directory Listing
Modified Fri May 6 23:04:40 2011 UTC (6 years, 4 months ago) by jcfr
ENH: Update Slicer template script to include MY_BITNESS variable

Revision 16492  Directory Listing
Modified Fri May 6 19:40:29 2011 UTC (6 years, 4 months ago) by jcfr
BUG: FindGit - Add timeout to execute process associated to 'git svn info'

Revision 16490  Directory Listing
Modified Fri May 6 19:40:24 2011 UTC (6 years, 4 months ago) by jcfr
ENH: Slicer Base libraries, ModuleMRML and ModuleLogic targets are exported

Both global list Slicer_Libs_LIBRARIES and Slicer_Base_LIBRARIES have
been removed. It means libraries are expected to specify explicitly
their dependencies.

Variable Slicer_CORE_LIBRARY and Slicer_GUI_LIBRARY have been introduced.
They should be used each time it's required to link against qSlicerBaseQTCore
or qSlicerBaseQTGUI.

The variable MRML_LIBRARIES has been introduced, it should be used each
time a module is expected to link against the trhee libraries
 MRML, MRMLLogic and MRMLDisplayableManager. The rational behind this variable
is too anticipate a future possible relocation of MRML related libraries
outside of Slicer.

Waiting we setup a way to export the include directory associated with
all libraries so that they can be available to extension using SlicerConfig.
tThese diretories are still automatically appended to the global variables:
Slicer_Libs_INCLUDE_DIRS, Slicer_Base_INCLUDE_DIRS, Slicer_ModuleMRML_INCLUDE_DIRS
and Slicer_ModuleLogic_INCLUDE_DIRS

Revision 16475  Directory Listing
Modified Fri May 6 19:39:44 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Add macro SlicerMacroBuildModuleMRML

The corresponding wrapped classes are imported into "slicer.modulemrml" python module

"slicer.modulemrml" is itself imported into slicer module.

Revision 16474  Directory Listing
Modified Fri May 6 19:39:41 2011 UTC (6 years, 4 months ago) by jcfr
COMP: vtkMacroKitPythonWrap - Improve error message

Revision 16473  Directory Listing
Modified Fri May 6 19:39:40 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Factorize out code from SlicerMacroBuildModuleLogic into SlicerMacroBuildModuleLibrary and SlicerMacroPythonWrapModuleLibrary

Revision 16472  Directory Listing
Modified Fri May 6 19:39:38 2011 UTC (6 years, 4 months ago) by jcfr
COMP: In SlicerMacroBuildModuleLogic, list of vtk*PythonD libraries is automatically generated

Revision 16471  Directory Listing
Modified Fri May 6 19:39:36 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Add Slicer_Libs_VTK_WRAPPED_LIBRARIES

Use it in both SlicerConfig and SlicerMacroBuildModuleLogic

Revision 16464  Directory Listing
Modified Fri May 6 19:39:22 2011 UTC (6 years, 4 months ago) by jcfr
COMP: SlicerMacroBuildModuleLogic - Remove hack and link against SlicerBaseLogic and SlicerBaseCLI

Revision 16463  Directory Listing
Modified Fri May 6 19:39:20 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Use vtkMacroKitPythonWrap in SlicerMacroBuildModuleLogic

Revision 16461  Directory Listing
Modified Fri May 6 17:31:21 2011 UTC (6 years, 4 months ago) by zach.mullen
ENH: Update MIDAS.cmake

Revision 16411  Directory Listing
Modified Thu Apr 28 20:51:46 2011 UTC (6 years, 4 months ago) by jcfr
COMP: Logic of modules can now link and include header associated with other module logic

The following variables have been introduced
 Slicer_ModuleLogic_INCLUDE_DIRS
 Slicer_ModuleLogic_LIBRARY_DIRS
 Slicer_ModuleLogic_LIBRARIES

Revision 16410  Directory Listing
Modified Thu Apr 28 20:51:44 2011 UTC (6 years, 4 months ago) by jcfr
COMP: slicerMacroBuildQtModule/SlicerMacroBuildModuleLogic - Add FATAL_ERROR to message statement

Revision 16409  Directory Listing
Modified Thu Apr 28 20:51:41 2011 UTC (6 years, 4 months ago) by jcfr
COMP: MRMLLogic directories are already included in Slicer_Libs_INCLUDE_DIRS

Revision 16406  Directory Listing
Modified Thu Apr 28 19:09:00 2011 UTC (6 years, 4 months ago) by jcfr
BUG: ITKPlatformSpecificChecks.cmake - Comment code forcing BUILD_SHARED_LIBS to off

Since this macro has been copied from ITKv4, some cleaning was required so that it could be re-used within Slicer.

Revision 16397  Directory Listing
Modified Tue Apr 26 08:30:24 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Add WITH_EXTENSIONS option to dashboard script

If both WITH_EXTENSIONS is enabled, the extension associated with s4ext files
will be build as part of Slicer Superbuild

If WITH_PACKAGES is also enabled, the 'package' target associated with
each extension will be built and the corresponding package uploaded
to CDash (if a version of ctest supporting upload is used).

Revision 16391  Directory Listing
Modified Tue Apr 26 08:30:14 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Add CMake function allowing to extract information from extension description file

Revision 16390  Directory Listing
Modified Tue Apr 26 08:30:13 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Add CMake function allowing to generate extension description file

Note also that the extension file associated with Slicer4 will
have 's4ext' extension instead of 's3ext'.

Revision 16389  Directory Listing
Modified Tue Apr 26 08:30:11 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Add and customized FindSubversion,cmake so that it returns the root of the associated repository URL

Ultimately this should be contributed back to CMake

Revision 16388  Directory Listing
Modified Tue Apr 26 08:30:09 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Update FindGit.cmake to return working copy Root if underlying repository is 'git-svn'

Revision 16384  Directory Listing
Modified Tue Apr 26 08:30:00 2011 UTC (6 years, 5 months ago) by jcfr
STYLE: Comment extra debug statement in SlicerBlockFindQtAndCheckVersion

Revision 16383  Directory Listing
Modified Tue Apr 26 08:29:58 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Document and improve logic within FindGit.cmake

Revision 16381  Directory Listing
Modified Tue Apr 26 08:29:55 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Add SlicerMacroExtractRepositoryInfo

This macro allows to conveniently extract information associated with a
checkout of either git, git-svn or svn.

Note that CVS support still need to be added.

Revision 16380  Directory Listing
Modified Tue Apr 26 08:29:54 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Change SlicerBlockDiscoverSystemNameAndBits into a macro

Doing so will allow to re use the macro with extension

Revision 16373  Directory Listing
Modified Tue Apr 26 08:29:42 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Factor out code related to C/CXX flags to that it could be re-used within extension

Revision 16372  Directory Listing
Modified Tue Apr 26 08:29:40 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Added ITK CMake script allowing to get ITK required C/Cxx flags

These 2 files have been copied from ITKv4

Revision 16371  Directory Listing
Modified Tue Apr 26 08:29:39 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Update SlicerBlockFindQtAndCheckVersion, and also reorganize VTK, CTK and Qt discovery

VTK and CTK should be found first, then using the block SlicerBlockFindQtAndCheckVersion
it's easy to make sure the Qt version used to build both CTK and VTK are equal
and satisfy Slicer_REQUIRED_QT_VERSION condition.

Revision 16370  Directory Listing
Modified Tue Apr 26 08:29:37 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Factor out CMake code used to check platform into SlicerBlockPlatformCheck.cmake

Revision 16369  Directory Listing
Modified Tue Apr 26 08:29:35 2011 UTC (6 years, 5 months ago) by jcfr
STYLE: Rename SlicerDiscoverSystemNameAndBits into SlicerBlockDiscoverSystemNameAndBits

Revision 16368  Directory Listing
Modified Tue Apr 26 08:29:33 2011 UTC (6 years, 5 months ago) by jcfr
STYLE: Rename SlicerCTKAppLauncherSettings into SlicerBlockCTKAppLauncherSettings

Revision 16367  Directory Listing
Modified Tue Apr 26 08:29:31 2011 UTC (6 years, 5 months ago) by jcfr
STYLE: Rename "SlicerFindQtAndCheckVersion" into "SlicerBlockFindQtAndCheckVersion"

Revision 16361  Directory Listing
Modified Tue Apr 26 08:29:07 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Add Slicer_INSTALL_DEVELOPMENT option - By default OFF

For now, this is *just* a regular variable instead of being a CMake Option.
In order to be able to provide a developer package. More work is required.

Revision 16360  Directory Listing
Modified Tue Apr 26 08:29:01 2011 UTC (6 years, 5 months ago) by jcfr
STYLE: Fix indent, add comment in CMakeLists.txt and Slicer Build macros

Revision 16352  Directory Listing
Modified Tue Apr 26 08:28:41 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Remove CMake/CMakeLists.txt, copy and comment install rules into CMakeLists.txt

Revision 16345  Directory Listing
Modified Tue Apr 26 08:28:23 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Factor out VTK specific python wrapping code into vtkMacroKitPythonWrap

Revision 16341  Directory Listing
Modified Tue Apr 26 08:28:12 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Remove call to find_package(Slicer)

Find_package(slicer) should be done within the project that depends on Slicer

Revision 16340  Directory Listing
Modified Tue Apr 26 08:28:10 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Introduced variable Slicer_REQUIRED_QT_MODULES

This variable will be used within UseSlicer when building extension

At configuration time, the list of enabled and used Qt modules is also
printed.

Revision 16339  Directory Listing
Modified Tue Apr 26 08:28:08 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Factored out CMake code used to find Qt4 and check its version

Revision 16338  Directory Listing
Modified Tue Apr 26 08:28:07 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Add DISABLE_WRAP_PYTHON option to SlicerMacroBuildModuleLogic

Revision 16337  Directory Listing
Modified Tue Apr 26 08:28:05 2011 UTC (6 years, 5 months ago) by jcfr
COMP: SlicerMacroBuildModuleLogic - Use Slicer_INSTALL_QTLOADABLEMODULES_* instead of Slicer_INSTALL_MODULES_*

Revision 16336  Directory Listing
Modified Tue Apr 26 08:28:03 2011 UTC (6 years, 5 months ago) by jcfr
STYLE: SlicerMacroBuildModuleLogic - Remove extra code

Revision 16328  Directory Listing
Modified Tue Apr 26 08:27:50 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Change SlicerMacroToday into SlicerFunctionToday

Revision 16326  Directory Listing
Modified Tue Apr 26 08:27:47 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Delete unused file CMake/Slicer3ModulesMacros.cmake

Revision 16325  Directory Listing
Modified Tue Apr 26 08:27:45 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Remove unused code from Slicer3PluginsMacros.cmake

Macro GET_VS_VERSION_STRING is not used and has been removed

Macro slicer3_add_plugins_test/slicer3_enable_plugins_testing are used only
in Modules/CommandLineModule/Testing/HelloSlicer/CMakeLists.txt. This later
one if not built in Slicer4.

These two macros have been removed.

Revision 16324  Directory Listing
Modified Tue Apr 26 08:27:43 2011 UTC (6 years, 5 months ago) by jcfr
STYLE: slicerMacroBuildQtModule - Remove extra code and fix indentation

Revision 16316  Directory Listing
Modified Mon Apr 25 15:11:55 2011 UTC (6 years, 5 months ago) by zach.mullen
ENH: Update MIDAS.cmake - added MIDAS_TGZ{} support

Revision 16296  Directory Listing
Modified Wed Apr 20 22:11:19 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Reference CommandLineSharedLibraryWrapper.cxx using Slicer_SOURCE_DIR

Since slicerMacroBuildCLI can be called also if Slicer_BUILD_CLI is disabled,
the project CLI and the associated variable CLI_SOURCE_DIR won't be defined.

Revision 16292  Directory Listing
Modified Wed Apr 20 21:51:54 2011 UTC (6 years, 5 months ago) by jcfr
ENH: slicerMacroBuildCLI macro can now be used by itself

The call to "find_package(GenerateCLP ...)" is done within the macro
so that it can be used directly.

Revision 16291  Directory Listing
Modified Wed Apr 20 21:51:53 2011 UTC (6 years, 5 months ago) by jcfr
BUG: Remove extra 'else' statement to ensure logo are considered

Revision 16278  Directory Listing
Modified Tue Apr 19 18:56:04 2011 UTC (6 years, 5 months ago) by jcfr
COMP: DashboardDriverScript - Enable CTEST_USE_LAUNCHERS only if CMake generator is Makefile based

CTEST_USE_LAUNCHER is not supported on non Makefile based generator.

See http://www.kitware.com/blog/home/post/11

Revision 16242  Directory Listing
Modified Sun Apr 10 05:11:20 2011 UTC (6 years, 5 months ago) by jcfr
BUG: SlicerFunctionCTestPackage - Update regular expression to support windows package output

Revision 16231  Directory Listing
Modified Wed Apr 6 20:51:40 2011 UTC (6 years, 5 months ago) by jcfr
BUG: SlicerDashboardDriver script - set run_ctest_with_test to True

It has been set to False by mistake.

Revision 16230  Directory Listing
Modified Wed Apr 6 20:28:57 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Add WITH_PACKAGES option to dashboard script

If Enabled, the target "package" will be built and the associated packages
uploaded to CDash.

Notes:

If WITH_PACKAGE is enabled and dashboard script run with a version of ctest
that doesn't support 'ctest_upload', an error will be displayed.

CTest version that doesn't support "ctest_upload" function
will submit to:
  www.cdash.org/CDash/submit.php?project=Slicer4

whereas the one supporting that function will submit to:
  www.cdash.org/slicer4/submit.php?project=Slicer4

Revision 16229  Directory Listing
Modified Wed Apr 6 20:28:55 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Add convenient variable to DashboardDriverScript useful while adding functionnality to the script

Revision 16228  Directory Listing
Modified Wed Apr 6 20:28:53 2011 UTC (6 years, 5 months ago) by jcfr
ENH: Add SlicerFunctionCTestPackage cmake function

This function allows to build 'package' target and obtain the list of associated
package names.

Revision 16189  Directory Listing
Modified Sat Apr 2 06:06:35 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Remove unused "CMake/RemoveTemporaryFiles.cmake" file

Revision 16188  Directory Listing
Modified Sat Apr 2 06:06:33 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Remove obsolete "Slicer3SampleBuildTest.cmake" file

Revision 16187  Directory Listing
Modified Sat Apr 2 06:06:30 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Remove unused macro 'CMake/CheckFortran.cmake'

Revision 16168  Directory Listing
Modified Sat Apr 2 00:07:54 2011 UTC (6 years, 5 months ago) by jcfr
COMP: Remove 'Slicer3PersistenceMacros' and use CMake native function

Calling SET with the FORCE option provide the same functionality

Revision 16007  Directory Listing
Modified Thu Feb 24 04:29:21 2011 UTC (6 years, 7 months ago) by jcfr
COMP: Add option EXECUTABLE_ONLY to slicerMacroBuildCLI

If this option is set, the CLI will be build only as an executable. It means
no shared library will be built.

This is option could be useful if for some reason the readers associated
with the module support only file based reading.

Revision 15999  Directory Listing
Modified Wed Feb 23 19:04:32 2011 UTC (6 years, 7 months ago) by jcfr
COMP: Fix SlicerFunctionCheckCompilerFlags so that successive invocation works

Internally, the macro CMAKE_CXX_ACCEPTS_FLAG calls TRY_COMPILE. To avoid
the cost of compiling the test each time the project is configured, the variable set by
the macro is added to the cache so that following invocation of the macro with
the same variable name skip the compilation step.

For that same reason, SlicerFunctionCheckCompilerFlags function appends a unique suffix to
the HAS_FLAG variable. This suffix is created using a 'clean version' of the flag to test

See also https://github.com/commontk/CTK/commit/95b5aac71de69145aedcf40925d9daf59355f700

Revision 15998  Directory Listing
Modified Wed Feb 23 01:35:42 2011 UTC (6 years, 7 months ago) by finetjul
ENH: Split layout mechanism between ctkLayoutManager and qMRMLLayoutManager

Revision 15984  Directory Listing
Modified Fri Feb 18 23:59:30 2011 UTC (6 years, 7 months ago) by jcfr
COMP: In SlicerMacroBuildModuleLogic - Add vtkVolumeRenderingPythonD to the list of library to link against

This is a temporary fix, an additional parameter named WRAPPED_TARGET_LIBRARIES
will be added to the macro.

The libraries passed as "wrapped" target libraries will be link against
as they were regular target libraries.

The difference is that these "wrapped" libraries will be
suffixed with "PythonD", this updated list will then be used as target
link libraries with the wrapped module logic.

Revision 15983  Directory Listing
Modified Fri Feb 18 23:59:27 2011 UTC (6 years, 7 months ago) by jcfr
COMP: Link wrapped module logic library against PYTHON_LIBRARIES

Doing so avoid undefined symbol when linking with --no-undefined flag

Revision 15962  Directory Listing
Modified Sat Feb 12 21:39:51 2011 UTC (6 years, 7 months ago) by jcfr
ENH: DashboardDriverScript CTest parallel level can be customized

If a variable named CTEST_PARALLEL_LEVEL is defined in the dashboard script
it will be used, otherwise it will the default to 8.

Revision 15944  Directory Listing
Modified Tue Feb 1 18:24:07 2011 UTC (6 years, 7 months ago) by zach.mullen
ENH: update MIDAS.cmake midas_add_test macro: Add MIDAS_DIRECTORY support.

Revision 15923  Directory Listing
Modified Sun Jan 30 01:47:13 2011 UTC (6 years, 7 months ago) by jcfr
COMP: Remove ref to KWWidgets, Slicer_USE_PYTHON, Slicer_BUILD_MODULES, ...

KWWidgets external project has been removed

Reference to Slicer_USE_PYTHON have been removed

Reference to Slicer_BUILD_MODULES has been removed

Launcher.tcl also has been cleaned

Deprecated function from qSlicerCoreApplication have been removed

Reference to Tcl wrapping within the core component of Slicer have been
removed. note that Slicer/Libs haven't been updated. Indeed, in case other
project want to benefit from Tcl wrapping ...

Revision 15841  Directory Listing
Modified Fri Jan 14 22:15:41 2011 UTC (6 years, 8 months ago) by finetjul
ENH: Expose cmake variables into the build dir of Slicer for external use.

Add an example to compile a module outside of slicer.

Revision 15838  Directory Listing
Modified Thu Jan 13 23:04:56 2011 UTC (6 years, 8 months ago) by jcfr
COMP: Fix 'new' Slicer launcher settings associated with Python

Revision 15828  Directory Listing
Modified Thu Jan 13 10:24:44 2011 UTC (6 years, 8 months ago) by jcfr
COMP: SlicerCTKAppLauncherSettings - LibArchive library path added properly to the launcher settings

Revision 15777  Directory Listing
Modified Sat Jan 8 22:19:26 2011 UTC (6 years, 8 months ago) by jcfr
COMP: AppLauncher - Add Slicer_INSTALL_QTLOADABLEMODULES_LIB_DIR to PYTHONPATH when installed

Since the wrapped module logic are installed along with the loadable module,
let's make sure the python path is updated.

Revision 15775  Directory Listing
Modified Sat Jan 8 21:56:02 2011 UTC (6 years, 8 months ago) by jcfr
STYLE: DashboardDriverScript - Use convenient variable "slicer_build_dir" locally defined

Revision 15774  Directory Listing
Modified Sat Jan 8 21:55:41 2011 UTC (6 years, 8 months ago) by jcfr
BUG: DashboardDriverScript - ctest_coverage ignore BUILD argument.

Let's make it's aware of the appropriate target directories.

Revision 15737  Directory Listing
Modified Thu Jan 6 21:27:48 2011 UTC (6 years, 8 months ago) by jcfr
ENH: Module logic python wrapper are now automatically generated and exposed to slicer python

The recommended way to retrieve the logic associated with a module is:

  slicer.modules.MODULENAME.logic()

Note that all vtk classes provided by a given module logic are
directly available in 'slicer' namespace.

For example, the following object could be directly instantiated:
  slicer.vtkSlicerVolumesLogic
  slicer.vtkMRMLFetchMINode
  slicer.vtkMRMLFetchMINode
  slicer.vtkSlicerEMSegmentLogic

Note also that libraries specific to a module, for example
 Modules/EMSegment/MRML, are not yet wrapped or exposed to python.

Revision 15719  Directory Listing
Modified Wed Jan 5 22:45:10 2011 UTC (6 years, 8 months ago) by pieper
BUG: turns out that the ctkMacroCompilePythonScript does not work when referring to files in a subdirectory - put the file in CMAKE_CURRENT_SOURCE_DIR instead

Revision 15718  Directory Listing
Modified Wed Jan 5 22:06:43 2011 UTC (6 years, 8 months ago) by pieper
BUG: find python init script in Python subdir rather than in with C++ files

Revision 15715  Directory Listing
Modified Wed Jan 5 21:55:55 2011 UTC (6 years, 8 months ago) by pieper
ENH: add python wrapping for module logics

Revision 15708  Directory Listing
Modified Tue Jan 4 22:49:15 2011 UTC (6 years, 8 months ago) by finetjul
COMP: Remove useless output message in CMake

Revision 15701  Directory Listing
Modified Tue Jan 4 20:12:54 2011 UTC (6 years, 8 months ago) by finetjul
ENH: Use vtkMRMLAbstractLogic instead of vtkSlicerLogic as a base class for

all the modules logics.
Move pure MRML functionalities from vtkSlicerColorLogic into
vtkMRMLColorLogic

Revision 15679  Directory Listing
Modified Mon Dec 20 17:25:01 2010 UTC (6 years, 9 months ago) by zach.mullen
ENH: update MIDAS.cmake midas_add_test macro: Add MIDAS_FETCH_ONLY support.

Revision 15654  Directory Listing
Modified Fri Dec 17 21:22:43 2010 UTC (6 years, 9 months ago) by partyd
ENH: Fix slicerInstallLibrary to properly copy versioned so/dylibs.

Revision 15653  Directory Listing
Modified Fri Dec 17 20:14:41 2010 UTC (6 years, 9 months ago) by zach.mullen
ENH: update MIDAS.cmake midas_add_test macro

Revision 15651  Directory Listing
Modified Fri Dec 17 19:41:49 2010 UTC (6 years, 9 months ago) by zach.mullen
ENH: Move BRAINSTools testing data to midas.kitware.com and reference the remote data in the tests

Revision 15650  Directory Listing
Modified Fri Dec 17 19:01:09 2010 UTC (6 years, 9 months ago) by jcfr
BUG: slicerFunctionGetGccVersion - Make sure trailing spaces are trimmed

Revision 15648  Directory Listing
Modified Fri Dec 17 17:57:38 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Fix macro slicerInstallLibrary - Apple is now handled like UNIX

As described below, the previous code specific to APPLE was
improperly specifying the path:

/Users/pieper/Downloads/Slicer-4.0.beta-r15645-Darwin
common:Slicer-4.0.beta-r15645-Darwin pieper$ find . -iname libarc\*
./lib/Slicer3/Users/partyd/Kitware/Slicer/build/libarchive-install
./lib/Slicer3/Users/partyd/Kitware/Slicer/build/libarchive-install/lib/libarchive.8.dylib
./lib/Slicer3/Users/partyd/Kitware/Slicer/build/libarchive-install/lib/libarchive.a
./lib/Slicer3/Users/partyd/Kitware/Slicer/build/libarchive-install/lib/libarchive.dylib

Revision 15646  Directory Listing
Modified Fri Dec 17 16:55:43 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Conditionally includes '-fstack-protector-all' when building with Gcc

With older version of gcc supporting the flag -fstack-protector-all,
an extra dependency to libssp.so is introduced. If gcc version is
less than 4.4.0 and the build type is Release let's not include the flag.

Doing so should allow to build Release package made for distribution using older linux distro
without introducing an extra dependency.

Revision 15617  Directory Listing
Modified Thu Dec 16 07:36:28 2010 UTC (6 years, 9 months ago) by jcfr
COMP: LibArchive - Install the DLL for windows build

Revision 15610  Directory Listing
Modified Thu Dec 16 05:07:45 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Add QTScriptedModules pythonpath to SlicerCTKAppLauncherSettings

Revision 15605  Directory Listing
Modified Thu Dec 16 02:25:09 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Added slicerInstallLibrary CMake function allowing to install properly library that could be symlink

Revision 15604  Directory Listing
Modified Thu Dec 16 02:25:07 2010 UTC (6 years, 9 months ago) by jcfr
STYLE: Add comment into CMake/SlicerCTKAppLauncherSettings.cmake

Revision 15582  Directory Listing
Modified Wed Dec 15 15:35:33 2010 UTC (6 years, 9 months ago) by zach.mullen
ENH: Add MIDAS CMake module

Revision 15566  Directory Listing
Modified Tue Dec 14 23:20:17 2010 UTC (6 years, 9 months ago) by jcfr
COMP: SlicerCTKAppLauncherSettings - Use <CMAKE_CFG_INTDIR> and also fix {CTK, Libarchive} path

Revision 15556  Directory Listing
Modified Tue Dec 14 06:45:12 2010 UTC (6 years, 9 months ago) by finetjul
ENH: Add LibArchive into Slicer launcher

Revision 15551  Directory Listing
Modified Tue Dec 14 04:51:40 2010 UTC (6 years, 9 months ago) by jcfr
COMP: SlicerMacroBuildBaseQtLibrary - Enable python wrapping if Slicer_USE_PYTHONQT is ON

Revision 15550  Directory Listing
Modified Tue Dec 14 04:06:19 2010 UTC (6 years, 9 months ago) by jcfr
COMP: SlicerMacroBuildBaseQtLibrary - Pass valid source files ctkMacroWrapPythonQt

Revision 15548  Directory Listing
Modified Tue Dec 14 00:28:23 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Fix typo in SlicerMacroBuildBaseQtLibrary

Use SLICERQTBASELIB_WRAP_PYTHONQT instead of MY_WRAP_PYTHONQT

Revision 15547  Directory Listing
Modified Tue Dec 14 00:25:00 2010 UTC (6 years, 9 months ago) by jcfr
STYLE: Document SlicerMacroBuildBaseQtLibrary

Revision 15546  Directory Listing
Modified Tue Dec 14 00:24:58 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Added option WRAP_PYTHONQT to macro SlicerMacroBuildBaseQtLibrary

Revision 15534  Directory Listing
Modified Mon Dec 13 02:53:24 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Add FindLibArchive.cmake

Since the module is not provided with the minimum required version
of cmake (2.8.2), let's copy the module now provided with cmake 2.8.3 (>=b011840)
into Slicer cmake directory.

Note also that the file have been modified to look for
FindPackageHandleStandardArgs.cmake into all available cmake module path
instead of the folder where the module FindLibArchive.cmake  is itself included.

Revision 15479  Directory Listing
Modified Wed Dec 8 09:22:40 2010 UTC (6 years, 9 months ago) by jcfr
ENH: Update SlicerCTKAppLauncherSettings to consider the new install lib dir associated with CTK, ITK and VTK

Revision 15449  Directory Listing
Modified Tue Dec 7 00:43:48 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Rename SlicerModuleLogicMacros.cmake into SlicerMacroBuildModuleLogic.cmake

Revision 15448  Directory Listing
Modified Tue Dec 7 00:43:41 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Rename DiscoverSystemNameAndBits into SlicerDiscoverSystemNameAndBits

Revision 15447  Directory Listing
Modified Tue Dec 7 00:43:38 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Rename SlicerParseArgumentsMacro.cmake into SlicerMacroParseArguments.cmake

Revision 15446  Directory Listing
Modified Tue Dec 7 00:43:35 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Rename SlicerTodayMacro.cmake into SlicerMacroToday.cmake

Revision 15445  Directory Listing
Modified Tue Dec 7 00:43:32 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Rename SlicerQTBaseLibraryMacros.cmake into SlicerMacroBuildBaseQtLibrary.cmake

Revision 15444  Directory Listing
Modified Tue Dec 7 00:43:27 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Rename SlicerQTModuleMacros.cmake into SlicerMacroBuildQtModule.cmake

Revision 15443  Directory Listing
Modified Tue Dec 7 00:23:46 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Base libraries and slicerQt application CMakeLists uses CDash labels

Revision 15431  Directory Listing
Modified Tue Dec 7 00:23:05 2010 UTC (6 years, 9 months ago) by jcfr
COMP: CLI and CLI/Testing uppdated to use CDash labels

Also simplify the code by using macro slicerMacroBuildCLI

Revision 15430  Directory Listing
Modified Tue Dec 7 00:23:00 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Add convenient macro "slicerMacroBuildCLI" allowing to build CLI

Revision 15376  Directory Listing
Modified Mon Dec 6 02:31:34 2010 UTC (6 years, 9 months ago) by jcfr
COMP: Use ctkMacroCompilePythonScript instead of Slicer_compile_python_scripts

Revision 15232  Directory Listing
Modified Tue Nov 9 15:42:31 2010 UTC (6 years, 10 months ago) by jcfr
BUG: dashboardDriverScript - Reset force_build to avoid unnecessary dashboard submission

Revision 15226  Directory Listing
Modified Thu Nov 4 19:06:23 2010 UTC (6 years, 10 months ago) by jcfr
BUG: Add FindCTK.cmake to repository

Doing so will avoid to download it directly from github

Revision 15224  Directory Listing
Modified Wed Nov 3 19:46:26 2010 UTC (6 years, 10 months ago) by jcfr
STYLE: Use more explicit variable name in SlicerDashboardDriverScript.cmake

Revision 15223  Directory Listing
Modified Wed Nov 3 19:46:24 2010 UTC (6 years, 10 months ago) by jcfr
ENH: Include Qt version only in the build name, removed it from the build dir

Doing so will reduce the length of the directory name ... and will help
to fight against the 260 chars limit associated with filepath on windows

Revision 15198  Directory Listing
Modified Fri Oct 29 19:44:08 2010 UTC (6 years, 10 months ago) by jcfr
BUG: Fix dashboard template script removing comments from ADDITIONAL_CMAKECACHE_OPTION variable

Revision 15193  Directory Listing
Modified Fri Oct 29 03:27:06 2010 UTC (6 years, 10 months ago) by jcfr
STYLE: Added ADDITIONAL_{C/CXX}_FLAGS to dashboard template script

Revision 15182  Directory Listing
Modified Thu Oct 28 05:35:19 2010 UTC (6 years, 10 months ago) by jcfr
STYLE: Do not use IMMEDIATE with CONFIGURE_FILE. Default behavior since cmake 2.2

See http://www.mail-archive.com/cmake@cmake.org/msg22231.html

Revision 15179  Directory Listing
Modified Thu Oct 28 00:00:28 2010 UTC (6 years, 11 months ago) by jcfr
ENH: Slicer_USE_QT doesn't need to be set in the dashboard script

Slicer_USE_QT is already set to ON in Slicer CMakeLists.txt

Revision 15178  Directory Listing
Modified Thu Oct 28 00:00:26 2010 UTC (6 years, 11 months ago) by jcfr
ENH: CTEST_GIT_COMMAND should be set in the dashboard script

Revision 15176  Directory Listing
Modified Thu Oct 28 00:00:22 2010 UTC (6 years, 11 months ago) by jcfr
ENH: Regular C/CXX flags automatically added for GNUCXX compiler

The macro SlicerFunctionCheckCompilerFlags allows to check
if a given flag supported by the underlying compiler

Revision 15174  Directory Listing
Modified Thu Oct 28 00:00:17 2010 UTC (6 years, 11 months ago) by jcfr
ENH: Simplify and optimize superbuild

External project specification have been added to SuperBuild.cmake

Running:
  1) "cmake ../Slicer4" => Build using SuperBuild
  2) "cmake -DSlicer_SUPERBUILD:BOOL=OFF ../Slicer4" => Build without Superbuild

In case (2), all external dependencies (VTK, ITK, ...) will have
to be specified manually.

Layout of the CMakeLists.txt has been reviewed to improve readability

Factored out cmake code and use macro SlicerMacroEmptyExternalProject
in VTK, ITK and CTK external project description.

${ep_common_args} has been introduced to contain option common
to all external project.

launcher.tcl.in has been updated to properly behave when KWWidgets_*_DIR
are not specified.

CTestCustom files has been merged into one file now located
in CMake subdirectory

SlicerFindQt.cmake has been removed, Qt discovery is now handled
directly in both CMakeLists.txt and SuperBuild.cmake

{Subversion_SVN, GIT}_EXECUTABLE are now discovered at superbuild
configure time. In case of error a message will be immediately thrown
in case of problem.

Dashboard template and driver script have been updated to reflect new
directory layout.

Revision 15170  Directory Listing
Modified Wed Oct 27 23:50:02 2010 UTC (6 years, 11 months ago) by jcfr
STYLE: Use BUILD_TESTING variable

Change occurrences of Slicer_BUILD_TESTING into BUILD_TESTING

Revision 15167  Directory Listing
Modified Tue Oct 26 14:48:32 2010 UTC (6 years, 11 months ago) by jcfr
BUG: DashboardDriverScript - Update info submitted only when needed

Revision 15165  Directory Listing
Modified Tue Oct 26 03:37:23 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Update provided FindGit.cmake to look into usual PATHS

Revision 15164  Directory Listing
Modified Mon Oct 25 23:48:19 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Use GIT_EXECUTABLE instead of Git_EXECUTABLE

Revision 15152  Directory Listing
Modified Mon Oct 25 19:12:32 2010 UTC (6 years, 11 months ago) by jcfr
STYLE: Dashboard script - Fix spelling mistake

Revision 15151  Directory Listing
Modified Mon Oct 25 18:19:27 2010 UTC (6 years, 11 months ago) by jcfr
ENH: Add dashboard template script and driver script

Using the Template script is an easy way to setup a dashboard.

By setting few variable and running the customized dashboard script,
it's possible to setup either a nightly, continuous or experimental
dashboard just by changing the value of the SCRIPT_MODE variable.

The script also provides options like WITH_KWSTYLE, WITH_COVERAGE,
WITH_DOCUMENTATION ... allowing to run the associated process.

While the provided template script is very simple, the implementation
details are left to the driver script. This later one is downloaded each
time the customized template script is ran. Doing so allows to update and
fine-tune the driver script without updating all associated dashboard scripts.

Revision 15122  Directory Listing
Modified Tue Oct 12 15:09:08 2010 UTC (6 years, 11 months ago) by jcfr
BUG: Slicer_compile_python_scripts - Fix paths

Quotes are now properly placed

The "$" associated with "$ENV{}" is now escaped. Doing so ensure that
"$ENV{}" is written to the script instead of being directly evaluated.

Revision 15113  Directory Listing
Modified Fri Oct 8 03:44:00 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename project Slicer3 into Slicer

Revision 15112  Directory Listing
Modified Fri Oct 8 03:42:02 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_ModuleLogic_Base_LIBRARIES into Slicer_ModuleLogic_Base_LIBRARIES

Revision 15111  Directory Listing
Modified Fri Oct 8 03:41:55 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_BUILD_WIN32_CONSOLE into Slicer_BUILD_WIN32_CONSOLE

Revision 15109  Directory Listing
Modified Fri Oct 8 03:41:33 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_TCL_DIR into Slicer_TCL_DIR

Revision 15108  Directory Listing
Modified Fri Oct 8 03:41:29 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_{Base,Libs}* into Slicer_{Base,Libs}*

Revision 15103  Directory Listing
Modified Fri Oct 8 03:40:20 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_IGSTK into Slicer_USE_IGSTK

Note that there is no associated Option

Revision 15102  Directory Listing
Modified Fri Oct 8 03:40:17 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_NAVITRACK into Slicer_USE_NAVITRACK

Note that there is no associated Option

Revision 15097  Directory Listing
Modified Fri Oct 8 03:39:47 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_HOME into Slicer_HOME

Revision 15095  Directory Listing
Modified Fri Oct 8 03:38:56 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_BUILD_MODULES into Slicer_BUILD_MODULES

Revision 15094  Directory Listing
Modified Fri Oct 8 03:38:50 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_BUILD_TESTING into Slicer_BUILD_TESTING

Revision 15093  Directory Listing
Modified Fri Oct 8 03:38:42 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_INSTALL_QTLOADABLEMODULES* into Slicer_INSTALL_QTLOADABLEMODULES*

Revision 15091  Directory Listing
Modified Fri Oct 8 03:34:10 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_KWWIDGETS into Slicer_USE_KWWIDGETS

Revision 15090  Directory Listing
Modified Fri Oct 8 03:33:56 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_PYTHON into Slicer_USE_PYTHON

Revision 15089  Directory Listing
Modified Fri Oct 8 03:33:34 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_PYTHONQT into Slicer_USE_PYTHONQT

Revision 15088  Directory Listing
Modified Fri Oct 8 03:33:20 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_QT into Slicer_USE_QT

Revision 15087  Directory Listing
Modified Fri Oct 8 03:33:07 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_BUILD_CLI into Slicer_BUILD_CLI

Revision 15086  Directory Listing
Modified Fri Oct 8 03:32:57 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_BUILD_QTLOADABLEMODULES into Slicer_BUILD_QTLOADABLEMODULES

Revision 15084  Directory Listing
Modified Fri Oct 8 03:32:49 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_OPENIGTLINK into Slicer_USE_OPENIGTLINK

Revision 15083  Directory Listing
Modified Fri Oct 8 03:32:44 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_MIDAS into Slicer_USE_MIDAS

Revision 15082  Directory Listing
Modified Fri Oct 8 03:32:40 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3_USE_BatchMake into Slicer_USE_BatchMake

Revision 15080  Directory Listing
Modified Thu Oct 7 03:31:31 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3ModuleLogicMacros.cmake into SlicerModuleLogicMacros.cmake

Revision 15079  Directory Listing
Modified Thu Oct 7 03:30:57 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3QTModuleMacros.cmake into SlicerQTModuleMacros.cmake

Revision 15078  Directory Listing
Modified Thu Oct 7 03:30:41 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3QTBaseLibraryMacros.cmake into SlicerQTBaseLibraryMacros.cmake

Revision 15077  Directory Listing
Modified Thu Oct 7 03:30:29 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3FindQT.cmake into SlicerFindQT.cmake

Revision 15076  Directory Listing
Modified Thu Oct 7 03:30:20 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3TodayMacro.cmake into SlicerTodayMacro.cmake

Revision 15075  Directory Listing
Modified Thu Oct 7 03:30:10 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3ParseArgumentsMacro.cmake into SlicerParseArgumentsMacro.cmake

Revision 15074  Directory Listing
Modified Thu Oct 7 03:30:00 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Remove unused file CMake/Slicer3PatchPythonQt.cmake.in

Revision 15073  Directory Listing
Modified Thu Oct 7 03:29:55 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename Slicer3CompilePythonScripts.cmake into SlicerCompilePythonScripts.cmake

Revision 15070  Directory Listing
Modified Thu Oct 7 03:29:24 2010 UTC (6 years, 11 months ago) by jcfr
COMP: Rename variable Slicer3_INSTALL_* into Slicer_INSTALL_*

Revision 15068  Directory Listing
Modified Thu Oct 7 02:41:43 2010 UTC (6 years, 11 months ago) by jcfr
ENH: Added option Slicer_USE_CTKAPPLAUNCHER allowing to test CTKAppLauncher

Revision 15045  Directory Listing
Modified Fri Oct 1 15:52:08 2010 UTC (6 years, 11 months ago) by jcfr
BUG: Slicer3CompilePythonScripts now sets PYTHON_LIBRARY_PATH before it invokes Python interp

Revision 14787  Directory Listing
Modified Tue Aug 31 22:54:42 2010 UTC (7 years ago) by jcfr
STYLE: Add license header to QTCoreModules, QTCLI, QTGUI, QTCore, Applications/SlicerQT

Revision 14588  Directory Listing
Modified Mon Aug 16 20:03:19 2010 UTC (7 years, 1 month ago) by pieper
COMP: fix makefile dependency for python resource files

Revision 14582  Directory Listing
Modified Mon Aug 16 18:32:59 2010 UTC (7 years, 1 month ago) by jcfr
STYLE: Remove extra comment from Slice3_compile_python_scripts macro

Revision 14580  Directory Listing
Modified Mon Aug 16 18:32:47 2010 UTC (7 years, 1 month ago) by jcfr
COMP: Added macro Slicer3_compile_python_scripts

Factored out CMake code from Base/Python/CMakeLists.txt for future re-use

Revision 13838  Directory Listing
Modified Thu Jun 17 08:27:51 2010 UTC (7 years, 3 months ago) by jcfr
COMP: QTBaseLibraries and qMRMLWidgets now link against CTK_EXTERNAL_LIBRARIES

Revision 13801  Directory Listing
Modified Tue Jun 15 18:12:21 2010 UTC (7 years, 3 months ago) by finetjul
ENH: Merge Base/QTBase with Base/QTCore

Some QtGUI dependent code was in Base/QTBase (qSlicerWidget,
qSlicerAbstractModuleWidget...) but Base/QTBase is not supposed to have
any QtGUI dependent code.
Moreover, QTBase and QTCore had no striking difference, they should be
merged.
QTBase is then moved into QtCore and QtGUI depending on the dependencies.
qSlicerAbstractModule (non gui) was depending on
qSlicerAbstractModuleWidget (gui), we created an intermediate class:
qSlicerAbstractModuleRepresentation (non gui) to remove the dependency
with GUI code. As the last class share a property with qSlicerWidget
(MRMLScene), we created a base class that contains the property.
ctkSettings is a gui class but is used in qSlicerCoreApplication, we now
handle QSettings in qSlicerCoreApplication and ctkSettings in
qSlicerApplication.

Revision 13534  Directory Listing
Modified Thu May 27 21:02:38 2010 UTC (7 years, 4 months ago) by jcfr
COMP: Update Qt version checking mechanism - Require Qt >= 4.6.2

Revision 13470  Directory Listing
Modified Mon May 24 23:29:24 2010 UTC (7 years, 4 months ago) by jcfr
COMP: Superbuild - Move CMake/CTestCustom.cmake.in into Superbuild directory

Revision 13469  Directory Listing
Modified Mon May 24 23:29:20 2010 UTC (7 years, 4 months ago) by jcfr
COMP: Superbuild - Set the number of reported warning to -1 (unlimited)

Revision 13451  Directory Listing
Modified Sun May 23 11:41:31 2010 UTC (7 years, 4 months ago) by partyd
ENH: more warning supression for blt.

Revision 13450  Directory Listing
Modified Sun May 23 02:15:55 2010 UTC (7 years, 4 months ago) by partyd
ENH: add more warnings.

Revision 13437  Directory Listing
Modified Fri May 21 13:14:53 2010 UTC (7 years, 4 months ago) by partyd
COMP: more warning supression for SuperBuilds.

Revision 13420  Directory Listing
Modified Thu May 20 13:36:45 2010 UTC (7 years, 4 months ago) by partyd
ENH: add more warning supression. COMP: Fix mistakenly added dependency of Python on Tk when building on Windows.

Revision 13409  Directory Listing
Modified Wed May 19 12:56:53 2010 UTC (7 years, 4 months ago) by partyd
ENH: Add new CTestCustom file that will exclude warnings from external project libraries other than Slicer. This should make the dashboard much easier to read.

Revision 13329  Directory Listing
Modified Tue May 11 22:01:21 2010 UTC (7 years, 4 months ago) by partyd
ENH: remove the local ExternalProject and instead use CTK's.

Revision 13315  Directory Listing
Modified Tue May 11 16:43:17 2010 UTC (7 years, 4 months ago) by finetjul
ENH: Merge Slicer4 branch on trunk rev12438 -> rev13314

Revision 13285  Directory Listing
Modified Fri May 7 18:17:52 2010 UTC (7 years, 4 months ago) by partyd
ENH: add a modified version of ExternalProject that has a bug fix to address changes to configure options not propagating properly.

Revision 12788  Directory Listing
Modified Fri Apr 16 22:13:17 2010 UTC (7 years, 5 months ago) by pieper
BUG: adding _64 to build name broke the extension download URL.  No need to add _64 because all osx slicer builds at 64 bit - see  http://en.wikipedia.org/wiki/X86-64#Mac_OS_X

Revision 12430  Directory Listing
Modified Tue Mar 23 01:32:09 2010 UTC (7 years, 6 months ago) by partyd
ENH: fixes for Mac to properly patch and build incrtcl.

Revision 12244  Directory Listing
Modified Thu Feb 25 22:36:22 2010 UTC (7 years, 7 months ago) by jcfr
BUG: Update CMake/Slicer3ModuleLogicMacros to not link against either SlicerQT libraries or BaseGUI library

Revision 12229  Directory Listing
Modified Thu Feb 25 21:34:58 2010 UTC (7 years, 7 months ago) by jcfr
ENH: SlicerQT - Added cmake script, diff files and PythonQtCMakeLists.txt allowing to patch PythonQT SVN head.

Revision 12101  Directory Listing
Modified Thu Feb 11 03:40:44 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Update CMake/Slicer3findQT.cmake to include QTTEST if Slicer3_BUILD_TESTING is enabled

Revision 12012  Directory Listing
Modified Fri Feb 5 14:37:56 2010 UTC (7 years, 7 months ago) by partyd
ENH: add cmake module to beable to automatically detect if there is a Fortran Compiler and then optionally build Fortran dependent Slicer third party libraries.

Revision 12011  Directory Listing
Modified Fri Feb 5 14:09:21 2010 UTC (7 years, 7 months ago) by partyd
ENH: move StringFindRepleace to a more appropriate place in the top level CMake directory.

Revision 11953  Directory Listing
Modified Wed Feb 3 19:07:19 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Update CMake/DiscoverSystemNameAndBits.cmake to correctly set Slicer3_BUILD on Darwin

Note: CMAKE_SYSTEM_PROCESSOR MATCHES was compared to 'Intel', it seems this
value isn't valid. 'powerpc' is used instead.

Revision 11910  Directory Listing
Modified Mon Feb 1 17:04:15 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Fix a typo error in CMake/DiscoverSystemNameAndBits

- ${Slicer_BUILD_BITS} was used instead of ${Slicer3_BUILD_BITS}

Revision 11904  Directory Listing
Modified Mon Feb 1 07:13:07 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Added macro Slicer3_build_module_logic simplifying the logic of each module into a separate library

Revision 11903  Directory Listing
Modified Mon Feb 1 07:13:04 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Update Slicer3QTModulesMacros - headers are now installed in ${Slicer3_INSTALL_QTLOADABLEMODULES_INCLUDE_DIR}/${QTMODULE_NAME}

Revision 11899  Directory Listing
Modified Sun Jan 31 18:34:55 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Added cmake script allowing to obtain the current name of the system.

After the script is included, the variable Slicer3_BUILD containing
will be available and should contain on of these value:
 solaris8,
 linux-x86
 linux-x86_64
 darwin-ppc
 darwin-x86
 darwin-x86_64
 win32
 win64

and  Slicer3_BUILD_BITS either "32" or "64"

Revision 11898  Directory Listing
Modified Sun Jan 31 18:34:52 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Added cmake macro TODAY allowing to obtain the current date in cross-platform fashion.

Use:
  include(.../Slicer3TodayMacro.cmake)

  TODAY(MyDate)

  MyDate  will be of the form: YYYY-MM-DD

Note: Should work on windows and unix-like platform

Revision 11897  Directory Listing
Modified Sun Jan 31 18:34:48 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Add FindGit.cmake to Slicer3/CMake

Within a CMakeLists.txt script, it's now possible to include git:

FIND_PACKAGE(Git)

If Git executable is found, the macro Git_WC_INFO is available.

Use:
  Git_WC_INFO(${CMAKE_CURRENT_SOURCE_DIR} Slicer3)

Then, the following variable are set:
  Slicer3_WC_REVISION_HASH
  Slicer3_WC_REVISION_NAME

and if git-svn is used:
  Slicer3_WC_REVISION
  Slicer3_WC_LAST_CHANGED_AUTHOR
  Slicer3_WC_LAST_CHANGED_REV
  Slicer3_WC_LAST_CHANGED_DATE

Revision 11894  Directory Listing
Modified Sat Jan 30 20:16:42 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Update the messages printed by Slicer3FindQT and Designer/CMakeLists.txt

Revision 11893  Directory Listing
Modified Sat Jan 30 20:08:05 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Tune  Slicer3FindQT.cmake script.
If VTK is configured properly, it's not required anymore to
enter QT_QMAKE_EXECUTABLE.

Revision 11891  Directory Listing
Modified Sat Jan 30 19:08:06 2010 UTC (7 years, 7 months ago) by ibanez
BUG: When checking for the QT setup of VTK, the variable VTK_QT_QMAKE_EXECUTABLE should be used instead of QT_QMAKE_EXECUTABLE.

Revision 11862  Directory Listing
Modified Fri Jan 29 16:05:56 2010 UTC (7 years, 7 months ago) by jcfr
COMP: Review Slicer3FindQT.cmake to accept Qt version 4.6 and above

Revision 11844  Directory Listing
Modified Thu Jan 28 22:05:21 2010 UTC (7 years, 7 months ago) by jcfr
COMP: SlicerQT - Updated Slicer3QT CMake macro to automatically create two source groups: Resources and Generated

These source groups should, for example, appear when the project is loaded
in visual studio.

See http://www.cmake.org/Wiki/CMake_FAQ#How_To_Put_Files_in_Folders_in_Visual_Studio_Projects

Revision 11601  Directory Listing
Modified Tue Jan 12 17:58:25 2010 UTC (7 years, 8 months ago) by jcfr
COMP: SlicerQT - Slicer3_USE_QT is now define using #cmakedefine Slicer3_USE_QT in vtkSlicerConfigure.h.in

Note: It was previously defined using ADD_DEFINITIONS(-DSlicer3_USE_QT) in CMake/Slicer3FindQT.cmake

Revision 11337  Directory Listing
Modified Fri Dec 18 06:38:31 2009 UTC (7 years, 9 months ago) by jcfr
ENH: SlicerQT - QT 4.6 is now required while configuring the project

FIND_PACKAGE(Qt4)

has been changed into

FIND_PACKAGE(Qt4 4.6 EXACT)

Revision 11330  Directory Listing
Modified Wed Dec 16 11:59:04 2009 UTC (7 years, 9 months ago) by jcfr
ENH: SlicerQT - Merge QTModules/qSlicerQTModulesExport.h.in and Base/qSlicerBaseExport.h.in into qSlicerExport.h.in

Revision 11329  Directory Listing
Modified Wed Dec 16 11:50:28 2009 UTC (7 years, 9 months ago) by jcfr
ENH: SlicerQT - Remove QTModules/qSlicerQTModulesConfigure.h.in and rename qSlicerQTModulesWin32Header to qSlicerQTModulesExport.h.in

Revision 11314  Directory Listing
Modified Tue Dec 15 22:01:17 2009 UTC (7 years, 9 months ago) by jcfr
ENH: SlicerQT - Remove Base/qSlicerBaseConfigure.h.in and rename qSlicerBaseWind32Header.h.in to qSlicerBaseExport.h.in

Revision 11290  Directory Listing
Modified Tue Dec 15 09:02:00 2009 UTC (7 years, 9 months ago) by jcfr
COMP: Updated Slicer3PluginsMacros, GenerateSlicer3Config and Utilities/Package/CMakeLists.txt to include TCL/KWWidgets code only if required

Revision 11285  Directory Listing
Modified Tue Dec 15 09:01:42 2009 UTC (7 years, 9 months ago) by jcfr
STYLE: Remove extra comments from CMake/Slicer3FindQT.cmake

Revision 11255  Directory Listing
Modified Fri Dec 11 17:32:02 2009 UTC (7 years, 9 months ago) by jcfr
STYLE: Update CMakeLists.txt
 - Move testing code in the CMakeLists located under Testing.
 - Ensure that SlicerQT was build appropriately and without dependency on SlicerBaseGUI

Revision 11220  Directory Listing
Modified Tue Dec 8 18:29:18 2009 UTC (7 years, 9 months ago) by jcfr
BUG: SlicerQT - Resource weren't added properly in CMake/Slicer3QTBaseLibraryMacros

Revision 11208  Directory Listing
Modified Tue Dec 8 04:13:34 2009 UTC (7 years, 9 months ago) by jcfr
ENH: SlicerQT - Add Libs/qVTKWidgets

This library will contain QT widget that depends only on QT and CTK

Revision 11146  Directory Listing
Modified Fri Dec 4 05:13:37 2009 UTC (7 years, 9 months ago) by jcfr
BUG: SlicerQT - Fix Slicer3QTBaseLibraryMacros

In r11143, Base/QT libraries have been renamed from SlicerBaseQT* to qSlicerBaseQT*.

In the mean time, macro Slicer3QTBaseLibraryMacros was configuring the win32 header file improperly.

Removing the extra q solved the problem.

Revision 11115  Directory Listing
Modified Wed Dec 2 16:10:03 2009 UTC (7 years, 9 months ago) by jcfr
BUG: SlicerQT - The resource files weren't compiled and added to the source correctly

Revision 11051  Directory Listing
Modified Wed Nov 25 20:56:03 2009 UTC (7 years, 10 months ago) by jcfr
ENH: SlicerQT - Copy all the slicer related logo into 'Slicer3/Resources/Images' and create the resource file 'Slicer3/Resources/qSlicerLogos.qrc'. Update Slicer3_build_qtmodule macro to automatically include the resource file 'qSlicerLogos.qrc'

Revision 11035  Directory Listing
Modified Tue Nov 24 15:25:09 2009 UTC (7 years, 10 months ago) by jcfr
STYLE: SlicerQT - Clean Slicer3QTModuleMacros

Revision 11004  Directory Listing
Modified Thu Nov 19 16:18:07 2009 UTC (7 years, 10 months ago) by jcfr
ENH: SlicerQT - Update macro 'Slicer3_build_qtmodule', the list of resources can now be paassed as a parameter.

Revision 10929  Directory Listing
Modified Wed Nov 11 05:36:03 2009 UTC (7 years, 10 months ago) by jcfr
BUG: SlicerQT - Fix Slicer3QTModuleMacros and Slicer3QTBaseLibraryMacros Macros. The variable 'MY_WIN32_HEADER_PREFIX' was incorrectly set.

Revision 10926  Directory Listing
Modified Wed Nov 11 01:34:11 2009 UTC (7 years, 10 months ago) by jcfr
ENH: SlicerQT - Split Base/GUIQT into Base/QTBase and Base/QTGUI

Revision 10894  Directory Listing
Modified Fri Nov 6 22:59:12 2009 UTC (7 years, 10 months ago) by jcfr
ENH: SlicerQt - Major refactoring. Module are now initialized within the overloaded function 'initializer'. qCTKFactory classed is now the base for Plugin and Object factory. Other kind of factory can easily be implemented. Module title should be set in the CMakeLists.txt of each QT module.

Revision 10843  Directory Listing
Modified Mon Nov 2 15:38:46 2009 UTC (7 years, 10 months ago) by jcfr
BUG: QtSlicer - Remove macro qSlicerGetModuleTitleDefinitionMacro/qSlicerGetModuleTitleDeclrationMacro and add the virtual method moduleTitle. In vtkSlicerApplication, rename method InitializeQtModule to InitializeQtCoreModule and add method InitializeQtCoreModules. Update QTModules and add the QtPlugin declaration. Update the appropriate header and cmake files in order to install the Qt loadable modules into a separate directory named 'QTLoadableModules'

Revision 10838  Directory Listing
Modified Mon Nov 2 10:31:48 2009 UTC (7 years, 10 months ago) by finetjul
COMP: SlicerQT: Fix windows compilation errors

Revision 10822  Directory Listing
Modified Sat Oct 31 00:13:46 2009 UTC (7 years, 10 months ago) by jcfr
ENH: QtSlicer - Add GUIQT/Plugins directory. Rename QCTKWidgets/QMRMLWidgets to qCTKWidgets/qMRMLWidgets

Revision 10820  Directory Listing
Modified Fri Oct 30 22:37:03 2009 UTC (7 years, 10 months ago) by jcfr
BUG: QtSlicer - Since minium version required is 2.6, update Slicer3QTModuleMacros to avoid triggering the CMP00012 warning with cmake version above 2.6.5

Revision 10816  Directory Listing
Modified Fri Oct 30 21:16:42 2009 UTC (7 years, 10 months ago) by jcfr
BUG: QtSlicer - Update Slicer3QTModuleMacros to configure qSlicerQTModulesConfigure.h.in and qSlicerQTModulesWin32Header.h.in appropriately for the considered qt module

Revision 10805  Directory Listing
Modified Fri Oct 30 14:49:46 2009 UTC (7 years, 10 months ago) by jcfr
ENH: QtSlicer - Add CMake macro helping to write CMakeLists.txt for loadable QtModule

Revision 10711  Directory Listing
Modified Tue Oct 20 22:11:24 2009 UTC (7 years, 11 months ago) by finetjul
ENH: SlicerQt: Add Slicer3_USE_KWWidgets variable

Revision 10581  Directory Listing
Modified Wed Oct 7 11:47:33 2009 UTC (7 years, 11 months ago) by jcfr
ENH: Initial commit of the QtSlicer port. Added subdirs Base/GUI2, Libs/QCTKWidgets and Libs/QMRMLWidgets. Updated Application/GUI/Slicer3 and Base/GUI/vtkSlicerApplication to be able to initialize and start QtModule. CMakeLists.txt also updated to consider the script CMake/Slicer3FindQT.cmake

Revision 10427  Directory Listing
Modified Tue Sep 8 23:25:42 2009 UTC (8 years ago) by pieper
ENH: better valgrind cut and paste

Revision 9363  Directory Listing
Modified Thu Apr 30 12:25:21 2009 UTC (8 years, 4 months ago) by pieper
COMP: fix cmake file for machines that don't have cuda sdk installed

Revision 9361  Directory Listing
Modified Thu Apr 30 05:20:38 2009 UTC (8 years, 4 months ago) by nicky
ENH:Let CUDA_SUPPORT_ENABLED flag be set to ON automatically if CUDA is 
found in the system. 

Revision 9165  Directory Listing
Modified Mon Apr 13 06:15:31 2009 UTC (8 years, 5 months ago) by nicky
ENH: update FindCuda.cmake to support various systems better

Revision 7799  Directory Listing
Modified Wed Nov 5 23:39:51 2008 UTC (8 years, 10 months ago) by pieper
COMP: change from TEEM to Teem for compatibility with current svn trunk of teem

Revision 7615  Directory Listing
Modified Sat Sep 27 19:45:16 2008 UTC (8 years, 11 months ago) by lorensen
ENH: the start of ctest scripts for building Slicer3/

Revision 7601  Directory Listing
Modified Wed Sep 24 09:17:10 2008 UTC (9 years ago) by nicky
ENH:delete unused FindCuda.cmake

Revision 7583  Directory Listing
Modified Tue Sep 16 04:06:55 2008 UTC (9 years ago) by nicky
ENH:FindCuda.cmake works on Mac OS X and Linux Fedora 8

Revision 7579  Directory Listing
Modified Sat Sep 13 01:36:09 2008 UTC (9 years ago) by nicky
ENH:integrate FindCuda.cmake

Revision 7565  Directory Listing
Modified Wed Sep 10 15:54:29 2008 UTC (9 years ago) by nicky
BUG:modify CMakeLists.txt so that cmake does not stop when CUDA_INSTALL_PREFIX is not set

Revision 7552  Directory Listing
Modified Tue Sep 9 15:42:03 2008 UTC (9 years ago) by nicky
ENH:added cuda CMake scripts

Revision 7240  Directory Listing
Modified Wed Jul 2 16:32:36 2008 UTC (9 years, 2 months ago) by barre
ENH: fix missing FUNC

Revision 7223  Directory Listing
Modified Fri Jun 27 16:16:32 2008 UTC (9 years, 3 months ago) by barre
ENH: fix submission to dashboard for plugins

Revision 6920  Directory Listing
Modified Thu May 29 19:22:36 2008 UTC (9 years, 3 months ago) by barre
ENH: hide testing tricks inside a macro

Revision 6889  Directory Listing
Modified Tue May 27 22:44:06 2008 UTC (9 years, 4 months ago) by barre
ENH: Plugins and Modules have specific location for their binairies/dll, different from the usual bin/ and lib/ (i.e. lib/Slicer3/Plugins, lib/Slicer3/Modules). This was achieved by setting LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH from the slicer3_set_default_modules_output_path and slicer3_set_default_plugins_output_path macro, but it is a dangerous practice to override a global variable, as it propagates to subtrees. As a result, SlicerTractographySeeding, which combines a module and a CLP in the same CMakeLists, was not built to the proper directory; ExtractSkeleton was not output in the right location either, and several tests ended up in Plugins instead of bin/ (GaussianBlurImageFilterTest, OrientImageTest). Fix this by creating a macro that will set the LIBRARY_OUTPUT_DIRECTORY and RUNTIME_OUTPUT_DIRECTORY explicitly on a *target* basis, using SET_TARGET_PROPERTIES. This removes the side-effects described above.

Revision 6842  Directory Listing
Modified Mon May 26 15:04:40 2008 UTC (9 years, 4 months ago) by barre
ENH: added slicer3_install_modules and slicer3_install_plugins macro to hide the big INSTALL() command that was used to install plugins/modules; this is more elegant, and enable us to have better control on installation by modifying just one file.

Revision 6825  Directory Listing
Modified Thu May 22 20:17:55 2008 UTC (9 years, 4 months ago) by barre
ENH: more macros

Revision 6774  Directory Listing
Modified Tue May 20 07:31:11 2008 UTC (9 years, 4 months ago) by barre
ENH: Slicer3 Spring Installation Clean Up

Revision 4867  Directory Listing
Modified Sat Nov 17 20:30:22 2007 UTC (9 years, 10 months ago) by pieper
STYLE: typo

Revision 4142  Directory Listing
Modified Tue Aug 28 16:15:21 2007 UTC (10 years, 1 month ago) by pieper
ENH: some cleanups and new suppressions after testing with valgrind

Revision 2302  Directory Listing
Modified Wed Jan 24 18:28:34 2007 UTC (10 years, 8 months ago) by pieper
ENH: extra comment

Revision 2290  Directory Listing
Modified Tue Jan 23 18:20:58 2007 UTC (10 years, 8 months ago) by pieper
ENH: new suppressions for valgrind

Revision 2284  Directory Listing
Modified Mon Jan 22 22:12:35 2007 UTC (10 years, 8 months ago) by pieper
ENH: new valgrind suppressions

Revision 1579  Directory Listing
Added Tue Nov 14 18:51:00 2006 UTC (10 years, 10 months ago) by pieper
ENH: some support for using valgrind for bug hunting

  Subversion  TortoiseSVN  ViewVC