/[Slicer4]/branches/Slicer-4-6/Extensions
ViewVC logotype

Log of /branches/Slicer-4-6/Extensions

View Directory Listing Directory Listing


Sticky Revision:

Revision 25444 - Directory Listing
Modified Thu Oct 13 05:07:46 2016 UTC (12 months, 1 week ago) by jcfr
ENH: Branching from trunk to Slicer-4-6 at r25441

Revision 25440 - Directory Listing
Modified Thu Oct 13 03:50:40 2016 UTC (12 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: Extension build system: Fix use of wrapper script on windows. Fixes #4247

This commit ensures the build configuration is passed to the wrapped
command.

It fixes error like this one:


8:   SetMakeCommand:C:\D\Support\CMake-3.5.0-rc3\bin\cmake.exe --build . --config "$(Configuration)"
8:
8:   SetCTestConfiguration:MakeCommand:C:\D\Support\CMake-3.5.0-rc3\bin\cmake.exe --build . --config "$(Configuration)"
8:
8:   Build project
8:
8:   MakeCommand:C:\D\Support\CMake-3.5.0-rc3\bin\cmake.exe --build . --config "$(Configuration)"
8:   Run command: "C:\D\Support\CMake-3.5.0-rc3\bin\cmake.exe" "--build" "." "--config" "$(Configuration)"
8:
8:   Microsoft (R) Build Engine version 12.0.40629.0
8:   [Microsoft .NET Framework, version 4.0.30319.34209]
8:   Copyright (C) Microsoft Corporation. All rights reserved.
8:   Build started 10/12/2016 10:57:46 PM.
8:
8:   Project "C:\D\N\Slicer-1-build\Slicer-build\Extensions\CMake\Testing\build_with_upload-build\TestExtA-build\ALL_BUILD.vcxproj" on node 1 (default targets).
8:   Project "C:\D\N\Slicer-1-build\Slicer-build\Extensions\CMake\Testing\build_with_upload-build\TestExtA-build\ALL_BUILD.vcxproj" (1) is building "C:\D\N\Slic
er-1-build\Slicer-build\Extensions\CMake\Testing\build_with_upload-build\TestExtA-build\ZERO_CHECK.vcxproj" (2) on node 1 (default targets).
8:
8:
8: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets(61,5): error MSB8013: This project doesn't contain the Configuration an
d Platform combination of $(Configuration)|x64. [C:\D\N\Slicer-1-build\Slicer-build\Extensions\CMake\Testing\build_with_upload-build\TestExtA-build\ZERO_CHECK.v
cxproj] [C:\D\N\Slicer-1-build\Slicer-build\Extensions\CMake\Testing\build_with_upload-build\TestExtA.vcxproj]
8:

Revision 25439 - Directory Listing
Modified Thu Oct 13 03:50:38 2016 UTC (12 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: Extension build system: Ignore extension CTest return code. Fixes #4247

This commit ensures each "EXTENSION_UPLOAD_COMMAND" responsible to configure,
build, test and package any given extension is completely "sandboxed" by
using a wrapper script.

This is required because simply setting the RETURN_VALUE parameter
to the ctest_test() command is not enough to avoid the script from
exiting with error code.

#
# The following wrapper script is required to workaround issue #4247
# and avoid the all extension build from failing if a test of
# extension fail.
#
# Note that as soon as CMake >= 3.6.7 is released, it should be possible
# to remove the wrapper script and simply specify CAPTURE_CMAKE_ERROR
# ctest_test option.
#
# See https://cmake.org/cmake/help/v3.7/command/ctest_test.html
#

Tested-by: Isaiah Norton <inorton@bwh.harvard.edu>
Tested-by: Johan Andruejol <johan.andruejol@kitware.com>
Tested-by: Nicole Aucoin <nicole@bwh.harvard.edu>
Tested-by: Steve Pieper <pieper@isomics.com>

Reported-by: Csaba Pinter <csaba.pinter@queensu.ca>
Reported-by: Andras Lasso <lasso@cs.queensu.ca>

Thanks: All of the above

Revision 25438 - Directory Listing
Modified Thu Oct 13 03:50:37 2016 UTC (12 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: ExtensionBuildSystem: Update tests to illustrate #4247 problem.

Note: This commit causes the extension build system tests to fail.
      For sake of clarity, it is NOT squashed with the next commit
      that is fixing the problem.

---

On Ubuntu using 3.4.2

  $ ctest -R py_cmake_slicer_extensions
  Test project /home/jcfr/Projects/Slicer-Release/Slicer-build
      Start  7: py_cmake_slicer_extensions_index_build_without_upload
  1/4 Test  #7: py_cmake_slicer_extensions_index_build_without_upload ...............   Passed    7.05 sec
      Start  8: py_cmake_slicer_extensions_index_build_with_upload
  2/4 Test  #8: py_cmake_slicer_extensions_index_build_with_upload ..................***Failed   12.53 sec
      Start  9: py_cmake_slicer_extensions_index_build_with_upload_using_ctest
  3/4 Test  #9: py_cmake_slicer_extensions_index_build_with_upload_using_ctest ......   Passed   33.31 sec
      Start 10: py_cmake_slicer_extensions_index_build_without_upload_using_ctest
  4/4 Test #10: py_cmake_slicer_extensions_index_build_without_upload_using_ctest ...   Passed    7.29 sec

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

---

On Windows:

  C:\dev\slcr\s4-vs13\Slicer-build>ctest -C Debug -R py_cmake_slicer_extensions
  Test project C:/dev/slcr/s4-vs13/Slicer-build
      Start  7: py_cmake_slicer_extensions_index_build_without_upload
  1/4 Test  #7: py_cmake_slicer_extensions_index_build_without_upload ...............   Passed  129.20 sec
      Start  8: py_cmake_slicer_extensions_index_build_with_upload
  2/4 Test  #8: py_cmake_slicer_extensions_index_build_with_upload ..................***Failed  106.77 sec
      Start  9: py_cmake_slicer_extensions_index_build_with_upload_using_ctest
  3/4 Test  #9: py_cmake_slicer_extensions_index_build_with_upload_using_ctest ......***Failed  104.04 sec
      Start 10: py_cmake_slicer_extensions_index_build_without_upload_using_ctest
  4/4 Test #10: py_cmake_slicer_extensions_index_build_without_upload_using_ctest ... Passed 125.68 sec

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

---

On MacOSX:

  The following tests passed:
	  py_cmake_slicer_extensions_index_build_without_upload
	  py_cmake_slicer_extensions_index_build_with_upload_using_ctest
	  py_cmake_slicer_extensions_index_build_without_upload_using_ctest

  75% tests passed, 1 tests failed out of 4

  Label Time Summary:
  CMake    = 174.82 sec (4 tests)

  Total Test time (real) = 174.95 sec

  The following tests FAILED:
  8 - py_cmake_slicer_extensions_index_build_with_upload (Failed)

Tested-by: Steve Pieper <pieper@isomics.com>

---

Revision 25437 - Directory Listing
Modified Thu Oct 13 03:50:35 2016 UTC (12 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: midas_api_upload_extension: Do not report warning if metadata are empty

This commit is a follow up of r25434 (BUG: Extension upload: Ensure
missing optional metatdata do not cause failure), it fixes the following
warning:

```
8: CMake Warning (dev) at /home/jcfr/Projects/Slicer/Extensions/CMake/MIDASAPIUploadExtension.cmake:75 (message):
8:   warning: CMake variable EXTENSION_CATEGORY is empty !
8: Call Stack (most recent call first):
8:   /home/jcfr/Projects/Slicer/Extensions/CMake/SlicerExtensionPackageAndUploadTarget.cmake:260 (midas_api_upload_extension)
8:
8: This warning is for project developers.  Use -Wno-dev to suppress it.
```

Revision 25435 - Directory Listing
Modified Wed Oct 12 18:13:19 2016 UTC (12 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: Ensure ExtensionBuildSystem tests propagate CMAKE_OSX_* vars

This commit fixes error like this one:

```
7: -- Setting OSX_ARCHITECTURES to 'x86_64' as none was specified.
7: -- Setting OSX_SYSROOT to latest '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk' as none was specified.
7: CMake Error at /Users/inorton/git/slcr/r4/CMake/SlicerBlockSetCMakeOSXVariables.cmake:102 (message):
7:   The OSX_SYSROOT is set to version 10.12 (>10.8) and OSX_DEPLOYMENT_TARGET
7:   is not explicitly set!
7:
7:   Since:
7:
7:    (1) the default runtime associated with >=10.9 deployment target is 'libc++'.[1]
7:    (2) the default runtime associated with <=10.8 deployment target is 'libstdc++'.
7:    (3) Qt support for 'macx-clang-libc++' is listed as 'unsupported' mkspecs.
7:    (4) Qt binaries may be build against 'libstdc++' or 'libc++'.
7:    (5) Mixing the two different runtime in binaries is unstable.
7:     [1]http://stackoverflow.com/questions/19637164/c-linking-error-after-upgrading-to-mac-os-x-10-9-xcode-5-0-1/19637199#19637199
7:
7:   --------------------------------
7:
7:   Run '$otool -L $(which qmake) |grep lib.\*c++' to check what library Qt is
7:   built against:
7:
7:    (1) if it is libstdc++ then add '-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.8' (or older) to the cmake command line.
7:    (2) if it is libc++ then add '-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9' (or newer) to the cmake command line.
7:
7: Call Stack (most recent call first):
7:   CMakeLists.txt:14 (include)
7:
```


Reported-by: Isaiah Norton <isaiah.norton@gmail.com>
Tested-by: Isaiah Norton <isaiah.norton@gmail.com>

Revision 25434 - Directory Listing
Modified Wed Oct 12 18:13:17 2016 UTC (12 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
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 25357 - Directory Listing
Modified Wed Sep 14 01:09:50 2016 UTC (13 months ago) by lassoan
Original Path: trunk/Extensions
ENH: Make it simpler to add doc link to Python scripted modules

Link to module documentation can be added to the help text by a single line of code:
self.parent.helpText += self.getDefaultModuleDocumentationLink()

Updated existing modules to take advantage of this new method.
Also updated a few additional modules to use the common scripted module template
to get access to this new getDefaultModuleDocumentationLink method.

Revision 25311 - Directory Listing
Modified Thu Aug 25 15:40:09 2016 UTC (13 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
BUG: ExtensionBuildSystem: Fix tests builing extensions in deterministic order

This commit fixes the following tests on factory-south-ubuntu:

 py_cmake_slicer_extensions_index_build_with_upload
 py_cmake_slicer_extensions_index_build_with_upload_using_ctest

Revision 25305 - Directory Listing
Modified Tue Aug 23 22:02:24 2016 UTC (13 months, 3 weeks ago) by naucoin
Original Path: trunk/Extensions
BUG: Add the extension third party dirs to python additional launcher settings

This change will cause an addition to the inner build
AdditionalLauncherSettings.ini file in extensions with a superbuild
set up, adding the top level extension third party lib directory to the python
path settings. This will allow third party python packages to be loaded during
module tests.

Issue https://github.com/SBU-BMI/SlicerOpenCV/issues/12

Revision 25296 - Directory Listing
Modified Wed Aug 17 18:01:24 2016 UTC (14 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add ExtensionBuildSystem tests

This commit adds four tests (listed below). At the time of this
commit, tests have been confirmed to pass on Linux, MacOSX and
Windows.

For each tests, three extensions (each bundling one scripted module) are
generated: TestExtA, TestExtB and TestExtC.

The generated sources are programmatically edited adding TestExtA and
TestExtB as dependencies of TestExtC.

At the end of each tests, the following are checked:
- the CMakeCache.txt
- the list of requests made to CDash and Midas

List of tests:

* py_cmake_slicer_extensions_index_build_without_upload:

  Build the extension index with option Slicer_UPLOAD_EXTENSIONS set to 0


* py_cmake_slicer_extensions_index_build_with_upload

  Build the extension index with option Slicer_UPLOAD_EXTENSIONS set to 1


* py_cmake_slicer_extensions_index_build_with_upload_using_ctest

  Build the extension index with option Slicer_UPLOAD_EXTENSIONS set to 1
  using ctest. This is similar to the build of extensions done using
  dashboard script on the factory.

* py_cmake_slicer_extensions_index_build_without_upload_using_ctest

  Build the extension index with option Slicer_UPLOAD_EXTENSIONS set to 0
  using ctest.

Revision 25295 - Directory Listing
Modified Wed Aug 17 18:01:21 2016 UTC (14 months ago) by jcfr
Original Path: trunk/Extensions
BUG: ExtensionBuildSystem: Propagate compiler paths when upload is disabled

Revision 25294 - Directory Listing
Modified Wed Aug 17 18:01:20 2016 UTC (14 months ago) by jcfr
Original Path: trunk/Extensions
BUG: ExtensionBuildSystem: Ensure Git/SVN executable paths are propagated

This commit ensures the the paths are propagated when building with upload
disabled.

Revision 25288 - Directory Listing
Modified Mon Aug 15 18:11:56 2016 UTC (14 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Add the extension third party directories to additional launcher settings

This change will cause a change to the inner build
AdditionalLauncherSettings.ini file in extensions with a superbuild
set up, adding the top level extension third party lib and bin
directories to the library paths and paths settings. This fixes
tests in the SlicerOpenCV extension.

The support for Slicer_THIRDPARTY_BIN_DIR and Slicer_THIRDPARTY_LIB_DIR was
initially added in r25182 (BUG: Extension packaging: Support fixup of
3rd-party (external proj) libs)

See issue SBU-BMI/SlicerOpenCV#37

From: Nicole Aucoin <nicole@bwh.harvard.edu>

Revision 25233 - Directory Listing
Modified Mon Jul 11 17:02:55 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
COMP: ExtensionBuildSystem: Fix build of "local" extension

Systematically prepend ${Slicer_LOCAL_EXTENSIONS_DIR} if scmurl
corresponds to a relative path. Simply checking for the path existence
was leading to error in case the path was located in the current working
directory.

Revision 25230 - Directory Listing
Modified Mon Jul 11 13:41:24 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
STYLE: Dashboard: Disable extension sub-projects

The sub-project did NOT display error/warning/pass information for
projects [1] and view was confusing developers.

[1] See Kitware/CDash#387

Revision 25229 - Directory Listing
Modified Sun Jul 10 21:32:03 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
COMP: ExtensionBuildSystem: Configure CTestConfig before "ctest_start" call

By ensuring CTestConfig is configured in the build tree, this commit fixes
build of extensions done using a CTest driver script.

Revision 25228 - Directory Listing
Modified Sun Jul 10 15:42:52 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: Fix windows tests setting svn:eol-style

Revision 25218 - Directory Listing
Modified Fri Jul 8 01:26:25 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: ExtensionBuildSystem: Fix passing of EXTENSION_DEPENDS

This commit fixes test py_cmake_slicer_extensions_index_build_without_upload

Note that the testing framework adding the following two tests:
- py_cmake_slicer_extensions_index_build_without_upload
- py_cmake_slicer_extensions_index_build_with_upload

will be integrated in future commits.

Fixes #4200

Revision 25217 - Directory Listing
Modified Fri Jul 8 01:26:23 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: ExtensionBuildSystem: Fix passing of <ext_name>_DIR

Assuming TestExtC depends on TestExtA and TestExtB, prior to this
commit, a variable named TestExtATestExtB_DIR was passed when configuring
TestExtC.

Following this commit, variables TestExtA_DIR and TestExtB_DIR are
passed.

See #4200

Revision 25216 - Directory Listing
Modified Fri Jul 8 01:26:21 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: GenerateExtensionDescription: Fix generation of extension with deps

See #4200

Revision 25215 - Directory Listing
Modified Fri Jul 8 01:26:19 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
ENH: MIDASAPI: Accept json response with whitespaces after the colon.

Revision 25214 - Directory Listing
Modified Fri Jul 8 01:26:17 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
ENH: ExtensionBuildSystem: Configure CTesTConfig to allow custom drop site

Revision 25213 - Directory Listing
Modified Fri Jul 8 01:26:14 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
ENH: Add SlicerExtensionDescriptionSpec CMake module

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

* Add tests

Revision 25212 - Directory Listing
Modified Fri Jul 8 01:26:10 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
BUG: GenerateExtensionDescription: Fix module to ensure template is found

This commit fixes a regression introduced in r25014 (STYLE: Generate
description file using template file)

Revision 25211 - Directory Listing
Modified Fri Jul 8 01:26:09 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
STYLE: GenerateExtensionDescription: Fix indent

Revision 25210 - Directory Listing
Modified Fri Jul 8 01:26:06 2016 UTC (15 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
STYLE: Simplify GenerateExtensionDescription removing uneeded scm_path_token

Revision 25182 - Directory Listing
Modified Fri Jun 10 23:55:16 2016 UTC (16 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
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 25123 - Directory Listing
Modified Mon May 30 15:25:44 2016 UTC (16 months, 3 weeks ago) by lassoan
Original Path: trunk/Extensions
BUG: Fixed site name propagation to extension dashboard

Revision 25090 - Directory Listing
Modified Thu May 19 08:58:11 2016 UTC (17 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Regenerate Extensions/Testings templates

This commit integrates the updated sources after building
SlicerGenerateExtensionTemplates target.

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

Revision 25044 - Directory Listing
Modified Thu May 5 00:07:59 2016 UTC (17 months, 2 weeks ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix Superbuild extension configuration not having git/svn in the path

This commit fixes the following error:

  [Subversion_SVN_EXECUTABLE-NOTFOUND]
  Call Stack (most recent call first):
    C:/D/N/Slicer-1/Extensions/CMake/SlicerEnableExtensionTesting.cmake:21 (include)
    C:/D/N/Slicer-1-build/Slicer-build/UseSlicer.cmake:404 (include)
    CMakeLists.txt:20 (include)

Revision 25042 - Directory Listing
Modified Mon May 2 11:36:02 2016 UTC (17 months, 2 weeks ago) by jcfr
Original Path: trunk/Extensions
COMP: Extensions: Fix package and upload for superbuild extensions

Similarly to what was done for Slicer package in r24984 (BUG: Update
Slicer build system to report packaging errors on CDash.), this commit
ensures CTEST_MODEL variable is set for Extension packages generated by
superbuild based extensions.

See #3032

Revision 25041 - Directory Listing
Modified Mon May 2 09:43:09 2016 UTC (17 months, 2 weeks ago) by jcfr
Original Path: trunk/Extensions
BUG: Extensions: Ensure CTEST_MODEL is set when building with upload enabled

Revision 25039 - Directory Listing
Modified Mon May 2 06:41:20 2016 UTC (17 months, 2 weeks ago) by jcfr
Original Path: trunk/Extensions
BUG: Fix configuration of extension depending on superbuild based extensions

This commit ensures extension depending on superbuild based extensions
are properly configured with the "_DIR" variable pointing to the "inner"
build directory.

Revision 25038 - Directory Listing
Modified Mon May 2 06:41:18 2016 UTC (17 months, 2 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: Extensions build system: Display message when CMakeCache is written

Revision 25037 - Directory Listing
Modified Mon May 2 06:41:16 2016 UTC (17 months, 2 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: BuildPackageAndUploadExtensions: Remove obsolete code

This commit removes code made obsolete by r24983 (ENH: Remove support
for building an ExtensionsIndex directly from Slicer)

Revision 25036 - Directory Listing
Modified Mon May 2 06:41:14 2016 UTC (17 months, 2 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: BuildPackageAndUploadExtensions: Simplify setting of extension name

Simplify the code removing the extraction of the extension name from
the description file. Description file path was already set using the
extension name. Reduce code complexity by reusing the variable.

Revision 25025 - Directory Listing
Modified Sun Apr 24 23:15:11 2016 UTC (17 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: Re-generate templates using SlicerGenerateExtensionTemplates

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

Revision 25023 - Directory Listing
Modified Sun Apr 24 23:14:57 2016 UTC (17 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
BUG: Return EXIT_FAILURE when encountering an unknown pixel component type.

Also create a more informative error message.

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

Revision 25022 - Directory Listing
Modified Sun Apr 24 23:14:53 2016 UTC (17 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: Declare typedef's next to where they are used.

The code is easier to read when related statements are clustered together.

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

Revision 25021 - Directory Listing
Modified Sun Apr 24 23:14:50 2016 UTC (17 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: Used a named variable for Dimension in CLIModuleTemplate.

When reading the code, we now know what "3" refers to.

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

Revision 25020 - Directory Listing
Modified Sun Apr 24 23:14:47 2016 UTC (17 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: Use more literate TPixel in CLIModuleTemplate CLI.

When reading the template argument, we immediately know what it is.

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

Revision 25019 - Directory Listing
Modified Sun Apr 24 23:14:44 2016 UTC (17 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
BUG: Used signed char instead of char in CLIModuleTemplate.cxx

The 'signed char' type is different from the 'char' type. On some systems, 'char'
can be unsigned. Use 'signed char' as intended.

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

Revision 25014 - Directory Listing
Modified Wed Apr 20 04:18:48 2016 UTC (18 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Generate description file using template file

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

From: Jean-Baptiste VIMORT <jb.vimort@gmail.com>

Revision 25013 - Directory Listing
Modified Tue Apr 19 22:23:48 2016 UTC (18 months ago) by naucoin
Original Path: trunk/Extensions
BUG: Update extensions build system to set dependency DIR with sub directory

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

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

Revision 24988 - Directory Listing
Modified Mon Mar 21 22:54:02 2016 UTC (18 months, 4 weeks ago) by jcfr
Original Path: trunk/Extensions
BUG: Slicer_EXTENSION_DESCRIPTION_DIR is a PATH, not a STRING

Slicer_EXTENSION_DESCRIPTION_DIR was declared as a STRING. cmake-gui
does not offer the possibility to open a file browser and select a
directory from the user interface if a variable is not defined as a
PATH or FILEPATH.

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

Revision 24987 - Directory Listing
Modified Mon Mar 21 22:54:00 2016 UTC (18 months, 4 weeks ago) by jcfr
Original Path: trunk/Extensions
ENH: Update extension driver dashboard script to display variables.

This will facilitate understanding of the build context.

Here is an example of output:

$ ctest -S slicer_extensions_testing_experimental.cmake -VV
* Extra verbosity turned on
Reading Script: /home/jcfr/Projects/sandbox/slicer_extensions_testing_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_submit' variable with default value 'TRUE'
-- Setting 'run_ctest_with_update' variable with default value 'TRUE'
-- Setting 'run_ctest_with_configure' variable with default value 'TRUE'
-- Setting 'run_ctest_with_build' variable with default value 'TRUE'
-- Setting 'run_ctest_with_notes' variable with default value 'TRUE'
-- Setting 'Slicer_UPLOAD_EXTENSIONS' variable with default value 'TRUE'
-- CTEST_SITE ........................: cerrotorre.kitware
-- CTEST_BUILD_NAME ..................: Linux-g++5.2.1-64bits-QT4.8.7-PythonQt-With-Tcl-CLI-origin-master-Release
-- SCRIPT_MODE .......................: experimental
-- CTEST_BUILD_CONFIGURATION .........: Release
-- ADDITIONAL_CMAKECACHE_OPTION ......:

-- CTEST_NOTES_FILES .................: /home/jcfr/Projects/sandbox/slicer_extensions_testing_experimental.cmake
-- CTEST_DASHBOARD_ROOT ..............: /home/jcfr/Projects/
-- CTEST_CMAKE_GENERATOR .............: Unix Makefiles
-- CTEST_TEST_TIMEOUT ................: 500
-- CTEST_BUILD_FLAGS .................: -j8
-- CTEST_PROJECT_NAME ................: Slicer4
-- EXTENSIONS_TRACK_QUALIFIER ........: master
-- EXTENSIONS_BUILDSYSTEM_SOURCE_DIRECTORY: /home/jcfr/Projects//Slicer/Extensions/CMake
-- EXTENSIONS_BUILDSYSTEM_TESTING ....: TRUE
-- EXTENSIONS_INDEX_GIT_REPOSITORY ...: git://github.com/Slicer/ExtensionsIndex.git
-- EXTENSIONS_INDEX_GIT_TAG ..........: origin/master
-- CTEST_BINARY_DIRECTORY ............: /home/jcfr/Projects//SlicerExtensions-build-64bits-QT4.8.7-PythonQt-With-Tcl-CLI-Release-experimental-Testing-master
-- CTEST_SVN_COMMAND .................: /usr/bin/svn
-- CTEST_GIT_COMMAND .................: /usr/bin/git
-- Slicer_DIR ........................: /home/jcfr/Projects//Slicer-Release/Slicer-build
-- CTEST_CONFIGURATION_TYPE ..........: Release
-- CTEST_LOG_FILE ....................: NOT DEFINED
-- CTEST_NOTES_FILES .................: /home/jcfr/Projects/sandbox/slicer_extensions_testing_experimental.cmake
-- CTEST_PARALLEL_LEVEL ..............: 8
-- MIDAS_PACKAGE_URL .................: http://slicer.kitware.com/midas3
-- run_ctest_submit ..................: TRUE
-- run_ctest_with_update .............: TRUE
-- run_ctest_with_configure ..........: TRUE
-- run_ctest_with_build ..............: TRUE
-- run_ctest_with_notes ..............: TRUE
-- Slicer_UPLOAD_EXTENSIONS ..........: TRUE
-- CTEST_SOURCE_DIRECTORY ............: /home/jcfr/Projects//Slicer/Extensions/CMake
-- Slicer_EXTENSION_DESCRIPTION_DIR ..: NOT DEFINED
-- empty_binary_directory ............: FALSE
-- force_build .......................: TRUE
-- model .............................: Experimental
-- track .............................: Extensions-Experimental
-- CTEST_USE_LAUNCHERS ...............: 1
[...]

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

Revision 24986 - Directory Listing
Modified Mon Mar 21 22:53:58 2016 UTC (18 months, 4 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: ExtensionsDashboardScripts: Remove reference to unused variables

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

Revision 24983 - Directory Listing
Modified Mon Mar 21 22:53:52 2016 UTC (18 months, 4 weeks ago) by jcfr
Original Path: trunk/Extensions
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 24980 - Directory Listing
Modified Mon Mar 21 22:53:47 2016 UTC (18 months, 4 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: SlicerExtensionPackageAndUploadTarget: Display location of log

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

Revision 24979 - Directory Listing
Modified Mon Mar 21 22:53:45 2016 UTC (18 months, 4 weeks ago) by jcfr
Original Path: trunk/Extensions
STYLE: SlicerExtensionPackageAndUploadTarget: Improve documentation

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

Revision 24978 - Directory Listing
Modified Mon Mar 21 22:53:43 2016 UTC (18 months, 4 weeks ago) by jcfr
Original Path: trunk/Extensions
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 24966 - Directory Listing
Modified Thu Mar 10 20:08:56 2016 UTC (19 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
COMP: Extension: Generate CTestConfig for both top-level and inner build dir

This commit ensures that extension with a superbuild structure but without
a CTestConfig file in their source tree can be built.

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

Revision 24946 - Directory Listing
Modified Thu Feb 25 06:30:16 2016 UTC (19 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix extensions template ensuring inner build is always configured.

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

Revision 24928 - Directory Listing
Modified Fri Feb 12 01:19:05 2016 UTC (20 months, 1 week ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure extensions are build considering CMAKE_OSX_* variables

Reported-by: Juan Carlos Prieto <Juanprietob@gmail.com>
Tested-by: Juan Carlos Prieto <Juanprietob@gmail.com>

Revision 24777 - Directory Listing
Modified Thu Nov 26 22:22:31 2015 UTC (22 months, 3 weeks ago) by jcfr
Original Path: trunk/Extensions
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 24759 - Directory Listing
Modified Fri Nov 20 03:56:01 2015 UTC (23 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Update python tests to use more specific asserts.

Using the more specific assert functions usually gives more useful
error messages.

Suggested-by: Csaba Pinter <csaba.pinter@queensu.ca>
Suggested-by: Max Smolens <max.smolens@kitware.com>

Revision 24758 - Directory Listing
Modified Fri Nov 20 03:55:52 2015 UTC (23 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Update python scripts to use "is None" instead of "== None"

Rational copied from https://www.python.org/dev/peps/pep-0290/#testing-for-none

// -----------------
 Since there is only one None object, equality can be tested with identity. Identity tests are slightly faster than equality tests. Also, some object types may overload comparison, so equality testing may be much slower.

Pattern:

if v == None  -->  if v is None:
if v != None  -->  if v is not None:
// -----------------

Reviewed-by: Csaba Pinter <csaba.pinter@queensu.ca>
Reviewed-by: Max Smolens <max.smolens@kitware.com>

Revision 24757 - Directory Listing
Modified Fri Nov 20 02:59:35 2015 UTC (23 months ago) by jcfr
Original Path: trunk/Extensions
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 24622 - Directory Listing
Modified Thu Oct 8 17:15:57 2015 UTC (2 years ago) by jcfr
Original Path: trunk/Extensions
STYLE: Update python scripts to not import from __main__

This commit simplifies the scripts removing extra `from __main__`
statements and improve the integration with Python IDE ensuring python
package like "slicer" can simply be imported.

The `from __main__` statement most likely became obsolete since
r24155 (ENH: Fixes #3549. Import scripted module as python module).

Remarks:

A global replace of "from __main__ import" into "import" as been done
except in:
 * EditOptions: "from __main__ getNodes" changed into "from slicer.util import getNodes"
 * slicer/module[dm|logic|mrml|widget]/__init__.py where it makes sense to keep it.

Revision 24424 - Directory Listing
Modified Wed Jul 15 18:23:42 2015 UTC (2 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Facilitate release process updating wiki URL with Nightly namespace

This commit updates the templates to use wiki documentation url
mentioning the Nightly version. This will facilitate maintenance avoiding
to explicitly update the file after each release.

More specifically, thanks to the previous commit (ENH: Update wiki URLs
in module panel to reference correct documentation.), the module panel has
been instrumented to update the module description so that documentation
URLs are updated at runtime to point to the correct version of the wiki
documentation.

Note also that a new FAQ section entitled "Documentation Writing" has
been added to the Developer FAQ [1]. At the time of this commit, it reference
the following question:

  How to reference module or extension documentation hosted on the Slicer wiki ?

[1] http://wiki.slicer.org/slicerWiki/index.php?title=Documentation/Nightly/Developers/FAQ#Developer_FAQ:_Writing_Documentation

Revision 24409 - Directory Listing
Modified Wed Jul 15 04:10:47 2015 UTC (2 years, 3 months ago) by lassoan
Original Path: trunk/Extensions
BUG: Fixed node selector node type specification syntax

There was a common syntax error in defining single-element Qt string lists in Python.

The correct way of defining a single element list:
self.outputSelector.nodeTypes = ["vtkMRMLScalarVolumeNode"]

The correct way of defining a single element tuple:
self.outputSelector.nodeTypes = "vtkMRMLScalarVolumeNode",

Currently many modules try to define a single-element tuple like this:
self.outputSelector.nodeTypes = ( ("vtkMRMLScalarVolumeNode"), "" ) => this is long and ugly and also incorrect, as the tuple has actually two elements, "vtkMRMLScalarVolumeNode" and an empty element; the empty element generates the dysfunctional "Create new node" and "Create new node as..." options.

The syntax error is fixed in all modules and a check was added to ignore empty elements in the node type list (in case the syntax error occurs again in the future).


Revision 24303 - Directory Listing
Modified Mon Jun 8 22:29:33 2015 UTC (2 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix packaging and upload for superbuild based extension

This commit fixes a regression introduced in r24289 (BUG: Update extension
build system to report packaging error on CDash.) ensuring the "packageupload"
target is built in the inner build directory.

Thanks to "Jinho Lee <jinho89@gmail.com>" for reporting the problem.

Revision 24291 - Directory Listing
Modified Thu Jun 4 20:12:02 2015 UTC (2 years, 4 months ago) by lassoan
Original Path: trunk/Extensions
ENH: Use vtkMRMLLabelMapVolumeNode class for labelmap volumes

Before vtkMRMLScalarVolumeNode was used for both scalar and label map
volumes and the LabelMap custom MRML node attribute was used for
distinguishing between them (0=scalar; 1=label map volume).
This made conversion between labelmap/scalar volumes very easy but made
it difficult to customize behavior, display, processing of segmentation
information.

Now a new vtkMRMLLabelMapVolumeNode class is used for storing segmentation
information (still using vtkMRMLScalarVolume used as base class for backward
compatibility; but in the future the base class may be changed to reflect
that segmentation can be represented in various ways, not just as volumes).

Notes:

A new "segmentation" node has been developed that is based on vtkMRMLLabelMapVolumeNode,
which can store segmentation information in various ways (not just labelmaps but planar
contours, closed surfaces, etc). To allow using of this new segmentation node,
first the vtkMRMLLabelMapVolumeNode has to be integrated into the Slicer core.

When reading a scene that was saved with an old version of Slicer, label maps are stored
in vtkMRMLScalarVolumeNode with label map attribute set to 1. Added a check for this case
and handle it by converting the vtkMRMLScalarVolumeNode to a vtkMRMLLabelMapVolumeNode during import.


Revision 24289 - Directory Listing
Modified Thu Jun 4 13:41:35 2015 UTC (2 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
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 24174 - Directory Listing
Modified Thu Apr 16 23:13:45 2015 UTC (2 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Fix generation of additional launcher settings

This commit ensures the file doesn't include extra spaces. These
were causing problem when parsing setting file using ConfigParser
python module used in slicer_wiki_extension_module_listing.py [1]

[1] https://github.com/Slicer/slicer-wiki-scripts/blob/ee52ed3b08346c04a3e2e09a309bae7f33578e4f/slicer_wiki_extension_module_listing.py#L728-L757

Revision 23900 - Directory Listing
Modified Wed Jan 21 08:45:37 2015 UTC (2 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix CMP0054 warning in SlicerMacroGetCompilerName()

Thanks to "Csaba Pinter <csaba.pinter@queensu.ca>" for reporting the issue.

This commit fixes warnings occurring when using CMake >= 3.1.0

This commit fixes the following warning:

CMake Warning (dev) at /path/to/Extensions/CMake/SlicerMacroGetCompilerName.cmake:7 (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 "EXTENSION_COMPILER" 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):
/path/to/Extensions/CMake/SlicerBlockUploadExtensionPrerequisites.cmake:10 (SlicerMacroGetCompilerName)
/path/to/Slicer-build/UseSlicer.cmake:285 (include)
VffFileReader/CMakeLists.txt:18 (include)
This warning is for project developers. Use -Wno-dev to suppress it.

Revision 23828 - Directory Listing
Modified Wed Dec 10 22:10:30 2014 UTC (2 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Use Python logging framework for scripted module logging

Use Python's built-in logging module to manage logging. A direct advantage is that line number, file name, method name can be logged, too. Also, it follows the convention of using qt-style logging in qt classes, vtk-style logging in vtk classes, etc.

Default behavior of log levels:
 DEBUG: log to application log only, includes file name, line number, thread
 INFO: log to stdout (appears in application log, too)
 WARNING: log to stderr (appears in application log, too)
 ERROR: log to stderr (appears in application log, too)

Usage:
 import logging

 [...]

 logging.debug("this is a debug message")
 logging.info("this is an info message")
 logging.warning("this is a warning message")
 logging.error("this is a error message")

From: Andras Lasso <lasso@queensu.ca>

Revision 23820 - Directory Listing
Modified Sat Dec 6 05:56:02 2014 UTC (2 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Improve scripted module templates

* Use "slicer.log" functionality

* Also update the scripted loadable module template to perform actual
image processing (thresholding, using a CLI) and not just
capture a screenshot, because this is much closer to what
most users would do.

From: Andras Lasso <lasso@cs.queensu.ca>

Revision 23773 - Directory Listing
Modified Sun Nov 2 15:07:38 2014 UTC (2 years, 11 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Update Documentation to 4.4

Revision 23764 - Directory Listing
Modified Wed Oct 29 21:49:14 2014 UTC (2 years, 11 months ago) by naucoin
Original Path: trunk/Extensions
BUG: get the screenshot type without making a widget

From JC: avoid creation an instance of the widget to get the
value of the enum

Issue #3879

Revision 23763 - Directory Listing
Modified Wed Oct 29 21:49:07 2014 UTC (2 years, 11 months ago) by naucoin
Original Path: trunk/Extensions
BUG: fix crash when editing scripted screen shots

Fixed the default screen shot type to use the defined full layout
integer.
Added checks to avoid crashes for scripts that are in extensions.

The default screen shot type was set to -1 in the python scripts
and templates, but in the Qt widget, the screen shot type was
only defined from 0-4. Trying to open the scripted screen shot
node in the Qt widget would cause a crash since the -1 type was
cast to the enumerated WidgetType in qMRMLScreenShotDialog
resulting in an invalid number and a null widget.

Issue #3879

Revision 23741 - Directory Listing
Modified Tue Oct 14 19:52:31 2014 UTC (3 years ago) by lassoan
Original Path: trunk/Extensions
ENH: Added links to scripted module base classes

Revision 23707 - Directory Listing
Modified Thu Sep 18 22:15:03 2014 UTC (3 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
STYLE: Fix typo "protocol" instead of "protocole"

Revision 23706 - Directory Listing
Modified Thu Sep 18 22:15:01 2014 UTC (3 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
STYLE: Fix typo "nonexistent" instead of "non-existing "

Revision 23676 - Directory Listing
Modified Sun Sep 14 11:28:09 2014 UTC (3 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
ENH: Added icon loading for scripted module base class

Python scripted modules that use the ScriptedLoadableModule base class
now load their icon from Resources/Icons/<ModuleName>.png.
If the icon file does not exist then the default icon is kept.
Modules can override the icon setting in the module __init__ function to
use any other custom icon.

Updated extension wizard template and extension test.

Updated one more module (VectorToScalarVolume) to use
ScriptedLoadableModule base class.

From: Andras Lasso <lasso@queensu.ca>

Revision 23661 - Directory Listing
Modified Tue Sep 9 20:56:52 2014 UTC (3 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
ENH: Change required ITK version from 4.5 to 4.6

Starting with r23373 ITK 4.6.x is used to build and test Slicer.

$ git shortlog c127db8..6b5fa1a SuperBuild/External_ITKv4.cmake
jcfr (8):
      ENH: Update (1) ITKv4 from v4.5.2 to v4.6rc01 and (2) update BRAINSTools
      BUG: Update ITKv4 project to backport fix related to GDCMIO
      BUG: Update ITKv4 - Attempt to fix ResampleDTI tests
      COMP: Update ITKv4 - Fix "unused-local-typedefs" warning
      COMP: Move most of find_package calls into each Slicer sub-project.
      ENH: Move ITKv4 towards 4.6.0rc20140719
      ENH: Update ITKv4 and BRAINSTools
      BUG: Update ITKv4 and BRAINSTools - BRAINSFit performance improvement.

Revision 23530 - Directory Listing
Modified Fri Aug 1 06:29:52 2014 UTC (3 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix usage of PYTHONPATH in extension launcher settings

Following r23036 environment variable specifying list of path are
handled differently. This commit ensures that python paths associated
with extension are also set consistently across Slicer application
and extension settings.

The additional extension launcher settings are used in macro
"slicer_add_python_test" and "slicer_add_python_unittest" implemented
in SlicerMacroPythonTesting.cmake module.

Since the macro "slicer_add_python_unittest" is used to configure the
generic tests from within the macro "slicerMacroBuildScriptedModule",
this commit should also help fix failing tests from extension bundling
scripted modules.

Revision 23529 - Directory Listing
Modified Fri Aug 1 06:29:49 2014 UTC (3 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Easier maintenance of extension build system scripts

This commit updates the list of arguments to be alphabetically ordered
and be spread across multiple lines instead being on one long line very
hard to read.

This has been done by simply changing the single space into a line return
and sorting the list alphabetically using test editor functionality.

Revision 23506 - Directory Listing
Modified Tue Jul 29 23:59:34 2014 UTC (3 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Added developer mode and base classes for scripted modules

* Added "Enable developer mode" option in the application settings
(Developer section, next to Enable QtTesting)

* Added base classes for scripted module, widget, logic, and test: they
make scripted modules simpler and shorter and also more functions and
helper methods can be added in the future without changing each scripted
module
** Module handles selftest registration
** Widget handles reload&test (shown on GUI only in developer mode)
** Logic and Test contains delayDisplay utility function

* As an example, updated ScriptedLoadableModuleTemplate and SurfaceToolbox to use the new base classes

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

Revision 23413 - Directory Listing
Modified Fri Jul 4 01:34:23 2014 UTC (3 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
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 23181 - Directory Listing
Modified Thu May 15 18:35:43 2014 UTC (3 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Extensions: Do not add CMAKE_PROJECT_NAME to the cache

Following r23180, check for ConfigurePrerequisites component is done
by testing if CMAKE_PROJECT_NAME variable is defined.

Considering that (1) a project statement is expected to exist in the
extension CMakeLists.txt  and (2) the check for ConfigurePrerequisites
component relies on the variable not being set when first configuring,
this commit updates the build system so that the variable is not added
to the cache.

This build system has been tested on Windows and Linux with
Slicer_UPLOAD_EXTENSIONS set to ON (the default).

Revision 23179 - Directory Listing
Modified Wed May 14 22:25:42 2014 UTC (3 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add support for conditional upload to extension driver script

By default enabled, this option will allow to disable the upload of
extension while testing if they can be built.

This will be particularly useful when setting VTK6 dashboards for
the extensions.

Revision 23021 - Directory Listing
Modified Wed Mar 26 17:45:15 2014 UTC (3 years, 6 months ago) by hjohnson
Original Path: trunk/Extensions
STYLE: Remove end of line spaces

Spaces at the end of lines can cause noise in patch sets
when editors or git gobbles them up during other relatively
minor changes to files.

Removing end of line changes makes long term maintenance easier as
well.

When reviewing git histories or patch sets, the "--ignore-space-change"
option can be useful in filtering out changes due only to spacing.

i.e.
git diff HEAD~2 --ignore-space-change

Revision 22945 - Directory Listing
Modified Wed Mar 12 18:42:01 2014 UTC (3 years, 7 months ago) by mwoehlke
Original Path: trunk/Extensions
STYLE: Fix spelling error in s4ext template

Revision 22890 - Directory Listing
Modified Thu Feb 20 08:06:35 2014 UTC (3 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix loadable module template build error (introduced by r22759)

Thanks to "Zian Fanti" for reporting the error.

Revision 22850 - Directory Listing
Modified Fri Jan 24 09:03:31 2014 UTC (3 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Fix "Reload and Test" function

While commit r22839 re-factored the code associated with "Reload" function,
it also made the "Reload and Test" function fails.

This commit fixes the issue by setting the "<moduleName>" key into
the global dictionary of the reloaded module so that it can be
referenced in the "onReloadAndTest()" function.

Note that the overall approach to reload modules could be revisited to
leverage either the "rollback importer" method or a more sophisticated one
like the "python-reloader" [2][3]

Thanks to "Csaba Pinter <csaba.pinter@queensu.ca>" for reporting the issue.

[1] http://pyunit.sourceforge.net/notes/reloading.html
[2] http://www.indelible.org/ink/python-reloading/
[3] https://github.com/jparise/python-reloader

Revision 22839 - Directory Listing
Modified Sun Jan 19 07:59:22 2014 UTC (3 years, 9 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Factor out scripted module reload function into 'slicer.util'

At least two versions of the code were used to reload a scripted module
were existing. This commit add the most recent version into
the function 'slicer.util.reloadScriptedModule' and update the
Slicer modules to use it.

Note that since not all module implements the 'cleanup' function,
an additional test has been added to check if the method is available.

Revision 22814 - Directory Listing
Modified Fri Jan 10 20:24:16 2014 UTC (3 years, 9 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Add escape sequence to quotes in CMake string

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

Revision 22812 - Directory Listing
Modified Fri Jan 10 19:18:13 2014 UTC (3 years, 9 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix loading of external "loadable module" providing python script

Thanks to "Wang, Kevin" <kevin.wang@rmp.uhn.on.ca> for his help
identifying and testing the changes.

Co-authored-by: Wang, Kevin" <kevin.wang@rmp.uhn.on.ca>

Revision 22773 - Directory Listing
Modified Sun Dec 15 08:02:44 2013 UTC (3 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
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 22715 - Directory Listing
Modified Tue Nov 19 21:25:03 2013 UTC (3 years, 11 months ago) by naucoin
Original Path: trunk/Extensions
STYLE: generalizing the template

Making the metadata more general so that it can be used as
a documentation template file.



Revision 22640 - Directory Listing
Modified Fri Oct 25 21:52:05 2013 UTC (3 years, 11 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Tweak midas_api_upload_extension macro test case

Add link to existing screenshot and also add a svn example.

Revision 22639 - Directory Listing
Modified Fri Oct 25 21:52:03 2013 UTC (3 years, 11 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix check in midas_api_upload_extension macro

Since the variable ${var} were defined in the parent scope, no warning
were displayed.

Revision 22582 - Directory Listing
Modified Thu Oct 3 20:01:32 2013 UTC (4 years ago) by naucoin
Original Path: trunk/Extensions
STYLE: remove extra comma

Copy/paste error left an extra comma in the argument list.



Revision 22457 - Directory Listing
Modified Thu Sep 19 00:15:06 2013 UTC (4 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
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 22432 - Directory Listing
Modified Fri Sep 13 22:36:00 2013 UTC (4 years, 1 month ago) by naucoin
Original Path: trunk/Extensions
BUG: finish steps for the Neurosurgical Planning Tutorial

Added the editor steps and label map seeding.
Added the screen capture functionality to the template file.

Issue #3328



Revision 22428 - Directory Listing
Modified Wed Sep 11 22:54:41 2013 UTC (4 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
COMP: Simplify editor extension template

This is a follow up of commit r22067 [1] where it should have been done
as described in r22063 [2].

Revision 22427 - Directory Listing
Modified Wed Sep 11 22:54:39 2013 UTC (4 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
COMP: Update Editor extension template to use scripted module macro

Discussion: http://slicer-devel.65872.n3.nabble.com/Issues-with-Editor-effect-extension-td4029730.html

Fixes #3392

Revision 22407 - Directory Listing
Modified Wed Sep 4 10:48:34 2013 UTC (4 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
ENH: Update Documentation to 4.3

Revision 22360 - Directory Listing
Modified Thu Aug 29 22:22:55 2013 UTC (4 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
ENH: Ensure editor objects and widgets are all named

Doing so will make the debugging of QtTesting macro easier and less
confusing.

See #2808

Co-authored-by: Chrystel Juan <chrystel.juan@kitware.com>

Revision 22342 - Directory Listing
Modified Tue Aug 27 19:24:23 2013 UTC (4 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
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 22134 - Directory Listing
Modified Thu Jul 4 13:22:04 2013 UTC (4 years, 3 months ago) by finetjul
Original Path: trunk/Extensions
BUG: Make SCM test more robust

If the variable is empty, there is a CMake error that it can't compare
strings.

Revision 22101 - Directory Listing
Modified Sun Jun 16 23:23:46 2013 UTC (4 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Do not default to CDash extension upload if Midas upload failed.

By uploading the extension package on CDash in case the midas one failed
was confusing the user. Indeed, after checking the dashboard, the small
package submission was visible but not associated with a midas url.

This commit return an explicit error message and abort the build process
providing the user with hint on how to resolve the issue.

The message that will be disable will be similar to:

// ------------------
CMake Error at /home/jchris/Projects/Slicer-AHM/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake:231 (message):
  Upload of [22100-linux-amd64-MyExtension-local0-2013-06-16.tar.gz] failed !

  Check that:

    (1) you have been granted permission to upload
    (2) your email and api key are correct
// ------------------

Revision 22100 - Directory Listing
Modified Wed Jun 12 23:25:07 2013 UTC (4 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Fix CLI extension test fixing SEM_LAUNCH_COMMAND

Following commit r21737 [1], CLIs tests have been updated to make
use SEM_LAUNCH_COMMAND so that their code is decoupled from Slicer
specific variables.

This commit ensure that SEM_LAUNCH_COMMAND is updated to consider additional
settings so that environment is properly set when running CLI modules test
bundled in extension.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21737

Revision 22099 - Directory Listing
Modified Wed Jun 12 21:17:34 2013 UTC (4 years, 4 months ago) by pieper
Original Path: trunk/Extensions
ENH: update the slicer.modules.<module>Widget attribute on reload

This way the attribute can be used consistently to access the gui
of the scripted module before or after it has been reloaded.

Also add an optional cleanup method, which module guis can use, for
example, to remove any observers to vtk objects or clean up other
references.

Revision 22067 - Directory Listing
Modified Thu May 30 05:34:29 2013 UTC (4 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Simplify extension template

Based on commit r22063[1] message, this commit remove code explicitly
excluding extension specific CMake call.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22063

Revision 22045 - Directory Listing
Modified Tue May 28 19:37:17 2013 UTC (4 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix superbuild extension template build error

Following r21776[1], the description hasn't been renamed whereas
the associated directory was. This was preventing the
testing extensions from being built successfully. See error reported
below.

This commit rename the description file.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21776


// -------------
[...]
-- Configuring extension: SuperBuildLoadableExtensionTemplate
.CMake Error at C:/D/Support/CMake 2.8.10.2/share/cmake-2.8/Modules/ExternalProject.cmake:1334 (message):
  error: no download info for 'SuperBuildLoadableExtensionTemplate' -- please
  specify existing/non-empty SOURCE_DIR or one of URL, CVS_REPOSITORY and
  CVS_MODULE, SVN_REPOSITORY, GIT_REPOSITORY, HG_REPOSITORY or
  DOWNLOAD_COMMAND
Call Stack (most recent call first):
  C:/D/Support/CMake 2.8.10.2/share/cmake-2.8/Modules/ExternalProject.cmake:1699 (_ep_add_download_command)
  SlicerBlockBuildPackageAndUploadExtensions.cmake:156 (ExternalProject_Add)
  CMakeLists.txt:85 (include)


-- Configuring incomplete, errors occurred!
[...]
//---------------

Revision 22038 - Directory Listing
Modified Sat May 25 06:23:55 2013 UTC (4 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
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 22028 - Directory Listing
Modified Wed May 22 12:53:06 2013 UTC (4 years, 4 months ago) by christopher.mullins
Original Path: trunk/Extensions
BUG: Fixes duplicate class name so that correct constructor is called

Revision 21989 - Directory Listing
Modified Tue May 14 18:50:19 2013 UTC (4 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Consistently specify optional external project CMake arguments

Easier maintenance of the build system by using the variable
"EXTERNAL_PROJECT_OPTIONAL_ARGS" to accumulate optional CMake arguments.

Revision 21903 - Directory Listing
Modified Sat Apr 20 22:06:15 2013 UTC (4 years, 6 months ago) by finetjul
Original Path: trunk/Extensions
STYLE: Reorder CLI description XML elements

Revision 21888 - Directory Listing
Modified Tue Apr 16 14:23:59 2013 UTC (4 years, 6 months ago) by finetjul
Original Path: trunk/Extensions
STYLE: Fix casing of CMake macro add_subdirectory

See http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Style_Guide/CMake

Revision 21875 - Directory Listing
Modified Sat Apr 6 00:23:32 2013 UTC (4 years, 6 months ago) by pieper
Original Path: trunk/Extensions
ENH: for issue #3002 fix eyedropper

Make sure all label effects have an instance of their logic class
and that the allow the superclass to optionally process keystrokes
and other events (this allows the eyedropper operation to work).

See keystroke list here:
http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor#Keystrokes

Revision 21872 - Directory Listing
Modified Fri Apr 5 19:47:10 2013 UTC (4 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix ExtensionsIndex experimental build error

Thanks to Chris Mullins for reporting the problem. Error is easily
reproducible when building an extensionsIndex with the option
-DSlicer_UPLOAD_EXTENSIONS:BOOL=ON. See below for detailed command
and associated error message.

Following commit r21860 ensuring target ExperimentalUpload, ExperimentalNightly,
... works as expected. The case when Slicer_UPLOAD_EXTENSIONS is ON and
the build is done manually instead of being driven by a dashboard hasn't been
tested :(

To fix the issue, we assume that by default a manual build of an
ExtensionsIndex corresponds to an Experimental build. The user can still
pass CTEST_MODEL at the command line if he wishes to change the value.

// -------------------
Error:

cmake -DSlicer_DIR:FILEPATH=/home/crmullin/Projects/Slicer4-SuperBuild-Debug/Slicer-build/ \
 -DSlicer_EXTENSION_DESCRIPTION_DIR:FILEPATH=/home/crmullin/ExtensionsIndexForTubetk/ \
 -DCMAKE_BUILD_TYPE:STRING=Release \
 -DSlicer_UPLOAD_EXTENSIONS:BOOL=ON \
 /home/crmullin/Slicer/Extensions/CMake/

[..]
Scanning dependencies of target JsonCpp
[  5%] Creating directories for 'JsonCpp'
[ 11%] Performing download step (git clone) for 'JsonCpp'
Cloning into 'JsonCpp'...
[...]
[ 16%] [ 22%] No patch step for 'JsonCpp'
Performing update step (git fetch) for 'JsonCpp'
HEAD is now at e2cfe02... Merge branch 'master' of github.com:TubeTK/jsoncpp-cmake
[ 27%] No configure step for 'JsonCpp'
[ 33%] No forcebuild step for 'JsonCpp'
[ 38%] Performing build step for 'JsonCpp'
* Extra verbosity turned on
Reading Script: /home/crmullin/Slicer/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake
SetCTestConfiguration:SourceDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp-build/Extensions-
SetCTestConfiguration:BuildDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp
Run dashboard with model TRACK
   Source directory: Extensions-
   Build directory: /home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp
CMake Error at /home/crmullin/Slicer/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake:90 (ctest_start):
  ctest_start given source path

    /home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp-build/Extensions-

  which is not an existing directory.  Set CTEST_CHECKOUT_COMMAND to a
  command line to create it.

SetCTestConfiguration:BuildDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp-build
SetCTestConfiguration:SourceDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp
SetCTestConfiguration:ConfigureCommand:"/home/crmullin/cmake-2.8.10.2/bin/cmake" "-DCMAKE_BUILD_TYPE:STRING=Release" "-GUnix Makefiles" "/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp"
SetCTestConfiguration:BuildDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp-build
SetCTestConfiguration:SourceDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp
Configure project
Current Tag empty, this may mean NightlyStartTime / CTEST_NIGHTLY_START_TIME was not set correctly. Or maybe you forgot to call ctest_start() before calling ctest_configure().
Cannot open configure file
Error in read script: /home/crmullin/Slicer/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake
make[2]: *** [JsonCpp-prefix/src/JsonCpp-stamp/JsonCpp-build] Error 255
make[1]: *** [CMakeFiles/JsonCpp.dir/all] Error 2
make: *** [all] Error 2

Revision 21860 - Directory Listing
Modified Wed Apr 3 22:03:03 2013 UTC (4 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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 21776 - Directory Listing
Modified Mon Feb 25 21:32:30 2013 UTC (4 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Change "SuperBuildExtensionTemplate" layout to support addition of modules.

* The new template has been reorganized to easily support the addition of
new modules.

* Folder has been removed from "SuperBuildLoadableExtensionTemplate" to "SuperBuildExtensionTemplate"
to better reflect the role of the template.

Revision 21770 - Directory Listing
Modified Fri Feb 22 07:53:39 2013 UTC (4 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Update modules to use WITH_GENERIC_TESTS and SlicerMacroConfigureModuleCxxTestDriver

Overall simplification of the CMakeLists related to Testing.

Revision 21763 - Directory Listing
Modified Fri Feb 22 00:45:58 2013 UTC (4 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
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 21762 - Directory Listing
Modified Fri Feb 22 00:45:55 2013 UTC (4 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Tweak ScriptedLoadableModuleTemplate

Revision 21757 - Directory Listing
Modified Thu Feb 21 11:41:47 2013 UTC (4 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix ScriptedLoadableExtensionTemplate python test

Following commit r21747, the parameter to SlicerMacroConfigureGenericPythonModuleTests
has not been updated. This commit update the parameter so that
the generated python unit tests expect the right values.

Revision 21750 - Directory Listing
Modified Wed Feb 20 01:32:10 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Change "EditorExtensionTemplate" layout to support addition of modules/effects.

The re-organization has been done following the approach detailed
in commit r21747.

Also addded the metadata "EXTENSION_ICONURL"

Revision 21749 - Directory Listing
Modified Wed Feb 20 01:18:52 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove empty dirs

Revision 21748 - Directory Listing
Modified Wed Feb 20 01:16:46 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: In extension templates, change homepage url from 4.2 to Nightly

Revision 21747 - Directory Listing
Modified Wed Feb 20 01:16:44 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Change "ScriptedLoadableExtensionTemplate" layout to support addition of modules.

As a side note, the ModuleWizard has been used to easily re-organize this
module (and also the one associated with r21745 and r21746):

Steps:
 1) cd /path/to/Extensions/Testing/ScriptedLoadableExtensionTemplate

 2) ../../Utilities/Scripts/ModuleWizard.py --template ./ScriptedLoadableExtensionTemplate/ --target ./ScriptedLoadableModuleTemplate ScriptedLoadableModuleTemplate

 3) mv ScriptedLoadableModuleTemplate/ ScriptedLoadableExtensionTemplate/

 4) Remove extra files

 5) Edit CMakeLists.txt and ScriptedLoadableModuleTemplate/CMakeLists.txt

Revision 21746 - Directory Listing
Modified Wed Feb 20 00:38:35 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Change "LoadableExtensionTemplate" layout to support addition of modules.

Revision 21745 - Directory Listing
Modified Wed Feb 20 00:38:27 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Change "CLIExtensionTemplate" layout to support addition of modules.

Revision 21737 - Directory Listing
Modified Tue Feb 19 01:47:58 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
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 21719 - Directory Listing
Modified Sat Feb 16 02:38:14 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Fix typo in comment associated with scripted loadable extension template

Revision 21718 - Directory Listing
Modified Sat Feb 16 02:38:07 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Remove unnecessary extra quotes used with "slicerMacroBuildScriptedModule"

The way list are passed when using "slicerMacroBuildScriptedModule" is now
consistent with the other build macros.

Revision 21714 - Directory Listing
Modified Fri Feb 15 22:57:36 2013 UTC (4 years, 8 months ago) by pieper
Original Path: trunk/Extensions
ENH: add a more realistic and usable scripted module template

Instead of 'dummy' parameters, make the template include node
combo boxes and an apply button.  Also put the Reload and Test
functionality into a collapsible box.

Revision 21713 - Directory Listing
Modified Fri Feb 15 21:09:51 2013 UTC (4 years, 8 months ago) by pieper
Original Path: trunk/Extensions
BUG: fix typo in scripted extension template

Use of the wrong module name prevented successful reload.

Revision 21704 - Directory Listing
Modified Thu Feb 14 22:05:23 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
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 21692 - Directory Listing
Modified Tue Feb 12 20:53:23 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
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 21690 - Directory Listing
Modified Tue Feb 12 16:23:06 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Extension driver script now fails if vtkSlicerVersionConfigure.h does not exist.

Making the script fail will minimize confusion and will give an hint to
the dashboard maintainer.

Revision 21686 - Directory Listing
Modified Mon Feb 11 19:44:14 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove debug statement introduced to help resolving issue 2491

Commit r21682 changed how parameter are passed to ctest script and, base
on the initial dashboard results, it most likely solved the problem.

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

Revision 21685 - Directory Listing
Modified Mon Feb 11 19:44:12 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove code specific to CMake 2.8.7 in PackageAndUploadExtension script.

Since commit r21682, CMake 2.8.9 is required to build extensions.

Revision 21682 - Directory Listing
Modified Mon Feb 11 02:27:57 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
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 21681 - Directory Listing
Modified Sun Feb 10 23:04:40 2013 UTC (4 years, 8 months ago) by pieper
Original Path: trunk/Extensions
ENH: update the editor template to use (dis)connectWidgets convention

This makes the template match the way the rest of the editor
effects are written.

Thanks Andrey for pointing this out!

Revision 21675 - Directory Listing
Modified Sat Feb 9 00:27:32 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Add debug statement helping to track problem related to issue 2491

See #2491 - http://www.na-mic.org/Bug/view.php?id=2491

Revision 21651 - Directory Listing
Modified Wed Jan 30 20:08:06 2013 UTC (4 years, 8 months ago) by pieper
Original Path: trunk/Extensions
BUG: fix typo in editor extension template

Revision 21635 - Directory Listing
Modified Fri Jan 25 07:38:23 2013 UTC (4 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
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 21613 - Directory Listing
Modified Fri Jan 18 16:37:03 2013 UTC (4 years, 9 months ago) by christopher.mullins
Original Path: trunk/Extensions
STYLE: Renamed qSlicer{MODULE_NAME}Module.ui into qSlicer{MODULE_NAME}ModuleWidget.ui

See na-mic.org/Mantis/view.php?id=2247

Fixes #2247

Revision 21606 - Directory Listing
Modified Mon Jan 14 13:54:47 2013 UTC (4 years, 9 months ago) by pieper
Original Path: trunk/Extensions
ENH: detect exceptions in self-tests during reload and test of scripts

Based on a suggestion from Brad Lowekamp to let developers know
about execeptions when developing scripted extensions.

Revision 21344 - Directory Listing
Modified Mon Nov 12 22:57:17 2012 UTC (4 years, 11 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove unused file "PlastimatchDVH.s4ext-disabled"

Revision 21257 - Directory Listing
Modified Fri Oct 26 18:28:03 2012 UTC (4 years, 11 months ago) by jcfr
Original Path: trunk/Extensions
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 21246 - Directory Listing
Modified Thu Oct 25 20:27:39 2012 UTC (4 years, 11 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Add module name to FooBar widget associated to LoadableExtensionTemplate

See http://slicer-devel.65872.n3.nabble.com/Failed-to-import-PythonQt-qSlicer-ModuleWidgets-tp4026550p4026570.html

Revision 21227 - Directory Listing
Modified Tue Oct 23 18:00:05 2012 UTC (4 years, 11 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Update Documentation to 4.2

Revision 21216 - Directory Listing
Modified Fri Oct 19 14:04:29 2012 UTC (5 years ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure CMAKE_{C,CXX}_COMPILER is passed when building extensions custom target

See http://www.na-mic.org/Bug/view.php?id=2657

Fixes #2657

Revision 21200 - Directory Listing
Modified Tue Oct 16 19:39:23 2012 UTC (5 years ago) by jcfr
Original Path: trunk/Extensions
BUG: Fix windows assert associated with extension tests

To ensure existing tests pass, the Cxx folder has been added to the list
of sub dirs to consider when looking up IntDir.

That said, the recommended solution is to set the target property
RUNTIME_OUTPUT_DIRECTORY for the test executable. The value of this property
should be ${CMAKE_BINARY_DIR}/${Slicer_BIN_DIR}

See http://na-mic.org/Mantis/view.php?id=2348

Fixes #2348

Revision 21188 - Directory Listing
Modified Mon Oct 15 19:58:22 2012 UTC (5 years ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure extension metadata including "=" are properly handled

Note that this is a sub-optimal solution, ideally parameter to the ctest
script should be passed either configuring a file and passing the path
to that file or using the -D syntax supported in recent version of
ctest (>= 2.8.9).

See http://www.na-mic.org/Bug/view.php?id=2643

Fixes #2643

Revision 21151 - Directory Listing
Modified Wed Oct 10 20:35:02 2012 UTC (5 years ago) by jcfr
Original Path: trunk/Extensions
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 21112 - Directory Listing
Modified Fri Oct 5 14:39:27 2012 UTC (5 years ago) by jcfr
Original Path: trunk/Extensions
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 21094 - Directory Listing
Modified Tue Oct 2 22:13:55 2012 UTC (5 years ago) by jcfr
Original Path: trunk/Extensions
STYLE: Renamed variable prefix "_sext_" into "_ext_".

See http://www.na-mic.org/Bug/view.php?id=2158

Fixes #2158

Revision 21069 - Directory Listing
Modified Thu Sep 27 14:28:02 2012 UTC (5 years ago) by jcfr
Original Path: trunk/Extensions
ENH: Add target ExperimentalUploadOnly target to extensions build system

See http://www.na-mic.org/Bug/view.php?id=2568

Fixes #2568

Revision 20885 - Directory Listing
Modified Tue Aug 28 09:52:57 2012 UTC (5 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure extension dependent directories are set when Slicer_UPLOAD_EXTENSION is ON

See http://www.na-mic.org/Bug/view.php?id=2222

Fixed in r2222

Revision 20875 - Directory Listing
Modified Mon Aug 27 19:30:39 2012 UTC (5 years, 1 month ago) by pieper
Original Path: trunk/Extensions
ENH: provide feedback and event loop support for self tests

Now the example template includes a simple way for people running
the test to watch what is going on.  Also with the event processing
the test more accurately captures what a user would do.

Revision 20870 - Directory Listing
Modified Mon Aug 27 17:50:04 2012 UTC (5 years, 1 month ago) by pieper
Original Path: trunk/Extensions
BUG: fix name of logic class in script testing template

Revision 20866 - Directory Listing
Modified Mon Aug 27 15:38:37 2012 UTC (5 years, 1 month ago) by pieper
Original Path: trunk/Extensions
ENH: Add 'reload-and-test' infrastructure to scripted module template

This provides a one-click method for developers to modify their
code and their test on the fly.  The sequence should be that developers
can create a module (extension) using the ModuleWizard, point
their module path to it, and then start slicer to load
their new module.  From there they just edit the implementation (GUI
and Logic) and the test to exercise it.  Hitting the reload and test
button brings in the latest copy of their code, replaces the GUI, and
runs the test.

Revision 20849 - Directory Listing
Modified Thu Aug 23 22:47:22 2012 UTC (5 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
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 20812 - Directory Listing
Modified Tue Aug 21 20:52:47 2012 UTC (5 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove extra print statement

Thanks to "Andras Lasso" for providing the patch :)

Revision 20811 - Directory Listing
Modified Tue Aug 21 20:52:46 2012 UTC (5 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure MIDAS_PACKAGE_* are passed in Superbuild extension template

Thanks to "Andras Lasso" for providing the patch :)

Revision 20800 - Directory Listing
Modified Mon Aug 20 23:11:38 2012 UTC (5 years, 2 months ago) by finetjul
Original Path: trunk/Extensions
STYLE: Cleanup qSlicerLoadableExtensionTemplateModule

Typos and too large lines

Revision 20732 - Directory Listing
Modified Wed Aug 8 12:52:45 2012 UTC (5 years, 2 months ago) by pieper
Original Path: trunk/Extensions
ENH: fix layout of reloaded module

Remove spacer items from parent.

Revision 20714 - Directory Listing
Modified Mon Jul 30 13:23:24 2012 UTC (5 years, 2 months ago) by pieper
Original Path: trunk/Extensions
BUG: Include module title in strings replaced by wizard

Since the module title typically includes spaces for
human readability, the example title was not being replaced
since it did not match the template string.

Now the template title has no spaces, which will make newly
created modules easier to find after slicer starts up.

Revision 20710 - Directory Listing
Modified Sat Jul 28 08:02:53 2012 UTC (5 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Add option "additional-module-path" to ensure following argument are processed

See http://www.na-mic.org/Bug/view.php?id=2251

Fixes #2251

Revision 20698 - Directory Listing
Modified Thu Jul 26 11:08:16 2012 UTC (5 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure build type is passed when build extensions Experimental target

See http://www.na-mic.org/Bug/view.php?id=2347

Fixes #2347

Revision 20533 - Directory Listing
Modified Sat Jun 30 02:59:17 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Add Widget library to LoadableExtensionTemplate

Fixes #2260 / http://na-mic.org/Bug/view.php?id=2260

Revision 20532 - Directory Listing
Modified Sat Jun 30 02:59:14 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: For sake of consistency, specify module files using MODULE_NAME variables

See #2260 / http://na-mic.org/Bug/view.php?id=2260

Revision 20531 - Directory Listing
Modified Sat Jun 30 02:59:05 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add Documentation folder to loadable extension templates

See #2260 / http://na-mic.org/Bug/view.php?id=2260

Revision 20529 - Directory Listing
Modified Sat Jun 30 01:35:59 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove ModuleTemplate and use LoadableExtensionTemplate instead

See #2260 / http://na-mic.org/Bug/view.php?id=2260

Revision 20528 - Directory Listing
Modified Fri Jun 29 22:22:19 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Prevent confusion - Do not set partially supported metadata in extension template

Revision 20527 - Directory Listing
Modified Fri Jun 29 22:22:17 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
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 20486 - Directory Listing
Modified Mon Jun 25 22:39:21 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Renamed variable prefix "_SEXT_" into "_EXT_".

See http://www.na-mic.org/Bug/view.php?id=2158

Fixes #2158

Revision 20481 - Directory Listing
Modified Mon Jun 25 18:47:17 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
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 20480 - Directory Listing
Modified Mon Jun 25 18:47:15 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Minimize confusion renaming variable "EXTENSION(.*)_DEPENDS" into "EP_ARG_EXTENSION(.*)_DEPENDS"

Revision 20457 - Directory Listing
Modified Fri Jun 22 07:47:35 2012 UTC (5 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Extensions build using the build system are configured with a boolean option

If it applies, this boolean option (named "<EXTENSION_NAME>_BUILD_SLICER_EXTENSION")
being passed when the extension is configured by the extension build system
allows the extension to conditionally build code.

See http://www.na-mic.org/Bug/view.php?id=2243

Fixes #2243

Revision 20449 - Directory Listing
Modified Thu Jun 21 16:20:08 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Update loadable extension template to more clearly explain how to add test

See http://na-mic.org/Bug/view.php?id=2220

Fixes #2220

Revision 20443 - Directory Listing
Modified Thu Jun 21 07:24:46 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Improve developer experience by having extensions metadata all optional

See http://www.na-mic.org/Bug/view.php?id=2239

Fixes #2239

Revision 20416 - Directory Listing
Modified Wed Jun 20 08:30:54 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix typo in LoadableExtensionsTemplate Testing/Cxx/CMakeLists.txt

See http://www.na-mic.org/Bug/view.php?id=2228

Fixes #2228

Revision 20415 - Directory Listing
Modified Wed Jun 20 08:13:13 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Simplify extension templates

CMake code responsible to declare extension specific metadata is now
clearly differentiated from the CMake module code.

In the CLI template, the XML configuration file is not configured anymore, instead the
contributors, category, version, ... are explicitly set.

See http://www.na-mic.org/Bug/view.php?id=2228

Fixes #2228

Revision 20414 - Directory Listing
Modified Wed Jun 20 08:13:09 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Add EXTENSION_STATUS to list of optional metadata in SlicerBlockUploadExtension

See http://www.na-mic.org/Bug/view.php?id=2224

Fixes #2224

Revision 20413 - Directory Listing
Modified Wed Jun 20 08:13:07 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Extensions ExperimentalUpload displays author warnings only when needed

Fixes #2227

Revision 20412 - Directory Listing
Modified Wed Jun 20 03:04:30 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Extension "Status" metadata is now optional as specified in documentation

Documentation: https://github.com/Slicer/ExtensionsIndex#the-list-of-supported-metadata

See http://www.na-mic.org/Bug/view.php?id=2224

Fixes #2224

Revision 20400 - Directory Listing
Modified Tue Jun 19 12:00:20 2012 UTC (5 years, 4 months ago) by pieper
Original Path: trunk/Extensions
ENH: add reload button to the default scripted extension

This allows developers to quickly iterate on new code.  The button
can be removed when the module is ready for users.

Revision 20398 - Directory Listing
Modified Mon Jun 18 18:10:15 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure extension can be built independently adding default value for Slicer_EXTENSIONS_TRACK_QUALIFIER

Revision 20395 - Directory Listing
Modified Mon Jun 18 14:12:17 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: CLI template extension CMake code is now consistent

Revision 20394 - Directory Listing
Modified Mon Jun 18 07:40:41 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Update built-in CLIs to use SEMMacroBuildCLI macro

Revision 20324 - Directory Listing
Modified Wed Jun 6 01:44:42 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Make sure building extension using Experimental target works

See http://www.na-mic.org/Bug/view.php?id=2166

Closes #2166

Revision 20309 - Directory Listing
Modified Fri Jun 1 20:41:59 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Ensure extensions can be build&uploaded using a custom Slicer_EXTENSION_DESCRIPTION_DIR

See http://www.na-mic.org/Bug/view.php?id=2155

Closes #2155

Revision 20307 - Directory Listing
Modified Fri Jun 1 17:48:58 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extension build system now supports svnusername/svnpassword

See http://www.na-mic.org/Bug/view.php?id=2152

Closes #2152

Revision 20286 - Directory Listing
Modified Wed May 30 13:56:48 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure CLIExtensionTemplate download all associated external data

From ExternalData.cmake documentation:

# The DATA{} syntax can alternatively match files associated with the named
# file and contained in the same directory.  Associated files may be specified
# by options using the syntax DATA{<name>,<opt1>,<opt2>,...}.  Each option may
# specify one file by name or specify a regular expression to match file names
# using the syntax REGEX:<regex>.  For example, the arguments
#   DATA{MyData/MyInput.mhd,MyInput.img}                   # File pair
#   DATA{MyData/MyFrames00.png,REGEX:MyFrames[0-9]+\\.png} # Series
# will pass MyInput.mha and MyFrames00.png on the command line but ensure
# that the associated files are present next to them.

See http://www.na-mic.org/Bug/view.php?id=2139

Close #2139

Revision 20279 - Directory Listing
Modified Tue May 29 05:36:27 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Configure extensions with Midas credential when Slicer_UPLOAD_EXTENSIONS is OFF

See http://www.na-mic.org/Bug/view.php?id=2132

Close #2132

Revision 20276 - Directory Listing
Modified Tue May 29 02:20:40 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Ensure SlicerBlockBuildPackageAndUploadExtension parameter can contain ".."

See http://www.cmake.org/Bug/view.php?id=12953

Revision 20165 - Directory Listing
Modified Sun May 27 18:23:30 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
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 20160 - Directory Listing
Modified Sun May 27 01:47:47 2012 UTC (5 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Module CMakeLists are now written using consistent and simple convention

MODULE_NAME_UPPER variable used systematically to define the export directive

MODULE_TITLE always specified

Module variable names now have the form "MODULE_*"

Variable build within a module are now specified using "${KIT}_*"

Extensions template and built-in module now follow the same style.

Revision 20084 - Directory Listing
Modified Wed May 16 02:55:45 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Ensure extension can be built in a standalone fashion. Fixes #2054

See http://www.na-mic.org/Bug/view.php?id=2054

Revision 20076 - Directory Listing
Modified Mon May 14 20:50:11 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Ensure extensions build system find git/svn when not installed in PATH. Fixes #2036

See http://na-mic.org/Mantis/view.php?id=2036

Revision 20075 - Directory Listing
Modified Mon May 14 16:14:08 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: In extensions dashboard driver script, differentiate build dir realted to testing.

Revision 20032 - Directory Listing
Modified Mon May 7 22:15:12 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
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 20027 - Directory Listing
Modified Fri May 4 21:38:36 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
BUG: In extensions driver script, CTEST_CHECKOUT_COMMAND now supports "path to CMake command" containing spaces

Revision 19991 - Directory Listing
Modified Thu May 3 21:48:47 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Do not use "SlicerFunctionToday" in MIDASAPI macro tests. See #1973

Revision 19982 - Directory Listing
Modified Wed May 2 22:39:27 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Continuous extension build system also consider Slicer revision updates.

To summarize, the continuous build system now consider two possible updates:
 1) Update associated with ExtensionsIndex git repository
 2) Change of version associated with Slicer itself

The task (2) is achieved by extracting the revision from vtkSlicerConfigure.h
header file.

moving forward a mechanism preventing the build of extension if Slicer itself
isn't fully build should probably be implemented.

Revision 19981 - Directory Listing
Modified Wed May 2 22:39:25 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure extension template dashboard script downloads driver script

Revision 19970 - Directory Listing
Modified Tue May 1 00:11:12 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extensions build system now support ExtensionsIndex git repository

The "ExtensionsIndex" repository is a dedicated git repository used to
host extension description files. The associated integration branches
are "master", "4.1", ...

When Slicer 4.2 will be released, the integration branch 4.2 will be created.
This later one will host the extensions developed for this specific release.

The "master" branch will host the bleeding edge extensions build against
the bleeding edge Slicer.

In a nutshell, the extensions build system can be used in two ways:
  "Inside"  a slicer build tree
  or
  "Outside" a slicer build tree

"Inside": This is done by enabling option Slicer_BUILD_EXTENSIONS (and optionally Slicer_UPLOAD_EXTENSIONS)
when building Slicer.

"Outside": This is done by building the project located in "Slicer/Extensions/CMake"

The advantage of doing an "Outside" build is that the continuous integration associated
with extensions will be fast (systematic configure/build of Slicer isn't required)

Revision 19969 - Directory Listing
Modified Tue May 1 00:11:10 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Associate repository type and revision to extension build name

Revision 19968 - Directory Listing
Modified Tue May 1 00:11:08 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Ensure site name associated with extension build is systematically lower cased

Revision 19966 - Directory Listing
Modified Tue May 1 00:11:05 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
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 19964 - Directory Listing
Modified Tue May 1 00:11:02 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Factory out continuous build interval time into one variable in driver scripts

Revision 19947 - Directory Listing
Modified Thu Apr 26 20:30:23 2012 UTC (5 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Ensure that extension that specific extension revision can be checked out. Fixes #1941

See http://www.na-mic.org/Bug/view.php?id=1941

Revision 19908 - Directory Listing
Modified Thu Apr 19 17:49:14 2012 UTC (5 years, 6 months ago) by finetjul
Original Path: trunk/Extensions
ENH: Update Extension Module Template to use a vertical spacer by default

No frame for the collapsible button by default neither.

Revision 19889 - Directory Listing
Modified Thu Apr 12 20:14:47 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure that SlicerBlockAdditionalLauncherSettings can be included mutliple times

In case UseSlicer.cmake file is included more than once, the target
'ConfigureAdditionalLauncherSettings' was defined more than once which
was causing the following cmake error:

// -----------
CMake Error at /home/jchris/Projects/Slicer4/Extensions/CMake/SlicerBlockAdditionalLauncherSettings.cmake:49 (add_custom_target):
  add_custom_target cannot create target
  "ConfigureAdditionalLauncherSettings" because another target with the same
  name already exists.  The existing target is a custom target created in
  source directory "/home/jchris/Projects/SkullStripper".  See documentation
  for policy CMP0002 for more details.
// -----------


Let's also note that we envision multiple extension built within one
project, only one target is required since the launcher settings are
currently module/extension agnostic.

Revision 19888 - Directory Listing
Modified Thu Apr 12 20:14:44 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Fix spell mistake in additional launcher settings target name.

Additonal -> Additional

Revision 19885 - Directory Listing
Modified Thu Apr 12 04:18:27 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Allow to build {Experimental, Nightly}Experimental(Upload) target on visual studio by skipping Configuration.

Doing so implies that project is in good order before selecting "build only" on the target.

Revision 19884 - Directory Listing
Modified Thu Apr 12 04:16:17 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure the CMakeCache of extension contains variables expected when using VisualStudio Generator

Revision 19883 - Directory Listing
Modified Thu Apr 12 04:13:00 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure EXTENSION_{UPLOAD, TEST}_COMMAND works on Visual Studio IDE by setting CMAKE_MAKE_PROGRAM in cache

Revision 19882 - Directory Listing
Modified Thu Apr 12 02:56:29 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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 19880 - Directory Listing
Modified Wed Apr 11 23:14:13 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extend extension build system to support extension revision

Within the s4ext file, the option revision could be specified using
the token "scmrevision".
If not specified or specified to an empty string, the following default
value will be used:
  git: origin/master
  svn: HEAD

Revision 19874 - Directory Listing
Modified Wed Apr 11 18:26:36 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: MIDASAPIUploadExtension also considers the optional extension metadata

*

Revision 19873 - Directory Listing
Modified Wed Apr 11 17:25:37 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure extension STATUS metadata is properly considered

Note that currently the value of this metadata is not uploaded to midas

Revision 19872 - Directory Listing
Modified Wed Apr 11 17:25:36 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Option extension metadata should be consistently considered.

In file "SlicerBlockBuildPackageAndUploadExtensions", the following
variables where described as expected whereas they are optional.

  EXTENSION_ICONURL
  EXTENSION_CONTRIBUTORS
  EXTENSION_DESCRIPTION
  EXTENSION_SCREENSHOTURLS


Note also that the mechanism to pass variable will be revised and
simplified. So that default value, type of warning etc .. are all specifed
in one location.

Revision 19871 - Directory Listing
Modified Wed Apr 11 17:25:34 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Prevent confusion by renaming CMake variable appropriately

* "expected_defined_vars" changed into "optional_vars"

Revision 19870 - Directory Listing
Modified Wed Apr 11 16:00:20 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Re-organize declaration of extension template metadata in a meaningful way

* Required metedata are listed first

* URL-like metadata are grouped together

Revision 19868 - Directory Listing
Modified Wed Apr 11 15:27:07 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Make sure test target specific to extension are not colliding with existing ones.

* By default the target will be named:

   Experimental
   ExperimentalUpload

   Nightly
   NightlyUpload

If there ia already targets names "Experimental" or "Nightly", the
following names will be used instead:

   ExperimentalExtension
   ExperimentalExtensionUpload

   NightlyExtension
   NightlyExtensionUpload

Revision 19867 - Directory Listing
Modified Wed Apr 11 15:27:05 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Include 'SlicerBlockModuleToExtensionMetadata' within UseSlicer.cmake

Revision 19866 - Directory Listing
Modified Wed Apr 11 15:27:03 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Include 'SlicerBlockUploadExtensionPrerequisites' within UseSlicer.cmake

Revision 19865 - Directory Listing
Modified Wed Apr 11 15:27:01 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: "Slicer_INSTALL_*MODULE_*_DIR" set in UseSlicer.cmake along with other variables.

Revision 19864 - Directory Listing
Modified Wed Apr 11 15:26:59 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Remove extra comment.

This a follow up of r19860

See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=19860

Revision 19863 - Directory Listing
Modified Wed Apr 11 15:26:58 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Simplify organization - Testing macros are now included in UseSlicer.cmake

Revision 19861 - Directory Listing
Modified Wed Apr 11 13:46:10 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Prevent confusion by removing extra code from Superbuild extension template.

Since by default a superbuild extension can't be dropped in a Slicer
source tree, let's remove the "if(Slicer_SOURCE_DIR)"

Revision 19860 - Directory Listing
Modified Wed Apr 11 13:46:09 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Remove extra comment in extension templates

Since the location of the project() call may change, it's preferable not
to indicate the current location.

Revision 19859 - Directory Listing
Modified Wed Apr 11 13:35:55 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Simplify extension template using MODULE_* variables

This is a follow up of r19855 [1]

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.


[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=19855

Revision 19858 - Directory Listing
Modified Wed Apr 11 13:35:53 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: More consistency by setting all extension default values in UseSlicer.cmake

Revision 19857 - Directory Listing
Modified Wed Apr 11 13:35:51 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Modularize extension build system by creating "SlicerBlockAdditionalLauncherSettings"

Revision 19856 - Directory Listing
Modified Wed Apr 11 13:35:49 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
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 19852 - Directory Listing
Modified Wed Apr 11 10:56:33 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Ensure generic Python module tests pass when build as extension

After commit r19844 that ensure that python unittest will fail if it applies,
a problem associated with generic python module tests has been discovered.

The following error message was displayed:

   AttributeError: 'module' object has no attribute 'scriptedloadableextensiontemplate'


This was explained by the fact the path where the module was located
wasn't considered by the module factory manager.

To address that problem, a new command line option named

  --additional-module-paths

has been added.


The given list of path will added to the factory module manager.

Revision 19847 - Directory Listing
Modified Wed Apr 11 10:56:23 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Easier understanding of Editor extension template by making CMakeLists.txt  consistent.

Revision 19846 - Directory Listing
Modified Wed Apr 11 10:56:21 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Prevent confusion by removing unused CMake variable

Revision 19845 - Directory Listing
Modified Wed Apr 11 10:56:19 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Simplify extension template by using default value for EXTENSION_DEPENDS

Revision 19842 - Directory Listing
Modified Tue Apr 10 00:32:57 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Simplify extension templates re-organizing code in rest of CMakeLists.txt

* The idea is to keep the template:

    simple

    easy to read

    self-documented

Revision 19841 - Directory Listing
Modified Mon Apr 9 23:56:15 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Simplify extension template sre-organizing code and removing extra comments.

* The idea is to keep the template:

  simple

  easy to read

  self-documented


* 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 19840 - Directory Listing
Modified Mon Apr 9 23:56:12 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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 19839 - Directory Listing
Modified Mon Apr 9 23:56:10 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Simplify extension template removing ADDITIONAL_{C,CXX}_FLAGS

* The idea is to keep the template as simple and as general as possible

* If developer want to add custom flag, he could overwrite
CMAKE_{C,CXX}_FLAGS or use the convenient ADDITIONAL_{C,CXX}_FLAGS that he
can set before including the Slicer_USE_FILE.

* All these convenient way will be documented on the wiki
See http://www.slicer.org/slicerWiki/index.php/Documentation/Snapshot/Developers/Tutorials/ExtensionWriting

Revision 19838 - Directory Listing
Modified Mon Apr 9 20:52:23 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Consistently reference contributor in Editor template extension.

Revision 19837 - Directory Listing
Modified Mon Apr 9 20:52:21 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Change minimum CMake version required in extension template CMakeLists.txt

* With CMake 2.8.7, CTestConfig can be in either the source or the build
tree. See http://cmake.org/gitweb?p=cmake.git;a=commit;h=76ecdd8d169fd256

* This will prevent from "polluting" the source tree if the configured
CTestConfig.cmake

* See #1504 - http://www.na-mic.org/Bug/view.php?id=1504

Revision 19835 - Directory Listing
Modified Mon Apr 9 16:18:03 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Avoid windows too long path problem by shortening superbuild template inner build directory

* To prevent "too long path" issue [1] causing strange and hard errors to
understand , and also now as a new convention, the inner build of
a superbuild based extension will be called "inner-build".

[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#paths

Revision 19834 - Directory Listing
Modified Mon Apr 9 14:57:31 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Associate a valid project in SuperbuildLoadableExtensionTemplate/CTestConfig .cmake

* The "WARNING non-zero return value in ctest from" was occurring on
windows and was the expression of one of the problem preventing the
build from being successfully driven and completed.

* By configuring properly the variable CTEST_PROJECT_NAME in CTestConfig,
the proper build command is now generated by CTest.

* the problem wasn't occurring on unix-like system because knowing the
project name is not required to either configure, build or package.

See r19814

Note also that a mechanism to centralize all CTest relate settings
could be established, it would avoid to redefined the drop site
and the drop location.

Revision 19831 - Directory Listing
Modified Mon Apr 9 09:59:09 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix issue in logic setting environment for "out-of-source" modules tests.

"CMAKE_CFG_INTDIR" variable is now evaluated at the right moment so that
the appropriate intermediate directory is used to configure the
AdditionalSettings file.

Revision 19830 - Directory Listing
Modified Mon Apr 9 09:39:43 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Extension build system should not udpate Slicer source.

Currently the extension build system is used solely to build the
extensions located inside "Slicer/Extensions" directory, if the system
is building these extensions it should not update the associated
repository. Be not updating, we ensure that the extension will be built
against the expected Slicer revision.

As a "quick fix". let's just disable the update using the variable
"run_ctest_with_update".

Moving forward, the mechanism should be revised to support the situation
where "extension description" are in one repo and the "Slicer source"
in a different one.

In that case, if a continuous dashboard is setup, the revision number associated
with Slicer repo should be extracted. Then, very 5 minutes, the revision
extracted from Slicer repo should be compared to the save one.
If they are different, the rebuild of extension should be triggered.

Additionally, if the repo hosting the extension description is updated,
the rebuild should also be triggered.

Revision 19827 - Directory Listing
Modified Mon Apr 9 08:53:54 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure environment is set when running "out-of-source" modules tests.

In the case of extensions bundling modules or module simply built against
a Slicer build-tree, it's common to have either an executable (CLI)
or a plugin (loadable module) that depends on other libraries provided
by the module itself (logic and MRML libraries for example).

In order to successfully be able to run the tests, a file containing
additional settings specific to the module is configured. These settings
include:
  Paths
  LibraryPaths
  EnvironmentVariables (for example PYTHONPATH)

These settings are similar to the values used to update SlicerLauncherSettings.ini
when an extension is installed using the  extension manager model.

Since the LAUNCH_COMMAND is updated with the option '--launcher-additional-settings'
associated with the additional settings file, the tested executables
and libraries should be able to resolve their dependencies properly.

Note also that PYTHONPATH is updated so that python module associated with
a module could be imported. For example, the scripted module.

Revision 19818 - Directory Listing
Modified Sun Apr 8 02:52:37 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Make sure comments are consistent across all extension template CMakeLists.txt

Revision 19815 - Directory Listing
Modified Sun Apr 8 00:01:18 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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 19814 - Directory Listing
Modified Sun Apr 8 00:01:15 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Associate a valid project name when building extensions using CTest

* The "WARNING non-zero return value in ctest from" was occurring on
windows and was the expression of one of the problem preventing the
build from being successfully driven and completed.

* By configuring properly the variable CTEST_PROJECT_NAME in CTestConfig,
the proper build command is now generated by CTest.

* the problem wasn't occurring on unix-like system because knowing the
project name is not required to either configure, build or package.

Revision 19813 - Directory Listing
Modified Sun Apr 8 00:01:14 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Use CData in CLI extension template XML description

Using CData allow to embed HTML tag like <p></p>, <br>in the
description and acknowledgements.

Revision 19785 - Directory Listing
Modified Wed Apr 4 14:25:25 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Ensure SlicerExtensions project submit configure/build result to appropriate CDash track

* Before that changes, the project used to drive the build of the extensions
was submitting its configure and build result to the Nightly. Continuous .. track.
To be consistent, it's now submitted, along with the extensions results, to the
Extensions-<model> track.

* It would probably make sens to create a variable allowing to centralize
where the Extensions track name is specified, currently it's done in both
SlicerExtensionsDashboardDriverScript.cmake and SlicerBlockBuildPackageAndUploadExtension.cmake

Revision 19776 - Directory Listing
Modified Tue Apr 3 01:19:26 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Prevent extensions dashboard error removing CTEST_CMAKE_COMMAND from required variable.

Revision 19752 - Directory Listing
Modified Thu Mar 29 18:45:49 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Simplify API of MIDASAPI macros removing TMP_DIR parameter

* CMAKE_CURRENT_BINARY_DIR  is used in place

Revision 19748 - Directory Listing
Modified Thu Mar 29 18:45:42 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Simplify signature of "midas_api_login" function

Revision 19744 - Directory Listing
Modified Thu Mar 29 10:37:25 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Rename CMake variable to be more explicit

* "server_token" -> "midas_api_token"

Revision 19741 - Directory Listing
Modified Thu Mar 29 06:26:38 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Allow extension download from CDash by adding prefix "http" to default MIDAS_PACKAGE_URL

Revision 19738 - Directory Listing
Modified Thu Mar 29 05:49:12 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Facilitate re-use of SlicerFunctionMIDASUploadExtension

* Rename "SlicerFunctionMIDASUploadExtension" into "MIDASAPIUploadExtension"

* Function has now signature "midas_api_upload_extension"

* Update test so that it passes

Revision 19737 - Directory Listing
Modified Thu Mar 29 05:49:11 2012 UTC (5 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
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, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Facilitate re-use of SlicerFunctionMIDASCTestUploadURL

* Rename "SlicerFunctionMIDASCTestUploadURL" into "MIDASCTestUploadURL"

* Function has now signature "midas_ctest_upload_url"

Revision 19691 - Directory Listing
Modified Fri Mar 23 23:16:14 2012 UTC (5 years, 6 months ago) by finetjul
Original Path: trunk/Extensions
ENH: restore change to enum from string of ModifiedEvent for vtk 5.10 compatibility

This reverts commit r19679 which was reverting r19670.

Revision 19684 - Directory Listing
Modified Thu Mar 22 08:13:30 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
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 19680 - Directory Listing
Modified Thu Mar 22 04:53:28 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
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 19679 - Directory Listing
Modified Wed Mar 21 22:14:16 2012 UTC (5 years, 7 months ago) by pieper
Original Path: trunk/Extensions
BUG: revert change to enum from string of ModifiedEvent for vtk 5.10 compatibility

Revision 19670 - Directory Listing
Modified Wed Mar 21 08:42:53 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Improve robustness of the code by using vtk.vtkCommand.ModifiedEvent instead of string "ModifiedEvent"

* Assuming the code is tested, doing so will allow to enforce
valid event are used by avoiding misspelled  error associated to event
specified as string.

Revision 19655 - Directory Listing
Modified Mon Mar 19 07:02:07 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Avoid confusion by defining SIMPLE_TEST macro only once.

* Consistently set the variable KIT within the Testing/Cxx/CMakeLists.txt of
each library.

* Fix name inconsistency. See #1615

Revision 19644 - Directory Listing
Modified Mon Mar 19 04:21:39 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
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, 7 months ago) by jcfr
Original Path: trunk/Extensions
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 19608 - Directory Listing
Modified Wed Mar 14 18:45:50 2012 UTC (5 years, 7 months ago) by finetjul
Original Path: trunk/Extensions
ENH: Upgrade documentation to 4.1

Revision 19594 - Directory Listing
Modified Wed Mar 14 01:14:29 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Make sure "SlicerBlockSetCMakeOSXVariables" is included when building slicer extensions as standalone project.

* SlicerBlockSetCMakeOSXVariables.cmake now included relatively to the current
CMake source dir.

* Slicer_CMAKE_DIR is not yet defined. Indeed the block "SlicerBlockSetCMakeOSXVariables"
has to be included before project() is called.

* Note for myself: Test, Test, Test before committing !

Revision 19593 - Directory Listing
Modified Wed Mar 14 00:46:57 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Set CMAKE_OSX_* variable appropriately when building SlicerExtensions as standalone project

Revision 19556 - Directory Listing
Modified Fri Mar 9 23:13:20 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Improve readability by consistently using "virtual" qualifier

* This particular commit applies to "dependencies()" method associated to modules

Revision 19456 - Directory Listing
Modified Tue Feb 28 08:56:56 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
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 19455 - Directory Listing
Modified Tue Feb 28 08:56:54 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Extensions tests, packaging and build name now associated with the correct build type

* This problem was specific to multi configuration system like windows

* It knows make sure CTEST_BUILD_CONFIGURATION is passed (-C option) when
the ctest script SlicerBlockBuildPackageAndUploadExtensions.cmake is invoked.

Revision 19449 - Directory Listing
Modified Tue Feb 28 00:25:46 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: For consistency, re-order the declaration of metadata in extension templates

Revision 19448 - Directory Listing
Modified Tue Feb 28 00:25:43 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
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 19442 - Directory Listing
Modified Mon Feb 27 12:22:46 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extension templates now include screenshot urls

* screenshot urls list is also uploaded to the extension server

Revision 19441 - Directory Listing
Modified Mon Feb 27 11:34:24 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extension templates now include contributors

* Contribuors list is also uploaded to the extension server

Revision 19440 - Directory Listing
Modified Mon Feb 27 11:34:21 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extension build system now support metadata value having '(', ')' characters.

Revision 19439 - Directory Listing
Modified Mon Feb 27 10:53:51 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
ENH: ExtensionTemplates now include iconurl

* The iconurl is also updated to the extension server

Revision 19438 - Directory Listing
Modified Mon Feb 27 10:53:48 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extension build system now support metadata value having '=', '&' character.

Revision 19437 - Directory Listing
Modified Mon Feb 27 10:12:10 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Add/Update icon associated with extension templates

Revision 19425 - Directory Listing
Modified Mon Feb 27 08:16:30 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
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 19424 - Directory Listing
Modified Mon Feb 27 08:16:28 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Group extension build system debug option in one location.

Revision 19416 - Directory Listing
Modified Mon Feb 27 08:16:10 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
BUG: CLIExtensionTemplate - Category is now properly set

Revision 19415 - Directory Listing
Modified Mon Feb 27 08:16:08 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
BUG: qSlicerLoadableExtensionTemplateModule shouldn't expect a empty module name as dependency

Revision 19414 - Directory Listing
Modified Mon Feb 27 08:16:06 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: ExtensionTemplate - Specify contributor names using the new convention

Revision 19413 - Directory Listing
Modified Mon Feb 27 08:16:04 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: SuperBuildLoadableExtensionTemplate/CMakeLists.txt - metadata are now set at the same place

* Note that EXTENSION_LICENSE_FILE and EXTENSION_README_FILE still need
to be set after find_package(Slicer) because their defauld value depend on
the Slicer variables Slicer_LICENSE_FILE and Slicer_README_FILE

Revision 19412 - Directory Listing
Modified Mon Feb 27 08:16:02 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Update qSlicer(SuperBuild)LoadableExtensionTemplateModule to consider contributors, categories and dependencies

Revision 19411 - Directory Listing
Modified Mon Feb 27 08:16:00 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: ScriptedLoadableExtensionTemplate.py - Fix indent and set "dependencies" property

Revision 19410 - Directory Listing
Modified Mon Feb 27 08:15:57 2012 UTC (5 years, 7 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Update CLIExtensionTemplate

* Now based on the more simple Gaussian blur CLI module (instead of the AddScalarVolumes module)

* Tests are now passing

Revision 19289 - Directory Listing
Modified Tue Feb 14 20:06:47 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
ENH: ExtensionUpload - Submit extension category to midas server

* If an extension doesn't have any category, it will be considered as an error.

Revision 19288 - Directory Listing
Modified Tue Feb 14 20:06:45 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: SlicerFunctionMIDASUploadExtension - Update comment and remove extra code

Revision 19267 - Directory Listing
Modified Thu Feb 9 23:43:08 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Add workaround so that ctest parameters containing "//" are not modified. Closes #1711

The problem has been reported on CMake/CTest bugtracker.
See http://www.cmake.org/Bug/view.php?id=12953

Revision 19241 - Directory Listing
Modified Tue Feb 7 05:20:58 2012 UTC (5 years, 8 months ago) by finetjul
Original Path: trunk/Extensions
STYLE: Rename qSlicerAbstractCoreModule::contributor to contributors

Revision 19237 - Directory Listing
Modified Tue Feb 7 02:06:57 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extension template dashboard script - Include Qt version in build dir and build name

Revision 19236 - Directory Listing
Modified Tue Feb 7 02:06:52 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
BUG: In dashboard driver script, "setIfNotDefined" macro should be defined before it's used.

Revision 19228 - Directory Listing
Modified Mon Feb 6 21:47:31 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
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 19227 - Directory Listing
Modified Mon Feb 6 21:04:32 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add driver script allowing to build extensions

* A dashboard building extension on a nightly basis can now easily be setup.

* This dashboard will have to start after the associated dashboard in charge
of building Slicer itself is done.

* Note that more work is required to properly handle the case of continuous
dashboard.

Revision 19226 - Directory Listing
Modified Mon Feb 6 21:04:30 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Update slicerpackages web API call to match new naming convention

Revision 19224 - Directory Listing
Modified Mon Feb 6 21:04:25 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix install rules associated with ScriptedLoadableExtensionTemplate

Revision 19222 - Directory Listing
Modified Mon Feb 6 21:04:22 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
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 19221 - Directory Listing
Modified Mon Feb 6 21:04:19 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Add SlicerFunctionMIDASUploadExtension

Revision 19212 - Directory Listing
Modified Mon Feb 6 14:52:18 2012 UTC (5 years, 8 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Update CTestConfig.cmake to use "slicer.cdash.org" URL. See CDash#12555

See http://public.kitware.com/Bug/view.php?id=12555

Revision 19147 - Directory Listing
Modified Fri Jan 27 23:11:07 2012 UTC (5 years, 8 months ago) by finetjul
Original Path: trunk/Extensions
STYLE: InitializeEventListeners is obsolete

Use SetMRMLSceneInternal instead.

Revision 19133 - Directory Listing
Modified Wed Jan 25 20:25:28 2012 UTC (5 years, 8 months ago) by finetjul
Original Path: trunk/Extensions
ENH: Add support for modules to be in more than 1 category

Categories are a way to "sort" modules, a module can semantically be part of
multiple categories.

Rename QString qSlicerAbstractCoreModule::category into
QStringList qSlicerAbstractCoreModule::categories

Issue #1602

Revision 19070 - Directory Listing
Modified Thu Jan 12 16:50:13 2012 UTC (5 years, 9 months ago) by pieper
Original Path: trunk/Extensions
ENH: Add default editor extension action icon file

Revision 19037 - Directory Listing
Modified Sat Jan 7 21:36:32 2012 UTC (5 years, 9 months ago) by pieper
Original Path: trunk/Extensions
ENH: update extension template to reflect new and improved behavior

Revision 18966 - Directory Listing
Modified Tue Dec 20 20:26:01 2011 UTC (5 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
COMP: SlicerBlockBuildPackageAndUploadExtensions - Use Slicer_BINARY_DIR instead of Slicer_BINARY_DIR

* Allow to decouple the extension build system from Slicer one.

Revision 18942 - Directory Listing
Modified Thu Dec 15 20:10:16 2011 UTC (5 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Fix Extension templates to be consistent with new vtkMRMLScene API

Revision 18941 - Directory Listing
Modified Thu Dec 15 20:10:14 2011 UTC (5 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
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 18940 - Directory Listing
Modified Thu Dec 15 18:12:26 2011 UTC (5 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Move RobustStatisticsSegmenter code into Slicer github organization

* See https://github.com/Slicer/RobustStatisticsSegmenter

Revision 18939 - Directory Listing
Modified Thu Dec 15 16:14:01 2011 UTC (5 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove Slicer3 directory "Extensions/s3ext-attic"

The corresponding source code is still available in Slicer3 repository.

Revision 18910 - Directory Listing
Modified Mon Dec 12 20:45:56 2011 UTC (5 years, 10 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Change SLICER_ADD_PYTHON_(UNIT)TEST CMake macros to lowercase

Revision 18704 - Directory Listing
Modified Thu Nov 17 20:12:42 2011 UTC (5 years, 11 months ago) by hjohnson
Original Path: trunk/Extensions
ENH: Removed BRAINSTools .s3ext files.

Revision 18157 - Directory Listing
Modified Wed Sep 21 19:50:42 2011 UTC (6 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
STYLE: Remove year from Kitware copyright

Revision 17882 - Directory Listing
Modified Tue Aug 30 04:00:35 2011 UTC (6 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
COMP: Extension - Ensure CTestConfig before ctest_start is executed

* When Slicer_UPLOAD_EXTENSIONS is enabled, the configure, build, test and
packaging of the extension is driven using ctest. In that case and if
CTestConfig.cmake doesn't already exists in the source, we need to make
sure it is generated before ctest_start is invoked.

* With the current version of CMake, CTestConfig.cmake is expected to exist
in the source directory *only*. A patch will be proposed to the CMake team
so that a CTestConfig file existing in the build directory can also be
considered. It will avoid to "pollute" the source directory be creating
an unversioned file.

Revision 17851 - Directory Listing
Modified Fri Aug 26 21:26:23 2011 UTC (6 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
BUG: SuperBuildLoadableExtensionTemplate.s4ext - Set build_subdirectory

Revision 17850 - Directory Listing
Modified Fri Aug 26 21:26:21 2011 UTC (6 years, 1 month ago) by jcfr
Original Path: trunk/Extensions
STYLE: SlicerBlockBuildPackageAndUploadExtensions - Fix spelling

Revision 17741 - Directory Listing
Modified Wed Aug 17 19:18:10 2011 UTC (6 years, 2 months ago) by kedar_p
Original Path: trunk/Extensions
ENH: Editor extension for using the 'RobustStatSegmenter' CLI module. 

Revision 17629 - Directory Listing
Modified Fri Jul 29 16:15:51 2011 UTC (6 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add SuperBuildLoadableExtensionTemplate

* This template provide an example of Loadable module relying on Superbuild
 written as an extension.

Revision 17628 - Directory Listing
Modified Fri Jul 29 16:15:47 2011 UTC (6 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add CLIExtensionTemplate

* This template provide an example of Command LIne module written as
an extension.

Revision 17627 - Directory Listing
Modified Fri Jul 29 16:15:44 2011 UTC (6 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Enable python wrapping of LoadableExtensionTemplate/Logic library

Revision 17626 - Directory Listing
Modified Fri Jul 29 16:15:42 2011 UTC (6 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Update s4ext depends property - Set to NA if there are no dependency

* Using NA instead of an empty value seems to be counter intuitive. This
will be revisited in the near future.

Revision 17625 - Directory Listing
Modified Fri Jul 29 16:15:40 2011 UTC (6 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Update comments in Extension testing project

Revision 17624 - Directory Listing
Modified Fri Jul 29 16:15:38 2011 UTC (6 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add support for superbuild based extension

* By specifying EXTENSION_BUILD_SUBDIRECTORY in its CMakeLists.txt an extension
can teach the build system in which folder the inner extension will be built,

* The generated extension deescription file (s4ext) will have an optional property
named "build_subdirectory"

Revision 17618 - Directory Listing
Modified Fri Jul 29 16:15:17 2011 UTC (6 years, 2 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Move Slicer3 extension files (s3ext) into their own folder

* Doing so will avoid to clutter the content of the Extensions folder

Revision 17512 - Directory Listing
Modified Mon Jul 18 23:18:22 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Remove extra spaces

Revision 17476 - Directory Listing
Modified Wed Jul 13 18:36:51 2011 UTC (6 years, 3 months ago) by pieper
Original Path: trunk/Extensions
COMP: add default empty testing directory so configure/make of the template will work without needing to turn off testing in cmake.  TODO: add some example tests

Revision 17475 - Directory Listing
Modified Wed Jul 13 17:06:35 2011 UTC (6 years, 3 months ago) by pieper
Original Path: trunk/Extensions
BUG: in case the extension is initialized before the editor itself, it needs to create the map of extensions before adding to it

Revision 17433 - Directory Listing
Modified Sun Jul 10 16:38:13 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Add "line separator" comments, fix indent

Revision 17432 - Directory Listing
Modified Sun Jul 10 16:38:12 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: SlicerBlockUploadExtension - Reorganize code and introduce debug variable "CTEST_EXTRA_VERBOSE"

* By setting CTEST_EXTRA_VERBOSE to True, "ctest" command will
be invoked with the argument "-VV".

* That means building "Experimental" or "ExperimentalUpload" will display
additional information.

Revision 17431 - Directory Listing
Modified Sun Jul 10 16:38:10 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Disable Plastimatch extension

* Waiting the extension infrastructure is fully operational. Let's disable it.

Revision 17430 - Directory Listing
Modified Sun Jul 10 08:31:17 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: BuildPackageAndUploadExtension - Run test only there are tests

* Since calling "ctest_test(...)" if there are no tests is an error, we are
now checking for the output of "ctest -N"

Revision 17373 - Directory Listing
Modified Thu Jul 7 17:22:53 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Extensions - Fix regular expression ensuring that EXTENSION_DEPENDS is blank if "NA" was specified.

Revision 17369 - Directory Listing
Modified Thu Jul 7 04:52:09 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Add comments

Revision 17368 - Directory Listing
Modified Thu Jul 7 04:52:08 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: EditorExtensionTemplate - Change CMake function to lower case

Revision 17367 - Directory Listing
Modified Thu Jul 7 04:52:05 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Extension - EXTENSION_DEPENDS should be defined and set to NA if there are no dependencies

Revision 17366 - Directory Listing
Modified Thu Jul 7 04:52:03 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: ExtensionTemplates - Add comment explaining why "Additional C/CXX" flags should be set before including Slicer_USE_FILE

Revision 17345 - Directory Listing
Modified Tue Jul 5 23:41:57 2011 UTC (6 years, 3 months ago) by finetjul
Original Path: trunk/Extensions
COMP: CLIExtensionTemplate is not ready yet -> empty Testing directory

Revision 17320 - Directory Listing
Modified Sun Jul 3 05:53:24 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add "depends" option to Plastimatch extension

Revision 17319 - Directory Listing
Modified Sun Jul 3 05:53:21 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add CLIExtension and ScriptedLoadable extension templates

Revision 17318 - Directory Listing
Modified Sun Jul 3 05:53:14 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add DEPENDS option to extension template

Revision 17317 - Directory Listing
Modified Sun Jul 3 05:53:09 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Update Extensions build, package and upload system to handle extension dependency

Revision 17282 - Directory Listing
Modified Thu Jun 30 20:09:19 2011 UTC (6 years, 3 months ago) by pieper
Original Path: trunk/Extensions
ENH: add extension for Dose Volume Historgrams (for radiation therapy) from Csaba Pinter of Queens

Revision 17256 - Directory Listing
Modified Tue Jun 28 03:36:32 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Delegate call to 'project()' and definition of CMAKE_OSX_* variable to SlicerConfig

* Since:
 1) calling project() should be done before importing the Slicer target
and after defining CMAKE_OSX_* variables.
 2) the CMakeLists.txt of Extension should remain simple enough.

=> The associated CMake code has been moved to SlicerConfig.cmake

* Note that such behavior could be avoided by adding the code in a 'if'
statement of the following form:
if(NOT Slicer_CONFIG_SKIP_PROJECT_CALL)
...
endif()

Revision 17227 - Directory Listing
Modified Fri Jun 24 17:13:59 2011 UTC (6 years, 3 months ago) by pieper
Original Path: trunk/Extensions
BUG: remove reference to hidden attribute which is not yet exposed

Revision 17208 - Directory Listing
Modified Thu Jun 23 19:18:09 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
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
Original Path: trunk/Extensions
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 17201 - Directory Listing
Modified Thu Jun 23 17:23:59 2011 UTC (6 years, 3 months ago) by pieper
Original Path: trunk/Extensions
ENH: first pass at a template for creating editor extensions

Revision 17200 - Directory Listing
Modified Thu Jun 23 16:10:20 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Extensions/LoadableExtensionTemplateLogic - Link against only required libraries

* As specified in SlicerMacroBuildModuleLogic, logic already link against qSlicerBaseQTCLI.
It means that Qt, CTK, VTK, SlicerBaseCore libraries are already included.

Revision 17196 - Directory Listing
Modified Thu Jun 23 06:06:48 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
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 17191 - Directory Listing
Modified Thu Jun 23 01:39:37 2011 UTC (6 years, 3 months ago) by jcfr
Original Path: trunk/Extensions
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 17162 - Directory Listing
Modified Tue Jun 21 13:19:42 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add ScriptedLoadableExtensionTemplate

* This module is a basic hello world example illustrating how an
scripted loadable extension could be implemented.

Revision 17160 - Directory Listing
Modified Tue Jun 21 13:19:37 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
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, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Rename SlicerMacroAddGenericCxxModuleTests into SlicerMacroConfigureGenericCxxModuleTests

Revision 17134 - Directory Listing
Modified Sun Jun 19 01:57:07 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: SlicerMacroAddGenericCxxModuleTests can now be used in extension

* Update test associated to LoadableExtensionTemplate module

Revision 17127 - Directory Listing
Modified Sat Jun 18 23:47:01 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: Use "IF(BUILD_TESTING) .. ENDIF()" format consistently

Revision 17113 - Directory Listing
Modified Sat Jun 18 10:04:04 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
BUG: BuildPackageAndUploadExtension - Do not upload if build-error occured

Revision 17112 - Directory Listing
Modified Sat Jun 18 10:04:02 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
STYLE: BuildPackageAndUploadExtension - Force CTEST_SITE to lower case

Revision 17110 - Directory Listing
Modified Sat Jun 18 09:44:58 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: SlicerEnableExtensionTesting - Generate CTestConfig if it doesn't exist in source directory

* Remove LoasableTemplateModule/CTestConfig.cmake

Revision 17106 - Directory Listing
Modified Sat Jun 18 05:55:33 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Update SlicerMacroGetCompilerName so that it doesn't depend on GET_VS_VERSION_STRING

Revision 17097 - Directory Listing
Modified Sat Jun 18 00:07:25 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
BUG: SlicerBlockBuildPackageAndUploadExtension - Read file only if it exists

Revision 17095 - Directory Listing
Modified Sat Jun 18 00:05:53 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: SlicerBlocUploadExtension - If it applies, check that content of variable points to an existing path.

Revision 17079 - Directory Listing
Modified Fri Jun 17 07:26:25 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Added SlicerEnableExtensionTesting

This cmake module should be used within extension to both enable testing
and add the convenient targets:
  Experimental
  ExperimentalUpload

Note that the usual Ctest targets (Experimental, Nightly, ...) are not
available anymore. (CTEST_TARGETS_ADDED set to 1)

Revision 17078 - Directory Listing
Modified Fri Jun 17 07:26:23 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
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 17077 - Directory Listing
Modified Fri Jun 17 07:26:21 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add convenient macro SlicerMacroGetCompilerName.cmake

Revision 17072 - Directory Listing
Modified Fri Jun 17 07:26:13 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Move CMake functions related to extensions in their dedicated directory.

Revision 17070 - Directory Listing
Modified Fri Jun 17 07:26:09 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add testing to LoadableExtensionTemplate extension

Revision 16825 - Directory Listing
Modified Mon Jun 6 21:02:38 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove empty directory Extensions/Testing/ExtensionTemplate

Revision 16821 - Directory Listing
Modified Mon Jun 6 21:01:12 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Rename ExtensionTemplate into LoadableExtensionTemplate

Revision 16817 - Directory Listing
Modified Mon Jun 6 16:09:08 2011 UTC (6 years, 4 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove empty directory Extension/Testing/ExtensionTest

Revision 16483 - Directory Listing
Modified Fri May 6 19:40:06 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: QtModules - Use qt_module_name when defining ModuleLogic and ModuleMRML names

Revision 16430 - Directory Listing
Modified Tue May 3 19:11:20 2011 UTC (6 years, 5 months ago) by finetjul
Original Path: trunk/Extensions
BUG: Fix false positive memory leak error 

The memory leak checker needs the macro vtkTypeRevisionMacro to work correctly

Revision 16402 - Directory Listing
Modified Tue Apr 26 09:11:25 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
BUG: Update ExtensionTemplate.s4ext to use a relative path for SCMURL

Revision 16401 - Directory Listing
Modified Tue Apr 26 09:11:24 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
ENH: SCMURL of 'local' repository associated with s4ext file can be relative

Revision 16400 - Directory Listing
Modified Tue Apr 26 08:43:33 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Rename directory ExtensionTest into ExtensionTemplate

Revision 16399 - Directory Listing
Modified Tue Apr 26 08:30:28 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add Extensions/ExtensionTemplate.s4ext

The main difference between s3ext and s4ext is the specification of the
URL associated with the repository.

A more general token 'scmurl' is used instead of a token specific to
the repository associated with the extension (svnpath, ...)

Revision 16396 - Directory Listing
Modified Tue Apr 26 08:30:22 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Add option Slicer_BUILD_EXTENSIONS

By default disabled.

If enabled, the *.s4ext file within the Extensions directory will be
parsed and an ExternalProject target specific to each one of them and
depending on Slicer will be added.

Revision 16395 - Directory Listing
Modified Tue Apr 26 08:30:20 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
ENH: Update ExtensionTemplate CMakeLists.txt to consider UseSlicer and generate the s4ext file

It also possible to package the extension building the 'package' target

Revision 16392 - Directory Listing
Modified Tue Apr 26 08:30:16 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove unused CMakeLists.txt

Revision 16385 - Directory Listing
Modified Tue Apr 26 08:30:03 2011 UTC (6 years, 5 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Rename ExtensionTest into ExtensionTemplate

Revision 16237 - Directory Listing
Modified Thu Apr 7 02:52:24 2011 UTC (6 years, 6 months ago) by jcfr
Original Path: trunk/Extensions
COMP: Remove empty directory Extensions/Old

Revision 15841 - Directory Listing
Modified Fri Jan 14 22:15:41 2011 UTC (6 years, 9 months ago) by finetjul
Original Path: trunk/Extensions
ENH: Expose cmake variables into the build dir of Slicer for external use.

Add an example to compile a module outside of slicer.

Revision 14625 - Directory Listing
Modified Wed Aug 18 21:53:06 2010 UTC (7 years, 2 months ago) by haehn
Original Path: trunk/Extensions
ENH: New VMTK Extension: VMTKBranchSplitting by Johannes Schick aka. CT

Revision 13926 - Directory Listing
Modified Wed Jun 23 15:52:59 2010 UTC (7 years, 3 months ago) by hayes
Original Path: trunk/Extensions
BUG: cvspath bug

Revision 13925 - Directory Listing
Modified Wed Jun 23 15:48:20 2010 UTC (7 years, 3 months ago) by hayes
Original Path: trunk/Extensions
ENH: Initial commit of RicianNoise extension

Revision 13907 - Directory Listing
Modified Tue Jun 22 14:26:12 2010 UTC (7 years, 4 months ago) by haehn
Original Path: trunk/Extensions
ENH: New VMTK module for network extraction

Revision 13299 - Directory Listing
Modified Mon May 10 03:54:52 2010 UTC (7 years, 5 months ago) by ygao
Original Path: trunk/Extensions
STYLE: remove robustStatisticsSeg. The RSS module has been moved to Application/CLI/ dir

Revision 12198 - Directory Listing
Modified Mon Feb 22 18:46:46 2010 UTC (7 years, 7 months ago) by hayes
Original Path: trunk/Extensions
ENH: Removing old extensions

Revision 11936 - Directory Listing
Modified Tue Feb 2 22:53:28 2010 UTC (7 years, 8 months ago) by sylvain
Original Path: trunk/Extensions
ENH: update s3ext file to imitate the BRAINSFit s3ext example

Revision 11726 - Directory Listing
Modified Fri Jan 22 00:24:00 2010 UTC (7 years, 8 months ago) by sylvain
Original Path: trunk/Extensions
ENH: add .s3ext xml file to trigger the automated builds of the SpineSegmentation Slicer module

Revision 11258 - Directory Listing
Modified Fri Dec 11 20:34:03 2009 UTC (7 years, 10 months ago) by fedorov
Original Path: trunk/Extensions
BUG: login credentials missing in s3ext


Revision 11223 - Directory Listing
Modified Tue Dec 8 19:53:40 2009 UTC (7 years, 10 months ago) by hayes
Original Path: trunk/Extensions
ENH: Replaced localRegionSeg with robustStatisticsSeg

Revision 11156 - Directory Listing
Modified Fri Dec 4 21:07:08 2009 UTC (7 years, 10 months ago) by hayes
Original Path: trunk/Extensions
ENH: Inital commit of ABC extension

Revision 11047 - Directory Listing
Modified Wed Nov 25 15:04:33 2009 UTC (7 years, 10 months ago) by taox
Original Path: trunk/Extensions
BUG: wrong module description from copy/paste.

Revision 11030 - Directory Listing
Modified Tue Nov 24 14:50:54 2009 UTC (7 years, 10 months ago) by fedorov
Original Path: trunk/Extensions
ENH: remove N3MRILightCLI -- the code requires updates, and
documentation. In its currect state more confusion than use.


Revision 10982 - Directory Listing
Modified Wed Nov 18 18:07:41 2009 UTC (7 years, 11 months ago) by hayes
Original Path: trunk/Extensions
ENH: Removing BubbleMaker and LevelSetStepping at Ron's request

Revision 10981 - Directory Listing
Modified Wed Nov 18 18:07:23 2009 UTC (7 years, 11 months ago) by hayes
Original Path: trunk/Extensions
ENH: Removing BubbleMaker and LevelSetStepping at Ron's request

Revision 10961 - Directory Listing
Modified Mon Nov 16 21:35:42 2009 UTC (7 years, 11 months ago) by hayes
Original Path: trunk/Extensions
ENH: updated svn repository URL

Revision 10956 - Directory Listing
Modified Mon Nov 16 16:10:56 2009 UTC (7 years, 11 months ago) by hayes
Original Path: trunk/Extensions
ENH: Changed name for Meningioma Segmentation module to Local Region Segmentation

Revision 10955 - Directory Listing
Modified Mon Nov 16 16:10:32 2009 UTC (7 years, 11 months ago) by hayes
Original Path: trunk/Extensions
ENH: Changed name for Meningioma Segmentation module to Local Region Segmentation

Revision 10913 - Directory Listing
Modified Mon Nov 9 22:17:28 2009 UTC (7 years, 11 months ago) by fedorov
Original Path: trunk/Extensions
ENH: LabelDiameterEstimation is a CLI module extension that calculates the largest
diameter of a label, its largest perpendicular in-plane diameter, and the
diameter that is perpendicular to the plane of the first two going through its
intersection point. Details to be provided on the documentation page under
construction.


Revision 10855 - Directory Listing
Modified Wed Nov 4 00:44:03 2009 UTC (7 years, 11 months ago) by haehn
Original Path: trunk/Extensions
ENH new VMTK module to compute centerlines


Revision 10773 - Directory Listing
Modified Wed Oct 28 17:25:18 2009 UTC (7 years, 11 months ago) by hayes
Original Path: trunk/Extensions
COMP: Suppressing extensions at Carlos NMendoza's request

Revision 10772 - Directory Listing
Modified Wed Oct 28 17:24:13 2009 UTC (7 years, 11 months ago) by hayes
Original Path: trunk/Extensions
COMP: Suppressing extensions at Carlos NMendoza's request

Revision 10572 - Directory Listing
Modified Fri Oct 2 22:14:22 2009 UTC (8 years ago) by fedorov
Original Path: trunk/Extensions
ENH: new segmentation module from Yi Gao, GATech


Revision 10518 - Directory Listing
Modified Wed Sep 23 15:51:31 2009 UTC (8 years ago) by fedorov
Original Path: trunk/Extensions
ENH: s3ext's for head mask extraction and bias correction CLI


Revision 10419 - Directory Listing
Modified Mon Sep 7 15:27:29 2009 UTC (8 years, 1 month ago) by hjohnson
Original Path: trunk/Extensions
COMP:  Fixed compilation by using a stable tag of BRAINSFit rather than the nightly trunk.

Revision 10270 - Directory Listing
Modified Mon Aug 17 02:32:48 2009 UTC (8 years, 2 months ago) by haehn
Original Path: trunk/Extensions
ENH: Updated VMTK extension files

Revision 10269 - Directory Listing
Modified Mon Aug 17 02:31:15 2009 UTC (8 years, 2 months ago) by haehn
Original Path: trunk/Extensions
ENH: Updated VMTK extension files

Revision 10224 - Directory Listing
Modified Wed Aug 12 17:43:38 2009 UTC (8 years, 2 months ago) by millerjv
Original Path: trunk/Extensions
ENH: added a few more tags. Not sure if they are needed

Revision 10170 - Directory Listing
Modified Wed Aug 5 00:33:34 2009 UTC (8 years, 2 months ago) by haehn
Original Path: trunk/Extensions
ENH: A module providing an easier interface for the VMTK level-set segmentation process.

Revision 10132 - Directory Listing
Modified Fri Jul 31 17:07:24 2009 UTC (8 years, 2 months ago) by maddah
Original Path: trunk/Extensions
ENH:Extension file for EM Clustering module

Revision 10129 - Directory Listing
Modified Fri Jul 31 13:24:40 2009 UTC (8 years, 2 months ago) by taox
Original Path: trunk/Extensions
ENH: Added HammerRegistration as a slicer extension.

Revision 9812 - Directory Listing
Modified Sat Jun 27 22:20:53 2009 UTC (8 years, 3 months ago) by hjohnson
Original Path: trunk/Extensions
ENH: Added more data to the extension.

Revision 9803 - Directory Listing
Modified Fri Jun 26 15:11:07 2009 UTC (8 years, 3 months ago) by pieper
Original Path: trunk/Extensions
ENH: new extension from Hans and company at UIowa

Revision 9794 - Directory Listing
Modified Thu Jun 25 19:09:55 2009 UTC (8 years, 3 months ago) by taox
Original Path: trunk/Extensions
ENH: added fuzzy segmentation module as an extension.

Revision 9792 - Directory Listing
Modified Thu Jun 25 14:36:38 2009 UTC (8 years, 3 months ago) by pieper
Original Path: trunk/Extensions
ENH: new extension

Revision 9761 - Directory Listing
Modified Tue Jun 23 10:40:21 2009 UTC (8 years, 3 months ago) by taox
Original Path: trunk/Extensions
STYLE: typo.

Revision 9760 - Directory Listing
Modified Tue Jun 23 10:39:34 2009 UTC (8 years, 3 months ago) by taox
Original Path: trunk/Extensions
ENH: skull stripping module using Slicer Extension mechanism.

Revision 9650 - Directory Listing
Modified Thu Jun 4 18:12:46 2009 UTC (8 years, 4 months ago) by hayes
Original Path: trunk/Extensions
ENH: RegionSelector Extension initial commit

Revision 9649 - Directory Listing
Modified Thu Jun 4 18:11:36 2009 UTC (8 years, 4 months ago) by hayes
Original Path: trunk/Extensions
ENH: LevelSetStepping Extension initial commit

Revision 9640 - Directory Listing
Modified Wed Jun 3 16:59:52 2009 UTC (8 years, 4 months ago) by hayes
Original Path: trunk/Extensions
ENH: Adding ARCTIC extension

Revision 9517 - Directory Listing
Modified Sun May 17 20:42:53 2009 UTC (8 years, 5 months ago) by pieper
Original Path: trunk/Extensions
ENH: new extension file from Daniel

Revision 9513 - Directory Listing
Modified Sun May 17 19:01:55 2009 UTC (8 years, 5 months ago) by pieper
Original Path: trunk/Extensions
ENH: new extension file from Daniel

Revision 8998 - Directory Listing
Modified Fri Mar 27 21:17:24 2009 UTC (8 years, 6 months ago) by pieper
Original Path: trunk/Extensions
BUG: building issue for windows and example modules

Revision 8983 - Directory Listing
Modified Thu Mar 26 23:04:26 2009 UTC (8 years, 6 months ago) by pieper
Original Path: trunk/Extensions
COMP: extra example extension modules

Revision 8977 - Directory Listing
Modified Thu Mar 26 15:26:01 2009 UTC (8 years, 6 months ago) by pieper
Original Path: trunk/Extensions
COMP: use named (slicerbot) user to login at nitrc since anonymous isn't correctly supported

Revision 8968 - Directory Listing
Modified Tue Mar 24 21:18:33 2009 UTC (8 years, 6 months ago) by pieper
Original Path: trunk/Extensions
BUG: include anonymous login info

Revision 8925 - Directory Listing
Modified Fri Mar 20 15:47:46 2009 UTC (8 years, 7 months ago) by pieper
Original Path: trunk/Extensions
BUG: add cmake project name as a field (since it is different than the final module library/executable name)

Revision 8923 - Directory Listing
Modified Fri Mar 20 14:31:34 2009 UTC (8 years, 7 months ago) by pieper
Original Path: trunk/Extensions
BUG: handle svn servers that require passwords

Revision 8904 - Directory Listing
Modified Thu Mar 19 17:51:36 2009 UTC (8 years, 7 months ago) by pieper
Original Path: trunk/Extensions
BUG: revisions to support external module builds

Revision 8778 - Directory Listing
Modified Fri Feb 27 21:24:44 2009 UTC (8 years, 7 months ago) by tgl
Original Path: trunk/Extensions
ENH fixup format to latest

Revision 8776 - Directory Listing
Modified Fri Feb 27 21:19:31 2009 UTC (8 years, 7 months ago) by pieper
Original Path: trunk/Extensions
COMP: initial checkin of external loadable module (in progress)

Revision 8486 - Directory Listing
Modified Thu Jan 29 13:46:22 2009 UTC (8 years, 8 months ago) by pieper
Original Path: trunk/Extensions
ENH: plastimatch extension file

Revision 8294 - Directory Listing
Modified Wed Jan 7 19:08:28 2009 UTC (8 years, 9 months ago) by tgl
Original Path: trunk/Extensions
ENH example extension files for command line & loadable modules

Revision 8225 - Directory Listing
Added Tue Dec 30 23:09:43 2008 UTC (8 years, 9 months ago) by pieper
Original Path: trunk/Extensions
ENH: example extension files to work with extend.tcl and lsext.tcl

An Exception Has Occurred

Python Traceback

Traceback (most recent call last):
  File &quot;/usr/lib/viewvc/lib/viewvc.py&quot;, line 4844, in main
    request.run_viewvc()
  File &quot;/usr/lib/viewvc/lib/viewvc.py&quot;, line 402, in run_viewvc
    self.view_func(self)
  File &quot;/usr/lib/viewvc/lib/viewvc.py&quot;, line 2950, in view_log
    generate_page(request, &quot;log&quot;, data)
  File &quot;/usr/lib/viewvc/lib/viewvc.py&quot;, line 944, in generate_page
    template.generate(server_fp, data)
  File &quot;/usr/lib/viewvc/lib/ezt.py&quot;, line 329, in generate
    self._execute(self.program, ctx)
  File &quot;/usr/lib/viewvc/lib/ezt.py&quot;, line 458, in _execute
    step[0](step[1], ctx)
  File &quot;/usr/lib/viewvc/lib/ezt.py&quot;, line 466, in _cmd_print
    raise Exception(&quot;Unprintable value type for '%s'&quot; % (str(valrefs[0][0])))
Exception: Unprintable value type for 'logsort_hidden_values'