COMP: External_curl - Explicitly pass -fPIC flag on x86_64 platform

This commit will fix the following link error:

/usr/bin/ld: /home/jchris/Projects/Slicer-SuperBuild-Debug-Qt485-new-buildsystem/curl-build/lib/libcurl.a(easy.c.o): relocation R_X86_64_32S against `malloc' can not be used when making a shared object; recompile with -fPIC
/home/jchris/Projects/Slicer-SuperBuild-Debug-Qt485-new-buildsystem/curl-build/lib/libcurl.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22733 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Explicitly link RemoteIO against OpenSSL

Given that since commit r22724  curl library is linked against OpenSSL
and that since commit r22732 it is statically built. This commit
explicitly link the shared library RemoteIO against OpenSSL
because the curl static library doesn't provide information how to
resolve the OpenSSL symbol.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22734 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: External_curl - Build only http/https support to avoid link error

By default, curl will try to build all supported features. Since only
http/https protocol is needed, let's simply disable the other feature
to avoid extra dependency to library like "ldap", "idn" ...

See #1739

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22735 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: External_curl: Fix build issue + Build against patched 7.34.0 release

This commit install the project so that all needed headers are all
in the same folder.

It also change the version of curl to 7.34.0 with an additional patch
adding CURL_STATICLIB to curlbuild.h to fix build issue on windows
and unix system.

Finally, it reverts r22728 which was incorrectly addressing the build
error described in the corresponding commit message.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22739 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Optionally configure Slicer inner project with OpenSSL options.

This is needed because following commit r22734 RemoteIO library is
linked against OpenSSL.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22740 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Updating RSNA Quant tutorial for 2013

Rename to more generic test name so it's not tied to a year.
Use new data sets from Sonia
Add screen shot GUI elements and flags and method, capture screen shots at tutorial steps.
Tweaked all parts to match up to tutorial (first part was already tested
in the Vis tutorial, swapped it out for the Ruler)
Updated CMakeLists.txt so that this commit is independent of the Vis tutorial commit.

Issue #3507

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22741 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: update RSNA Vis tutorial for 2013

Ported changes from 4.3.1:
Rename to more generic test name as updating the tutorial for RSNA 2013
Use new data sets from Sonia.
Add screen shot GUI elements and flags and method, capture screen shots at tutorial steps.
Added the volume rendering in part 1.
Tweaked all parts to match up to tutorial.

Updated test to work with new DICOM widget on the trunk.

Issue #3507



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22742 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: adding a test for closing the scene with volume rendering + cropping

Crashes on linux.

Issue #3513



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22743 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Removed unused/unmaintained RemoteIO classes and FetchMI module logic

For future references, the corresponding code has been added to
the Slicer attic. See Slicer/Attic@53262c8

From discussion with Steve and Andras:

// --------------------
(1) Jc - Nov 26, 2013

I notice that the only reason we depend on curl is for existence
of RemoteIO library that has been "replaced" by SampleData
and DataStore.

I really like the concept of registering URI that could be
downloaded that is why we should keep the infrastructure in place.

That said, I was thinking to get remove the following classes:

vtkHIDHandler.h
vtkHIDTagTable.h
vtkSRBHandler.h
vtkXNATHandler.h
vtkXNDHandler.h
vtkXNDTagTable.h

Then, we could implement a Qt based  vtkHTTPHandler handler, that
way we could simply remove the curl dependency.

In the mean time, I would also remove the FetchMI logic which is
not maintained or used at that point.

Let me know what you think,

// --------------------
(2) Andras - Nov 26, 2013

It’s always a good idea to make the core smaller and simpler, so
I support the idea of getting rid of unused classes and unnecessary
dependencies.

We planned to use curl for uploading training results in a .zip
file to Moodle, but I guess we can add curl to our module then.

// --------------------
(3) Jc - Nov 26, 2013

Thanks for commenting.

If your module is a loadable or a scripted module, all "curl"
functionality can be provided by Qt. Would that work for you ?

// --------------------
(4) Andras - Nov 26, 2013

We would need quite complex curl functionalities for uploading data,
see the scripts below:

https://gist.github.com/Joshkunz/4516316

https://github.com/proyectoeduhub/moodle-cli/blob/master/moodle-file-upload-curl.sh

Would it be feasible to implement these?

// --------------------
(5) Jc - Nov 26, 2013

Good point. The plan would then be to:

  (1) remove dependency of Slicer core against curl

  (2) Only, build both the Curl library and the curl executable, keeping
 them in the package.

That way, it would provide great flexibility with minimum overhead.

// --------------------
(6) Steve - Nov 26, 2013

Sounds like an excellent plan.

Yes, I like the design of the remote IO support in MRML, but it's not
 being used and is great to simplify wherever possible.  FetchMI can
go away for now, with the hope that we'll reproduce and improve on
it in the future (someday).

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22744 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Do not python wrap RemoteIO library.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22745 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix OpenSSL install rules

Commit r22724 updated the External_* project files to support
Slicer_USE_SYSTEM_* variables. For sake of consistency, it also
changed variable "EP_OpenSSL_LIBRARIES" into "OPENSSL_LIBRARIES".
Since not all variables have been updated, this commit updates
the remaining variables to fix the OpenSSL install rules.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22746 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: For consistency rename OpenSSL_* variables into OPENSSL_*

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22747 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: bring Markups jump slices default in line with slice node

Jumping slices default reset to offset as per current vtkMRMLSliceNode
JumpMode.
Slice node and radio button settings are compared and updated on GUI
start up.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22749 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Rename macro "slicer_include_once" into "superbuild_include_once"

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22750 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Ensure 'superbuild_include_once' works independently of caller scope.

By using GLOBAL property instead of a local variable, the file will
be properly "include guarded" even if included from within a function.

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22751 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update CTK external project

$ git shortlog 46a1d6605..36fb628b1
Andreas Fetzer (11):
      Adding possibility to dynamically change the layout of the dicomTableManager
      ctkDicomBrowser uses dynamic table layout now
      Children of the QSplitter of the tablemanager are no longer collapsible
      Fixed missing update if new data is added
      Fixed bug where filter textfield's background remained black
      m_dynamic layout is now in pimpl and has read accessor. Some code cleaning
      Improved behaviour of dynamic layout: between 800 and 1024px window size use     vertical layout. If the window is bigger than 1024 switch to horizontal layout
      Renaming method for setting dicom database
      Not using const references when declaring a connection
      Setting dynamic table layout in ui file
      Proper naming of property with const read method

Jean-Christophe Fillion-Robin (3):
      Rename macro "ctk_include_once" into "superbuild_include_once"
      Ensure 'superbuild_include_once' works independently of the caller scope.
      Merge branch '418-support-use-system-option'

Julien Finet (1):
      Merge pull request #422 from AndreasFetzer/allow-dynamic-table-layout-for-dicombrowser-final

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22752 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Made file extension comparisons case-insensitive. Fixes #3511

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

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22753 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fixed scene view node memory leak. Fixes #3515

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22754 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update ITKv4/SimpleITK/BRAINSTools to use latest ITK release candidate

ITKv4: b95e6a0c835 # v4.5rc02 with one patch

SimpleITK: 83c344feff4b085 # Patched v0.7.1

BRAINSTools: bd755e2d82b7b

For more details, consider reading:

 "ITK 4.5 Release Candidate 1 has been tagged!"
 See http://public.kitware.com/pipermail/community/2013-November/000453.html

 "ITK 4.5 Release Candidate 2 has been tagged!"
 See http://public.kitware.com/pipermail/community/2013-December/000531.html

  https://github.com/BRAINSia/BRAINSTools/compare/8c2fb34b1f80ed0a68219292010087033fee8a4b...bd755e2d82b7b8b8454fcb579d416e39b16dff80

  https://github.com/SimpleITK/SimpleITK/compare/e2ec6bbfd7a68b9881f699513627ee9971dedeb9...83c344feff4b085df0879fd259337740f3f38c5d

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22755 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Add Slicer_ADDITIONAL_REQUIRED_QT_MODULES to add QT modules

 * Manually prefix the modules because some modules (e.g. PHONON) may not
have the "QT" prefix.
 * Synchronize the required modules with the packaged modules

From: Julien Finet <julien.finet@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22756 3bd1e089-480b-0410-8dfb-8563597acbee