[med-svn] [camitk] 01/03: New upstream version 4.0.4

Emmanuel Promayon promayon-guest at moszumanska.debian.org
Fri Dec 2 17:31:19 UTC 2016


This is an automated email from the git hooks/post-receive script.

promayon-guest pushed a commit to branch master
in repository camitk.

commit a791f2c93d3757dccd3ce1bba20f6b6dbff07cdb
Author: Emmanuel Promayon <Emmanuel.Promayon at imag.fr>
Date:   Fri Dec 2 06:01:15 2016 +0000

    New upstream version 4.0.4
---
 CMakeLists.txt                                     |    4 +-
 CMakeLists.txt => CMakeLists.txt.orig              |   27 +-
 CMakeLists.txt.user                                |  598 +++++++++++
 .../dicom/DicomComponentExtension.cpp.orig         |  127 +++
 .../dicomtree/DicomTreeStudyComponent.cpp.orig     |   79 ++
 qgit_script.sh                                     |    4 +
 .../reconstruction/ImageReconstructionAction.cpp   |   58 +-
 .../reconstruction/ImageReconstructionAction.h     |    2 +-
 sdk/actions/image/reorientimage/ReorientImage.cpp  |    2 +
 sdk/cmake/modules/#CamiTKConfig.cmake.in#          |  291 ++++++
 .../macros/camitk/CamiTKExtension.cmake.orig       | 1033 ++++++++++++++++++++
 sdk/libraries/core/CamiTKVersion.h                 |    2 +-
 .../qtpropertybrowser/examples/demo/demo.pro.user  |  267 +++++
 13 files changed, 2459 insertions(+), 35 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a4a3a6b..e9df786 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,7 +16,7 @@ set(CAMITK_PROJECT_NAME "CamiTK")
 set(CAMITK_VERSION_MAJOR "4")
 set(CAMITK_VERSION_MINOR "0")
 set(CAMITK_VER_NICKNAME "red") # Red Amaranth American rose Auburn Burgundy Cardinal Carmine Carnelian Cerise Coquelicot
-set(CAMITK_VERSION_PATCH "3") # patch version for packaging, change when appropriate
+set(CAMITK_VERSION_PATCH "4") # patch version for packaging, change when appropriate
 string(TOLOWER "${CAMITK_PROJECT_NAME}-${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}" CAMITK_SHORT_VERSION_STRING)
 
 # Specific to SDK: this is the SDK build
@@ -34,7 +34,7 @@ include(camitk/packaging/CamiTKOpenSourcePackaging)
 camitk_opensource_packaging()
 
 # CamiTK 4.0 is C++11 compliant
-set(CMAKE_CXX_FLAGS "-std=c++11")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 
 # Specific to SDK: first compile the SDK (it looks like a CEP but is sooooo special...)
 add_subdirectory(sdk)
diff --git a/CMakeLists.txt b/CMakeLists.txt.orig
similarity index 62%
copy from CMakeLists.txt
copy to CMakeLists.txt.orig
index a4a3a6b..dfdfae1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt.orig
@@ -11,12 +11,16 @@ project(camitkopensource)
 include(CTest)
 enable_testing()
 
-# Specific to SDK: control the version (major, minor, default patch and )
 set(CAMITK_PROJECT_NAME "CamiTK")
+<<<<<<< HEAD
+# The current version of CamiTK is defined in a separate file to avoid conflict/problem when merging
+include(CamiTKVersion.cmake)
+=======
 set(CAMITK_VERSION_MAJOR "4")
 set(CAMITK_VERSION_MINOR "0")
 set(CAMITK_VER_NICKNAME "red") # Red Amaranth American rose Auburn Burgundy Cardinal Carmine Carnelian Cerise Coquelicot
-set(CAMITK_VERSION_PATCH "3") # patch version for packaging, change when appropriate
+set(CAMITK_VERSION_PATCH "4") # patch version for packaging, change when appropriate
+>>>>>>> UPDATED Patch version number
 string(TOLOWER "${CAMITK_PROJECT_NAME}-${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}" CAMITK_SHORT_VERSION_STRING)
 
 # Specific to SDK: this is the SDK build
@@ -33,16 +37,31 @@ set(CAMITK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
 include(camitk/packaging/CamiTKOpenSourcePackaging)
 camitk_opensource_packaging()
 
+# When using gcc, enable test coverage
+# using https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake
+# requires lcov to be installed on the machine
+if(CMAKE_COMPILER_IS_GNUCXX)
+    option(CAMITK_COVERAGE "Do you want to check test coverage?" OFF)    
+    if (CAMITK_COVERAGE)
+        include(${CMAKE_CURRENT_SOURCE_DIR}/sdk/cmake/modules/CodeCoverage.cmake)
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+        set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")    
+    endif()
+endif()
+
 # CamiTK 4.0 is C++11 compliant
-set(CMAKE_CXX_FLAGS "-std=c++11")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 
 # Specific to SDK: first compile the SDK (it looks like a CEP but is sooooo special...)
 add_subdirectory(sdk)
 
-# ...composed by the following CamiTK Extension Projects
+# ...composed by the following CamiTK Extension Projects (optional)
 add_subdirectory(imaging)
 add_subdirectory(modeling)
 
+# ... and tutorials that helps understand CamiTK (optional)
+add_subdirectory(tutorials)
+
 # Do we wrapp CamiTK for scripting it into Python using Shiboken and PySide ?
 set(CAMITK_BINDING_PYTHON CACHE BOOL FALSE)
 
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
new file mode 100644
index 0000000..ad0438c
--- /dev/null
+++ b/CMakeLists.txt.user
@@ -0,0 +1,598 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 3.2.1, 2016-06-17T09:48:21. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{632d7568-ff09-4aea-a732-5551e010fb24}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">0</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+    <value type="QString" key="language">Cpp</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+    </valuemap>
+   </valuemap>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+    <value type="QString" key="language">QmlJS</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+    </valuemap>
+   </valuemap>
+   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+   <value type="int" key="EditorConfiguration.IndentSize">4</value>
+   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+   <value type="int" key="EditorConfiguration.TabSize">8</value>
+   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{d14dcc32-d952-4a4d-ae54-f5ddbc8017f0}</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="bool" key="CMakeProjectManager.CMakeBuildConfiguration.UseNinja">false</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/haberbuj/Atelier/CamiTK/build</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
+      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
+       <value type="QString">apidoc</value>
+      </valuelist>
+      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">false</value>
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments">clean</value>
+      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">true</value>
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">all</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déploiement</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déployer localement</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">application-testactions</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">application-testactions</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.application-testactions</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">application-testcomponents</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">application-testcomponents</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.application-testcomponents</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">application-actionstatemachine</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">application-actionstatemachine</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.application-actionstatemachine</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">application-imp</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">application-imp</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.application-imp</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.4">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">application-config</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">application-config</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.application-config</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.5">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">application-cepgenerator</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">application-cepgenerator</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.application-cepgenerator</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.6">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">application-wizard</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">application-wizard</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.application-wizard</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.7">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">library-lmltest</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">library-lmltest</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.library-lmltest</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.8">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">library-pmltest</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">library-pmltest</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.library-pmltest</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">9</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">16</value>
+ </data>
+ <data>
+  <variable>Version</variable>
+  <value type="int">16</value>
+ </data>
+</qtcreator>
diff --git a/imaging/components/dicom/DicomComponentExtension.cpp.orig b/imaging/components/dicom/DicomComponentExtension.cpp.orig
new file mode 100644
index 0000000..d871647
--- /dev/null
+++ b/imaging/components/dicom/DicomComponentExtension.cpp.orig
@@ -0,0 +1,127 @@
+/*****************************************************************************
+ * $CAMITK_LICENCE_BEGIN$
+ *
+ * CamiTK - Computer Assisted Medical Intervention ToolKit
+ * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
+ *
+ * Visit http://camitk.imag.fr for more information
+ *
+ * This file is part of CamiTK.
+ *
+ * CamiTK is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * CamiTK is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with CamiTK.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * $CAMITK_LICENCE_END$
+ ****************************************************************************/
+
+// CamiTK include
+#include "DicomComponentExtension.h"
+#include "DicomParser.h"
+#include "DicomDialog.h"
+#include "DicomDialogEntry.h"
+#include "DicomSerie.h"
+#include <Application.h>
+
+// include generated components headers
+#include "DicomComponent.h"
+
+// Qt stuff
+#include <QFileInfo>
+
+// GDCM includes
+#include <gdcmScanner.h>
+#include <gdcmIPPSorter.h>
+
+using namespace camitk;
+
+// --------------- GetFileExtensions -------------------
+QStringList DicomComponentExtension::getFileExtensions() const {
+    QStringList ext;
+    ext << "[directory]";
+
+    return ext;
+}
+
+// --------------- Open -------------------
+Component* DicomComponentExtension::open(const QString& path) throw (AbortException) {
+
+    serieParsed = DicomParser::parseDirectory(path);
+
+    // create a Dialog entry for each series parsed
+<<<<<<< HEAD
+    foreach(DicomSerie * dicomSerie, serieParsed) {
+=======
+    foreach(DicomSerie* dicomSerie, serieParsed) {
+>>>>>>> Fix some spelling mistakes
+        DicomDialogEntry* entry = new DicomDialogEntry();
+        entry->setSelected(false);
+        entry->setAcquisitionDate(dicomSerie->getAcquisitionDate());
+        entry->setAcquisitionTime(dicomSerie->getAcquisitionTime());
+        entry->setStudyName(dicomSerie->getStudyName());
+        entry->setSerieName(dicomSerie->getSerieName());
+        entry->setSerieDescription(dicomSerie->getSerieDescription());
+        entry->setPatientName(dicomSerie->getPatientName());
+        serieDialogEntries.append(entry);
+    }
+
+    // Prompt the user which series he wishes to open
+    QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
+    dialog = new DicomDialog(serieDialogEntries);
+    serieDialogEntries = dialog->getSelectedDicomDialogEntries();
+    QApplication::restoreOverrideCursor();
+
+    // Open each selected Dicom as a component
+<<<<<<< HEAD
+    if (!serieDialogEntries.isEmpty()) {
+        foreach(DicomDialogEntry * entry, serieDialogEntries) {
+            // Find the corresponding Dicom Series in the List
+            foreach(DicomSerie * serie, serieParsed) {
+                if ( (serie->getStudyName() == entry->getStudyName()) &&
+=======
+    if(!serieDialogEntries.isEmpty()) {
+        foreach(DicomDialogEntry* entry, serieDialogEntries) {
+            // Find the corresponding Dicom Series in the List
+            foreach(DicomSerie* serie, serieParsed) {
+                if( (serie->getStudyName() == entry->getStudyName()) &&
+>>>>>>> Fix some spelling mistakes
+                        (serie->getSerieName() == entry->getSerieName()) ) {
+                    lastOpenedComponent = new DicomComponent(serie);
+                    break;
+                }
+                else {
+                    delete serie;
+                }
+            }
+
+        }
+    }
+    serieDialogEntries.clear();
+
+
+    return lastOpenedComponent;
+}
+
+// --------------- Save --------------------
+bool DicomComponentExtension::save(Component* component) const {
+    // depending on the components managed by DicomComponentExtension, use
+    // component->getPointSet() (for a MeshComponent derived class)
+    // or component->getImageData() (for a ImageComponent derived class)
+    // and save the data in the managed format in the file component->getFileName()
+
+    return false;
+}
+
+// --------------- hasDataDirectory -------------------
+bool DicomComponentExtension::hasDataDirectory() const {
+    return true;
+}
+
diff --git a/imaging/components/dicomtree/DicomTreeStudyComponent.cpp.orig b/imaging/components/dicomtree/DicomTreeStudyComponent.cpp.orig
new file mode 100644
index 0000000..074a1f5
--- /dev/null
+++ b/imaging/components/dicomtree/DicomTreeStudyComponent.cpp.orig
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * $CAMITK_LICENCE_BEGIN$
+ *
+ * CamiTK - Computer Assisted Medical Intervention ToolKit
+ * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
+ *
+ * Visit http://camitk.imag.fr for more information
+ *
+ * This file is part of CamiTK.
+ *
+ * CamiTK is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * CamiTK is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with CamiTK.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * $CAMITK_LICENCE_END$
+ ****************************************************************************/
+#include "DicomTreeStudyComponent.h"
+#include "DicomTreeDirectoryComponent.h"
+#include "DicomTreeSerieComponent.h"
+
+// GDCM includes
+#include <gdcmScanner.h>
+#include <gdcmIPPSorter.h>
+
+using namespace camitk;
+
+
+// --------------- Constructor -------------------
+DicomTreeStudyComponent::DicomTreeStudyComponent(const std::vector< std::string >& fileNames) throw(AbortException) : Component("", "", NO_REPRESENTATION) {
+    InterfaceNode* comp = this->getParent();
+
+    // scan files study description
+    gdcm::Scanner studyDescriptionScanner;
+    gdcm::Tag studyDescriptionTag = gdcm::Tag(0x0008, 0x1030);
+    studyDescriptionScanner.AddTag(studyDescriptionTag);
+    studyDescriptionScanner.Scan(fileNames);
+    const char* file = fileNames.at(0).c_str();
+    setName(QString(studyDescriptionScanner.GetValue(file, studyDescriptionTag)));
+
+    // scan files for series
+    gdcm::Scanner seriesScanner;
+    gdcm::Tag serieUIDTag = gdcm::Tag(0x0020, 0x000e);
+    seriesScanner.AddTag(serieUIDTag);
+    seriesScanner.Scan(fileNames);
+    const std::set< std::string > serieValues = seriesScanner.GetValues();
+    foreach(std::string value, serieValues) {
+        std::vector< std::string > serieFileNames = seriesScanner.GetAllFilenamesFromTagToValue(serieUIDTag, value.c_str());
+
+        // This filter aims at removing volumic images containing only a few images, for doctors TOPO for instance
+        // if ippsorter algorithm returns 0, it means it hasn't been able to sort the files according to their Z spacing
+        // It could come from a bad z spacing tolerance or the image files have no z spacing
+        gdcm::IPPSorter ippsorter;
+        ippsorter.SetComputeZSpacing(true);
+        ippsorter.SetZSpacingTolerance(0.01);
+        ippsorter.Sort(serieFileNames);
+        serieFileNames = ippsorter.GetFilenames();
+
+<<<<<<< HEAD
+        if (serieFileNames.size() > 0) {
+=======
+        if(serieFileNames.size() > 0)
+>>>>>>> Fix some spelling mistakes
+            addChild(new DicomTreeSerieComponent(serieFileNames));
+        }
+    }
+}
+// --------------- destructor -------------------
+DicomTreeStudyComponent::~DicomTreeStudyComponent() {
+
+}
+
diff --git a/qgit_script.sh b/qgit_script.sh
new file mode 100755
index 0000000..538b5cb
--- /dev/null
+++ b/qgit_script.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+branchToCompare=$(kdialog --title "git compare between branches" --inputbox "The branch you want to compare with develop" "current branch")
+fileToCompare=$(kdialog --title "git compare between branches" --inputbox "The file you want to compare with develop one" "the file")
+git difftool $branchToCompare..develop -- $fileToCompare
diff --git a/sdk/actions/image/reconstruction/ImageReconstructionAction.cpp b/sdk/actions/image/reconstruction/ImageReconstructionAction.cpp
index 1fe76f6..dbd72a5 100644
--- a/sdk/actions/image/reconstruction/ImageReconstructionAction.cpp
+++ b/sdk/actions/image/reconstruction/ImageReconstructionAction.cpp
@@ -95,15 +95,16 @@ ImageReconstructionAction::ImageReconstructionAction(ActionExtension* extension)
 
 // -------------------- destructor --------------------
 ImageReconstructionAction::~ImageReconstructionAction() {
-    if (actionWidget)
+    if (actionWidget) {
         delete actionWidget;
+    }
 }
 
 // -------------------- apply --------------------
 Action::ApplyStatus ImageReconstructionAction::apply() {
 
     // get original input ImageComponent
-    this->myComponent = dynamic_cast<ImageComponent *>(getTargets().last());
+    this->myComponent = dynamic_cast<ImageComponent*>(getTargets().last());
 
     // compute model
     vtkSmartPointer<vtkPointSet> resultPointSet = this->getMarchingCubesReconstruction();
@@ -132,9 +133,12 @@ vtkSmartPointer<vtkPointSet> ImageReconstructionAction::getMarchingCubesReconstr
     vtkSmartPointer<vtkCallbackCommand> progressCallback = vtkSmartPointer<vtkCallbackCommand>::New();
     progressCallback->SetCallback(&Application::vtkProgressFunction);
 
-    vtkSmartPointer<vtkImageData> originalImageData = this->myComponent->getImageData();
-    vtkSmartPointer<vtkImageData> currentData = originalImageData;
-
+    // The filter we have chosen to use to compute 3D isosurface of the volume image
+    // is vtkMarchingcubes. We could also use vtkContourFilter since it will automatically
+    // create an instance of vtkMarchingCubes as it delegates to the fastest subclass
+    // for a particular dataset type.
+    vtkSmartPointer<vtkMarchingCubes> mcSurface = vtkSmartPointer<vtkMarchingCubes>::New();
+ 
     // For medical volumes, marching cubes generates a large number of triangles.
     // To be practical, we'll use a reduced resolution dataset.
     // For example, we take original 256^3 data and reduce it to 64^2 slices
@@ -144,7 +148,7 @@ vtkSmartPointer<vtkPointSet> ImageReconstructionAction::getMarchingCubesReconstr
 
     if (subsample) {
         resampleFilter = vtkSmartPointer<vtkImageResample>::New();
-        int * previousDimensions = originalImageData->GetDimensions();
+        int* previousDimensions = myComponent->getImageData()->GetDimensions();
 
         double x_magnification = 0.0;
         double y_magnification = 0.0;
@@ -155,25 +159,24 @@ vtkSmartPointer<vtkPointSet> ImageReconstructionAction::getMarchingCubesReconstr
         resampleFilter->SetAxisMagnificationFactor(0, x_magnification);
         resampleFilter->SetAxisMagnificationFactor(1, y_magnification);
 
-        if (originalImageData->GetDataDimension() == 3) {
+        if (myComponent->getImageData()->GetDataDimension() == 3) {
             z_magnification = subSampledDimZ / (double) previousDimensions[2];
             resampleFilter->SetAxisMagnificationFactor(2, z_magnification);
         }
 
-        resampleFilter->SetInputData(originalImageData);
+        // setup the initial data for the pipeline
+        resampleFilter->SetInputData(myComponent->getImageData());
         resampleFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback);
-
-        currentData = resampleFilter->GetOutput();
+   
+        // setup next step in the pipeline
+        mcSurface->SetInputConnection(resampleFilter->GetOutputPort());
     }
-
-    // The filter we have chosen to use to compute 3D isosurface of the volume image
-    // is vtkMarchingcubes. We could also use vtkContourFilter since it will automatically
-    // create an instance of vtkMarchingCubes as it delegates to the fastest subclass
-    // for a particular dataset type.
-    vtkSmartPointer<vtkMarchingCubes> mcSurface = vtkSmartPointer<vtkMarchingCubes>::New();
-    mcSurface->SetInputData(currentData);
+    else {
+        // setup the initial data for the pipeline
+        mcSurface->SetInputData(myComponent->getImageData());
+    }
+    
     mcSurface->AddObserver(vtkCommand::ProgressEvent, progressCallback);
-
     mcSurface->SetValue(0, isoValue);
 
     // The class vtkPolyDataNormals is used to generate
@@ -192,23 +195,24 @@ vtkSmartPointer<vtkPointSet> ImageReconstructionAction::getMarchingCubesReconstr
 
     if (keepLargestConnectedComponent) {
         connectivityFilter = vtkPolyDataConnectivityFilter::New();
-        connectivityFilter->SetInputData(mcSurface->GetOutput());
+        connectivityFilter->SetInputConnection(mcSurface->GetOutputPort());
         connectivityFilter->SetExtractionModeToLargestRegion();
-        normalsFilter->SetInputData(connectivityFilter->GetOutput());
-    } else
-        normalsFilter->SetInputData(mcSurface->GetOutput());
+        // setup next step in the pipeline
+        normalsFilter->SetInputConnection(connectivityFilter->GetOutputPort());
+    }
+    else {
+        // setup next step in the pipeline
+        normalsFilter->SetInputConnection(mcSurface->GetOutputPort());
+    }
 
     normalsFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback);
-
+    normalsFilter->Update();
+    
     vtkSmartPointer<vtkPointSet> resultPointSet = normalsFilter->GetOutput();
 
     // One can make efficient data visualization using vtkTriangleFilter
     // and vtkStripper. But first, let us try without...
 
-    // Cleaning...
-    originalImageData = NULL;
-    currentData = NULL;
-
     Application::showStatusBarMessage("");
     Application::resetProgressBar();
 
diff --git a/sdk/actions/image/reconstruction/ImageReconstructionAction.h b/sdk/actions/image/reconstruction/ImageReconstructionAction.h
index 41f832f..7c0e0f0 100644
--- a/sdk/actions/image/reconstruction/ImageReconstructionAction.h
+++ b/sdk/actions/image/reconstruction/ImageReconstructionAction.h
@@ -61,7 +61,7 @@ private:
     vtkSmartPointer<vtkPointSet> getMarchingCubesReconstruction();
 
     /// The initial images, used for the reconstruction.
-    camitk::ImageComponent *myComponent;
+    camitk::ImageComponent* myComponent;
 
 
 
diff --git a/sdk/actions/image/reorientimage/ReorientImage.cpp b/sdk/actions/image/reorientimage/ReorientImage.cpp
index f518877..1b657bf 100644
--- a/sdk/actions/image/reorientimage/ReorientImage.cpp
+++ b/sdk/actions/image/reorientimage/ReorientImage.cpp
@@ -298,6 +298,8 @@ Action::ApplyStatus ReorientImage::process( ImageComponent * image) {
     imageResliceFilter->SetOutputDimensionality(3);
     imageResliceFilter->SetResliceAxes(transform->GetMatrix());
 
+    imageResliceFilter->Update();
+    
     vtkSmartPointer<vtkImageData> newData = imageResliceFilter->GetOutput();
 
     if (ui.noNewImageCheckBox->isChecked()) {
diff --git a/sdk/cmake/modules/#CamiTKConfig.cmake.in# b/sdk/cmake/modules/#CamiTKConfig.cmake.in#
new file mode 100644
index 0000000..cece688
--- /dev/null
+++ b/sdk/cmake/modules/#CamiTKConfig.cmake.in#
@@ -0,0 +1,291 @@
+# Configuration file for CamiTK
+#
+# Do not modify this file, it has been generated automatically by CamiTK SDK
+#
+# CAMITK_DIR should be known before this file is read by CMake
+#
+# see:
+# http://www.itk.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file
+# http://www.cmake.org/Wiki/CMake/Tutorials/Packaging
+
+#-- CamiTK current version
+set(CAMITK_VERSION_MAJOR "@CAMITK_VERSION_MAJOR@")
+set(CAMITK_VERSION_MINOR "@CAMITK_VERSION_MINOR@")
+# CamiTK short version name we are looking for
+set(CAMITK_SHORT_VERSION_STRING "camitk-${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}")
+
+#-- Cmake policy 
+# Error on non-existent dependency in add_dependencies => old behavior (no error)
+# It is useful to have add_dependencies(anyextension camitkcore) for SDK/modeling/imaging dev
+# It shoud not generate an error or a warning for external CEP trying to compile
+# see cmake --help-policy CMP0046
+cmake_policy(SET CMP0046 OLD)
+
+#-- Check dependencies: Qt and VTK
+# List of Qt5 modules that are required in CamiTK
+set(CAMITK_QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions Test)
+# Find Qt5
+find_package(Qt5 COMPONENTS ${CAMITK_QT_COMPONENTS} REQUIRED)
+if (Qt5_FOUND)
+    message(STATUS "CamiTK SDK : found Qt ${Qt5_VERSION}.")
+    set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS})
+else()
+    message(SEND_ERROR "CamiTK SDK : Failed to find Qt 5.x. This is needed by the CamiTK SDK.")
+endif()
+
+# Find VTK
+find_package(VTK REQUIRED)
+if(NOT VTK_FOUND)
+    message(SEND_ERROR "Failed to find Vtk 6.0.0 or greater. This is needed by CamiTK.")
+endif()
+if("${VTK_VERSION}" VERSION_LESS 6.0)
+    message(FATAL_ERROR "Found VTK ${VTK_VERSION} version but at least 6.0.0 is required. Please update your version of VTK.")
+endif()
+message(STATUS "Found suitable version of VTK : ${VTK_VERSION} (required is at least 6.0.0)")
+set(CAMITK_VTK_VERSION ${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR})
+include(${VTK_USE_FILE}) # This automatically set the include dirs (remain the link_directories and target_link_libraries)
+set(VTK_LIBRARY_DIR ${VTK_DIR}/../..)
+
+#-- CAMITK_DIR variable
+set(CAMITK_BIN_DIR         ${CAMITK_DIR}/bin                                           )
+set(CAMITK_PRIVATE_LIB_DIR ${CAMITK_DIR}/lib/${CAMITK_SHORT_VERSION_STRING}            )
+set(CAMITK_PUBLIC_LIB_DIR  ${CAMITK_DIR}/lib                                           )
+set(CAMITK_INCLUDE_DIR     ${CAMITK_DIR}/include/${CAMITK_SHORT_VERSION_STRING}        )
+set(CAMITK_TESTDATA_DIR    ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata )
+set(CAMITK_CTESTDATA_DIR   ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata/ctestdata )
+set(CAMITK_CMAKE_DIR       ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake    )
+
+#-- User Config directory variable
+# see http://qt-project.org/doc/qt-4.8/qsettings.html#platform-specific-notes
+if(WIN32)
+    # %APPDATA%\MySoft\Star Runner.ini
+    set(CAMITK_USER_BASE_DIR_WINDOWS $ENV{APPDATA})
+    file(TO_CMAKE_PATH "${CAMITK_USER_BASE_DIR_WINDOWS}" CAMITK_USER_BASE_DIR)
+else()
+    # (UNIX OR APPLE)
+    # $HOME/.config/MySoft/Star Runner.ini 
+    set(CAMITK_USER_BASE_DIR "$ENV{HOME}/.config")
+endif()
+set(CAMITK_USER_DIR "${CAMITK_USER_BASE_DIR}/CamiTK")
+set(CAMITK_USER_BIN_DIR          ${CAMITK_USER_DIR}/bin                                           )
+set(CAMITK_USER_PRIVATE_LIB_DIR  ${CAMITK_USER_DIR}/lib/${CAMITK_SHORT_VERSION_STRING}            )
+set(CAMITK_USER_PUBLIC_LIB_DIR   ${CAMITK_USER_DIR}/lib                                           )
+set(CAMITK_USER_INCLUDE_DIR      ${CAMITK_USER_DIR}/include/${CAMITK_SHORT_VERSION_STRING}        )
+set(CAMITK_USER_TESTDATA_DIR     ${CAMITK_USER_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata )
+set(CAMITK_USER_CTESTDATA_DIR    ${CAMITK_USER_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata/ctestdata )
+set(CAMITK_USER_CMAKE_DIR        ${CAMITK_USER_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake    )
+
+#-- Current build dir
+set(CAMITK_BUILD_DIR ${CMAKE_BINARY_DIR})
+set(CAMITK_BUILD_BIN_DIR         ${CAMITK_BUILD_DIR}/bin                                           )
+set(CAMITK_BUILD_PRIVATE_LIB_DIR ${CAMITK_BUILD_DIR}/lib/${CAMITK_SHORT_VERSION_STRING}            )
+set(CAMITK_BUILD_PUBLIC_LIB_DIR  ${CAMITK_BUILD_DIR}/lib/                                          )
+set(CAMITK_BUILD_INCLUDE_DIR     ${CAMITK_BUILD_DIR}/include/${CAMITK_SHORT_VERSION_STRING}        )
+set(CAMITK_BUILD_TESTDATA_DIR    ${CAMITK_BUILD_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata )
+set(CAMITK_BUILD_CTESTDATA_DIR   ${CAMITK_BUILD_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata/ctestdata )
+set(CAMITK_BUILD_CMAKE_DIR       ${CAMITK_BUILD_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake    )
+
+# no need to see this
+mark_as_advanced ( CMAKE_RUNTIME_OUTPUT_DIRECTORY CMAKE_LIBRARY_OUTPUT_DIRECTORY CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
+
+#
+# Convenience variables
+#
+
+
+# name of the camitk core lib
+set(CAMITK_CORE_LIB_NAME camitkcore)
+
+if(PACKAGING_NSIS)
+    set(CAMITK_CORE_TARGET_LIB_NAME library_${CAMITK_CORE_LIB_NAME})
+else()
+    set(CAMITK_CORE_TARGET_LIB_NAME library-${CAMITK_CORE_LIB_NAME})
+endif()
+    
+# All the link directories
+set(CAMITK_LINK_DIRECTORIES
+    # private and public libs (including bin dir for windows)
+    ${CAMITK_PRIVATE_LIB_DIR}
+    ${CAMITK_PUBLIC_LIB_DIR}
+    ${CAMITK_BIN_DIR}
+    ${CAMITK_USER_PRIVATE_LIB_DIR}
+    ${CAMITK_USER_PUBLIC_LIB_DIR}
+    ${CAMITK_USER_BIN_DIR}
+    ${CAMITK_BUILD_PRIVATE_LIB_DIR}
+    ${CAMITK_BUILD_PUBLIC_LIB_DIR}
+    ${CAMITK_BUILD_BIN_DIR}
+    # CEP extensions dependencies
+    ${CAMITK_PRIVATE_LIB_DIR}/components
+    ${CAMITK_PRIVATE_LIB_DIR}/actions
+    ${CAMITK_USER_PRIVATE_LIB_DIR}/components
+    ${CAMITK_USER_PRIVATE_LIB_DIR}/actions
+    ${CAMITK_BUILD_PRIVATE_LIB_DIR}/components
+    ${CAMITK_BUILD_PRIVATE_LIB_DIR}/actions    
+)
+
+# List of directories where the compiler should look for CamiTK core headers as well
+# as all the tools headers and dependencies headers (Qt, Vtk)
+set(CAMITK_INCLUDE_DIRECTORIES
+    ${CAMITK_INCLUDE_DIR}
+    ${CAMITK_INCLUDE_DIR}/libraries
+    ${CAMITK_INCLUDE_DIR}/libraries/qtpropertybrowser
+    ${CAMITK_INCLUDE_DIR}/libraries/${CAMITK_CORE_LIB_NAME}
+    ${CAMITK_USER_INCLUDE_DIR}
+    ${CAMITK_BUILD_INCLUDE_DIR}
+    ${QT_INCLUDE_DIRS}
+    ${VTK_INCLUDE_DIRS}
+    ${CAMITK_BUILD_INCLUDE_DIR}/libraries  
+)
+# TODO: remove ${CAMITK_BUILD_INCLUDE_DIR}/libraries => find a better way to organize dependencies
+
+# postfix for MSVC debug version
+set(CAMITK_DEBUG_POSTFIX "-debug")
+
+# basic list of all lib needed for linking with CamiTK core
+if(MSVC)
+    # name of the camitk core lib
+    set(CAMITK_CORE_LIBRARIES optimized ${CAMITK_CORE_LIB_NAME}
+                              debug ${CAMITK_CORE_LIB_NAME}${CAMITK_DEBUG_POSTFIX}
+    )
+    
+    # Construct list of VTK libraries for linking
+    # CAMITK_VTK_LIBRARIES = VTK input libraries at linkage
+    foreach(VTK_LIBRARY ${VTK_LIBRARIES})
+        # Clear some errors on VTK configuration
+        # rename correctly verdict -> vtkverdict library
+        if(${VTK_LIBRARY} STREQUAL "verdict")
+            set(VTK_LIBRARY "vtkverdict")
+        endif()
+        set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/${VTK_LIBRARY}-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/${VTK_LIBRARY}-${CAMITK_VTK_VERSION}.lib)
+    endforeach()
+    # add missing vtkIOExport, vtkImagingStencil, vtkIOImport, vtkImagingMath library
+    set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkIOExport-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkIOExport-${CAMITK_VTK_VERSION}.lib)
+    set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkImagingStencil-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkImagingStencil-${CAMITK_VTK_VERSION}.lib)
+    set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkIOImport-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkIOImport-${CAMITK_VTK_VERSION}.lib)
+    set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkImagingMath-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkImagingMath-${CAMITK_VTK_VERSION}.lib)
+        
+    # list of all core dependencies
+    set(CAMITK_LIBRARIES
+            ${CAMITK_VTK_LIBRARIES}
+            debug qtpropertybrowser${CAMITK_DEBUG_POSTFIX}.lib optimized qtpropertybrowser
+    )
+else()
+    # Name of the core library to link against
+    set(CAMITK_CORE_LIBRARIES ${CAMITK_CORE_LIB_NAME})
+
+    # list of all core dependencies
+    set(CAMITK_LIBRARIES
+        ${VTK_LIBRARIES} # no need to add more libraries in the list, CMake & VTK handle it correclty on Linux & Apple
+        # QVTK
+        qtpropertybrowser
+    )
+endif()
+
+mark_as_advanced (CAMITK_CORE_LIB CAMITK_LINK_DIRECTORIES CAMITK_INCLUDE_DIRECTORIES CAMITK_LIBRARIES)
+
+# additional unix system resources
+if (UNIX)
+    # only possible on unix
+    if(DEFINED ENV{SOURCE_DATE_EPOCH})
+        # to enable reproducible builds, see debian bug #794740
+        execute_process(COMMAND "date" "-u" "+%Y-%m-%d" "--date=@$ENV{SOURCE_DATE_EPOCH}"
+                        OUTPUT_VARIABLE CURRENT_DATE
+                        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+    else()
+        execute_process(COMMAND "date" "+%Y-%m-%d"
+                        OUTPUT_VARIABLE CURRENT_DATE
+                        OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+    endif()
+    
+    # Application man pages (always in section 1, this is an application...)
+    set(CAMITK_APPLICATION_MAN_INSTALL_DIR "share/man/man1") 
+    # Desktop file always in share/applications (freedesktop standard)
+    set(CAMITK_APPLICATION_DESKTOP_INSTALL_DIR "share/applications")
+    # icons file always in pixmaps (should be xpm or svg)
+    set(CAMITK_APPLICATION_PIXMAP_INSTALL_DIR "share/pixmaps")
+endif()
+            
+# rpath settings for linux
+# This settings allow running the exe from the build tree and running them from its install location
+# without doing anything in particular.
+# see http://www.itk.org/Wiki/CMake_RPATH_handling
+# use, i.e. don't skip the full RPATH for the build tree
+set(CMAKE_SKIP_BUILD_RPATH FALSE)
+
+# when building, don't use the install RPATH already
+# (but later on when installing)
+set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+
+# add the automatically determined parts of the RPATH
+# which point to directories outside the build tree to the install RPATH
+set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+# the RPATH to be used when installing, but only if it's not a system directory
+# TODO : write a specific macro camitk_install to use for installing library
+# This macro should not only do the usual install job, but also should add the
+# specific install path in the CMAKE_INSTALL_RPATH variables
+# On windows: write a message at the end of the installation process with the value
+# of CMAKE_INSTALL_RPATH
+# On Windows: build a specific .bat for each application?
+# Even better, try this: cumulate the CMAKE_INSTALL_RPATH in a file containing the list
+# of all needed dir in the path. This file is read at run-time to add the path using
+# Application::instance()->addLibraryPath(path#i.canonicalPath());
+list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
+if("${isSystemDir}" STREQUAL "-1")
+    set(CMAKE_INSTALL_RPATH  "${CMAKE_INSTALL_PREFIX}/lib"
+                            "${CMAKE_INSTALL_PREFIX}/lib/${CAMITK_SHORT_VERSION_STRING}"
+                            "${CMAKE_INSTALL_PREFIX}/lib/${CAMITK_SHORT_VERSION_STRING}/components"
+                            "${CMAKE_INSTALL_PREFIX}/lib/${CAMITK_SHORT_VERSION_STRING}/actions")
+endif()
+
+#-- update module path
+# for SDK look also directly in source dir
+if(CAMITK_SDK_BUILD)
+    set(CMAKE_MODULE_PATH   ${CMAKE_MODULE_PATH}
+                            ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules
+                            ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/macros
+                            ${CMAKE_CURRENT_SOURCE_DIR}/../sdk/cmake/modules
+                            ${CMAKE_CURRENT_SOURCE_DIR}/../sdk/cmake/modules/macros
+    )
+endif()
+set(CMAKE_MODULE_PATH   ${CMAKE_MODULE_PATH}
+                        ${CAMITK_CMAKE_DIR}
+                        ${CAMITK_CMAKE_DIR}/modules
+                        ${CAMITK_CMAKE_DIR}/modules/macros
+                        ${CAMITK_CMAKE_DIR}/macros
+                        ${CAMITK_USER_CMAKE_DIR}
+                        ${CAMITK_USER_CMAKE_DIR}/modules
+                        ${CAMITK_BUILD_CMAKE_DIR}
+                        ${CAMITK_BUILD_CMAKE_DIR}/modules
+)
+
+
+# include useful modules
+include(CamiTKMacros)
+
+# include CamiTK log configuration
+include(CamiTKLog)
+
+# TODO check this
+# 
+# # By default, validate all projects are build in the build/bin directory (no subfolders).
+# # Note that, subfolders for actions / components are added later.
+# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CAMITK_BIN_DIR})
+# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CAMITK_BIN_DIR})
+# set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CAMITK_BIN_DIR})
+# 
+# # Remove the Debug, Release subfolders in build/bin, natively created with Visual Studio
+# if ( ${CMAKE_GENERATOR} MATCHES "Visual Studio") # MSVC compiler
+#         foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
+#                 string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
+#                 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CAMITK_BIN_DIR} CACHE TYPE STRING)
+#                 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CAMITK_BIN_DIR} CACHE TYPE STRING)
+#                 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CAMITK_BIN_DIR} CACHE TYPE STRING)
+#         endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
+# endif(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+# 
+# # Create the Xml data for Project.xml description, fyi store in the global variable CAMITK_XML_PROJECT_DESCRIPTION
+# camitk_sub_project_init()
diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake.orig b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake.orig
new file mode 100644
index 0000000..256af28
--- /dev/null
+++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake.orig
@@ -0,0 +1,1033 @@
+#!
+#! @ingroup group_sdk_cmake_camitk
+#!
+#! Macro camitk_extension simplifies writing a camitk extension (component, action)
+#!
+#! The name of the extension is automatically the name of the directory from where this macro
+#! is called, unless it is overriden by the TARGET_NAME parameter.
+#!
+#!  usage:
+#! \code
+#!   camitk_extension( <type>
+#!                     [DISABLED]
+#!                     [NEEDS_ITK]
+#!                     [NEEDS_LIBXML2]
+#!                     [NEEDS_OPENCV]
+#!                     [NEEDS_IGSTK]
+#!                     [NEEDS_XSD]
+#!                     [NEEDS_GDCM]
+#!                     [NEEDS_ACTION_EXTENSION action1 action2 ...]
+#!                     [NEEDS_COMPONENT_EXTENSION component1 component2 ...]
+#!                     [NEEDS_CEP_LIBRARIES CEPLib1 CEPLib2 ...]
+#!                     [INCLUDE_DIRECTORIES dir1 dir2 ...]
+#!                     [DEFINES flag1 flag2 ...]
+#!                     [CXX_FLAGS flag1 flag2 ...]
+#!                     [EXTERNAL_SOURCES file1 file2 ...]
+#!                     [EXTERNAL_LIBRARIES lib1 lib2 ...]
+#!                     [HEADERS_TO_INSTALL header1.h header2.h ...]
+#!                     [INSTALL_ALL_HEADERS]
+#!                     [TARGET_NAME non-default-targetname]
+#!                     [TEST_APPLICATION application-name]
+#!                     [DESCRIPTION description]
+#!                     [EXTRA_TRANSLATE_LANGUAGE]
+#!                     [TEST_FILES file1 file2 ...]
+#!     )
+#! \endcode
+#!
+#! \param <type>                    = REQUIRED. The selected type of extension you wish to build.
+#                                     possible values : ACTION_EXTENSION or COMPONENT_EXTENSION.
+#! \param DISABLED                  = means this is a not a default extension, it will not be compiled automatically
+#! \param NEEDS_ITK                 = add this if your component needs ITK.
+#!                                    Do not forget to add the needed list of ITK libraries in the LIBRARIES parameter
+#! \param NEEDS_LIBXML2             = add this if your component needs libxml2
+#! \param NEEDS_XSD                 = add this if your action needs Codesynthesis xsd cxx (xml schema compiler)
+#! \param NEEDS_OPENCV              = add this if your component needs OpenCV
+#! \param NEEDS_IGSTK               = add this if your component needs IgsTK
+#! \param NEEDS_XERCESC             = add this if your action / component needs XercesC library
+#! \param NEEDS_GDCM                = Add this, if your extension requires GDCM 2.x library
+#! \param NEEDS_CEP_LIBRARIES       = list of needed CEP libraries (not external dependencies)
+#! \param NEEDS_COMPONENT_EXTENSION = list of needed component extensions
+#! \param NEEDS_ACTION_EXTENSION    = list of needed component extensions
+#! \param INCLUDE_DIRECTORIES       = additional include directories
+#! \param DEFINES                   = list of define flags to add at compilation time.
+#! \param CXX_FLAGS                 = list of compiler flags to add (such as warning levels (-Wall ...)).
+#! \param EXTERNAL_SOURCES          = list of extra source/headers files (external to the current directory)
+#!                                    that needed to be added to the SOURCES variable.
+#!                                    Note: EXTERNAL_SOURCES are not installed
+#! \param EXTERNAL_LIBRARIES        = external libraries to add to the link command
+#! \param HEADERS_TO_INSTALL        = list of headers to install, if present this will automatically
+#!                                    create an "install-COMPONENT_NAMEcomponent" target, that can be used
+#!                                    anywhere else to manage dependencies to this component.
+#!                                    The headers are installed ${CAMITK_BUILD_INCLUDE_DIR}/COMPONENT_NAME
+#!                                    when the target "install-COMPONENT_NAMEcomponent" is called.
+#! \param INSTALL_ALL_HEADERS       = install all of the headers (this is the lazy solution, please consider
+#!                                    making a list and using HEADERS_TO_INSTALL parameter instead!
+#! \param TARGET_NAME               = specify a target name different than the default (default is the action/component directory name)
+#!                                    this can be very useful for example when you have action/component directory in your CEP that has
+#!                                    the same name as one in the camitk opensource.
+#! \param CEP_NAME                  = specify the CEP_NAME, which is used to categorized the extension for packaging purpose
+#!                                    No CEP_NAME provided will result in default categorization (generic extension).
+#! \param TEST_APPLICATION          = The name of the application to provide for generate automatic basic tests on your extension. No option means no tests!
+#! \param DESCRIPTION               = Simple description of the extension. Used for packaging presentation for instance.
+#! \param EXTRA_TRANSLATE_LANGUAGE  = Additionnal extra language to translate the application
+#! \param TEST_FILES                = Parameter of TestActions module : REQUIRED. List of files on which the action must applied.
+
+macro(camitk_extension)
+
+
+    # Instruct CMake to run moc automatically when needed.
+    set(CMAKE_AUTOMOC ON)
+    
+    
+    
+    #########################################################################
+    #                                                                       #
+    #   ARGUMENTS PARSING                                                   #
+    #                                                                       #
+    #   * Use a macro to create the CMAKE variables according to the        #
+    #     provided options as input.                                        #
+    #                                                                       #
+    #########################################################################
+
+    get_directory_name(${CMAKE_CURRENT_SOURCE_DIR} EXTENSION_NAME)
+
+    parse_arguments(${EXTENSION_NAME_CMAKE} #prefix
+        "NEEDS_TOOL;NEEDS_CEP_LIBRARIES;NEEDS_COMPONENT_EXTENSION;NEEDS_ACTION_EXTENSION;INCLUDE_DIRECTORIES;EXTERNAL_LIBRARIES;HEADERS_TO_INSTALL;DEFINES;CXX_FLAGS;EXTERNAL_SOURCES;TARGET_NAME;CEP_NAME;DESCRIPTION;TEST_APPLICATION;EXTRA_TRANSLATE_LANGUAGE;TEST_FILES" # possible lists
+        "ACTION_EXTENSION;COMPONENT_EXTENSION;DISABLED;NEEDS_XERCESC;NEEDS_ITK;NEEDS_LIBXML2;NEEDS_XSD;NEEDS_OPENCV;NEEDS_IGSTK;INSTALL_ALL_HEADERS;NEEDS_GDCM;DISABLE_TESTLEVEL1;DISABLE_TESTLEVEL2;DISABLE_TESTLEVEL3" # possible options
+        ${ARGN}
+    )
+
+
+
+    #########################################################################
+    #                                                                       #
+    #   CREATE CMAKE VARIABLES                                              #
+    #                                                                       #
+    #   * Create required and useful CMake variables for the macro          #
+    #                                                                       #
+    #########################################################################
+
+    # TYPE EXTENSION : ACTION or COMPONENT
+    if (${EXTENSION_NAME_CMAKE}_ACTION_EXTENSION)
+        set(TYPE_EXTENSION "action")
+        string(TOUPPER ${TYPE_EXTENSION} TYPE_EXTENSION_CMAKE)
+    elseif(${EXTENSION_NAME_CMAKE}_COMPONENT_EXTENSION)
+        set(TYPE_EXTENSION "component")
+        string(TOUPPER ${TYPE_EXTENSION} TYPE_EXTENSION_CMAKE)
+    endif()
+
+    # CMAKE CACHE VARIABLE
+    # if it is the first cmake run, create the extension variable with a correct initial value
+    if(NOT ${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE}_INTERNAL)
+        # add option to enable/disable this extension and set it to true by default
+        # Building the extension can be disabled by giving the argument DISABLED to the macro
+        # or by passing the flag -D${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE}_DISABLED:BOOL=TRUE
+        if(${EXTENSION_NAME_CMAKE}_DISABLED)
+            set(${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE}_ENABLED FALSE)
+        else()
+            set(${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE}_ENABLED TRUE)
+        endif()
+        set(${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE} ${${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE}_ENABLED} CACHE BOOL "Build extension ${EXTENSION_NAME}")
+        set(${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE}_INTERNAL TRUE CACHE INTERNAL "Is variable ${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME} already created?")
+    endif()
+
+    # if this extension is enabled, do everything needed
+    # otherwise... do nothing
+    if (${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE})
+
+        # TARGET NAME
+        # The target name is composed of the following: [action / component]-name
+        # * action / component is the type of extension as prefix
+        # * name is deduced from the input folder containing the calling CMakeLists.txt file of the extension.
+        if (${EXTENSION_NAME_CMAKE}_TARGET_NAME)
+            set(${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME ${${EXTENSION_NAME_CMAKE}_TARGET_NAME})
+        else()
+            set(${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME ${EXTENSION_NAME})
+        endif()
+        # replace "-" by "_" if the extension is being packaged with NSIS, the program to create a Windows installer.
+        if (PACKAGING_NSIS)
+            # NSIS requires that cpack component names do not feature space or "-" characters
+            set(${TYPE_EXTENSION_CMAKE}_TARGET_NAME ${TYPE_EXTENSION}_${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME})
+        else()
+            set(${TYPE_EXTENSION_CMAKE}_TARGET_NAME ${TYPE_EXTENSION}-${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME})
+        endif()
+
+        message(STATUS "Building extension ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}")
+
+
+
+        #########################################################################
+        #                                                                       #
+        #   INCLUDE DIRECTORIES                                                 #
+        #                                                                       #
+        #   * Include basic directories where to look header files              #
+        #   * Include also additional user provided directories                 #
+        #   * These directories are used for compilation step                   #
+        #                                                                       #
+        #########################################################################
+        # BASIC DIRECTORIES
+
+        include_directories(${CAMITK_INCLUDE_DIRECTORIES})
+        include_directories(${CMAKE_CURRENT_BINARY_DIR})
+        include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+        # USER INPUT DIRECTORIES
+        include_directories(${${EXTENSION_NAME_CMAKE}_INCLUDE_DIRECTORIES})
+
+
+
+        #########################################################################
+        #                                                                       #
+        #   GATHER RESSOURCES                                                   #
+        #                                                                       #
+        #   * Get all the headers (.h) and source files (.cpp) of the project   #
+        #   * Create the needed Qt files (using moc and uic)                    #
+        #   * On Windows, Visual Studio, group .moc and .ui files               #
+        #     in subdirectories                                                 # 
+        #                                                                       #
+        #########################################################################
+
+        # get all headers, sources and do what is needed for Qt
+        # one need to do this just before the add_library so that all defines, include directories and link directories
+        # are set properly (gather_headers_and_sources include the call to Qt moc and uic)
+        gather_headers_and_sources(${EXTENSION_NAME_CMAKE})
+        
+
+
+        #########################################################################
+        #                                                                       #
+        #   ADDITIONAL KNOWN EXTERNAL LIBRARY DEPENDENCIES                      #
+        #                                                                       #
+        #   * Look for specific library needed                                  #
+        #   * Specific libraries are specified as option with the               #
+        #     NEEDS_LIBRARY syntax (see macro syntax for more options)          #
+        #   * Backward compatibility : Warn user if using old NEEDS_TOOL syntax #
+        #                                                                       #
+        #########################################################################
+
+        # Looking for ITK
+        set(ITK_LIBRARIES "")
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_ITK)
+            find_package(ITK REQUIRED PATHS /usr/lib/InsightToolkit)
+            if(ITK_FOUND)
+                include(${ITK_USE_FILE})
+                set(ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}) #ITK_VERSION is not always set
+                set(CAMITK_ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR})
+                message(STATUS "${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}: Found ITK version ${ITK_VERSION}")
+                
+                if ((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux.
+                    if(MSVC)
+                        set(ITK_DIR ${ITK_DIR}/../..)
+                        # Construct list of ITK libraries for linking = CAMITK_ITK_LIBRARIES
+                        foreach(ITK_LIBRARY ${ITK_LIBRARIES})
+                        string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX)
+                            # Some libraries have not the expected 'itk' prefix. Add it then
+                            if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK"))
+                                set(ITK_LIBRARY itk${ITK_LIBRARY})
+                            endif()
+                            set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib)
+                        endforeach()
+                    elseif(UNIX)
+                        set(CAMITK_ITK_LIBRARIES ${ITK_LIBRARIES})
+                    elseif(APPLE)
+                        message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE")
+                    endif()
+                else()
+                    message(FATAL_ERROR "Wrong version of ITK : ${ITK_VERSION}. Required is at least 4.x to 4.9")
+                endif()
+            else()
+                message(FATAL_ERROR "ITK not found but required for ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}")
+            endif()
+        endif()
+
+        # LIBXML2
+        set(LIBXML2_LIBRARY "")
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_LIBXML2)
+            # LibXml2 is required
+            find_package(Xml2)
+            if (LIBXML2_FOUND)
+                add_definitions(${LIBXML2_DEFINITIONS})
+                include_directories(${LIBXML2_INCLUDE_DIR})
+                set(LIBXML2_LIBRARY ${LIBXML2_LIBRARIES})
+            else()
+                # most probably win32 or crosscompiling
+                message(STATUS "${EXTENSION_NAME}: libxml2 required")
+            endif()
+        endif()
+
+        # OPENCV
+        set(OpenCV_LIBRARIES "")
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_OPENCV)
+            # OpenCV is required
+            find_package( OpenCV REQUIRED )
+        else ( )
+            set(OpenCV_LIBRARIES "")
+        endif()
+
+        # IGSTK
+        set(IGSTK_LIBRARIES "")
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_IGSTK)
+            find_package(IGSTK REQUIRED)
+            include(${IGSTK_USE_FILE})
+        else()
+            set(IGSTK_LIBRARIES "")
+        endif()
+
+        # XERCES-C
+        set(XERCESC_LIBRARIES)
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_XERCESC)
+            # XercesC is required
+            find_package(XercesC REQUIRED)
+            if (XERCESC_FOUND)
+                include_directories(${XERCESC_INCLUDE_DIR})
+                set(XERCESC_LIBRARIES ${XERCESC_LIBRARY})
+            else()
+                # most probably win32 or crosscompiling
+                message(FATAL_ERROR "${EXTENSION_NAME}: xerces-c required. Please provide Xerces-C path.")
+            endif()
+        endif()
+
+        # XSD
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_XSD)
+            # XercesC is required
+            find_package(XercesC REQUIRED)
+            if (XERCESC_FOUND)
+                include_directories(${XERCESC_INCLUDE_DIR})
+                set(XERCESC_LIBRARIES ${XERCESC_LIBRARY})
+                find_package(XSD REQUIRED)
+                include_directories(${XSD_INCLUDE_DIR})
+            else()
+                # most probably win32 or crosscompiling
+                message(FATAL_ERROR "${EXTENSION_NAME}: xerces-c required because of XSD cxx, please set XERCESC_INCLUDE_DIR")
+            endif()
+        endif()
+
+        # GDCM 2.2.x
+        set(GDCM_LIBRARIES)
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_GDCM)
+            if(NOT GDCM_FOUND)
+                # Look for GDCM library only if not found (for instance, ITK has already search for it)
+                # Calling find_package(GDCM ..) more than once creates CMake errors.
+                find_package(GDCM 2.0 REQUIRED)
+            endif()
+            if(GDCM_FOUND)
+                include(${GDCM_USE_FILE})
+                if (MSVC)
+                    set(GDCM_LIBRARIES
+                        debug ${GDCM_DIR}/../gdcmcharls${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmCommon${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmDICT${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmDSED${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmexpat${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmgetopt${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmIOD${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmjpeg8${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmjpeg12${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmjpeg16${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmMEXD${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmMSFF${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmopenjpeg${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmzlib${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../socketxx${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../vtkgdcm${CAMITK_DEBUG_POSTFIX}.lib
+                        debug ${GDCM_DIR}/../gdcmDSED${CAMITK_DEBUG_POSTFIX}.lib
+                        optimized gdcmcharls gdcmCommon gdcmDICT gdcmDSED gdcmexpat
+                        optimized gdcmgetopt gdcmIOD gdcmjpeg8 gdcmjpeg12 gdcmjpeg16
+                        optimized gdcmMEXD gdcmMSFF gdcmopenjpeg gdcmzlib socketxx vtkgdcm
+                        optimized gdcmDSED
+                        )
+                else()
+                    set(GDCM_LIBRARIES gdcmCommon gdcmDICT gdcmDSED gdcmMEXD gdcmMSFF vtkgdcm)
+                endif()
+            else()
+                message(ERROR "${EXTENSION_NAME}: GDCM 2.x library required. Please install GDCM.")
+            endif()
+        endif()
+
+        # EXTERNAL LIBRARIES
+        set(EXTERNAL_LIBRARIES)
+        if(${EXTENSION_NAME_CMAKE}_EXTERNAL_LIBRARIES)
+            foreach(EXTERNAL_LIBRARY ${${EXTENSION_NAME_CMAKE}_EXTERNAL_LIBRARIES})
+                if (MSVC)
+                    set(EXTERNAL_LIBRARIES ${EXTERNAL_LIBRARIES}
+                                           debug ${EXTERNAL_LIBRARY}${CAMITK_DEBUG_POSTFIX}.lib
+                                           optimized ${EXTERNAL_LIBRARY}
+                    )
+                else()
+                    set(EXTERNAL_LIBRARIES ${EXTERNAL_LIBRARIES} ${EXTERNAL_LIBRARY})
+                endif()
+            endforeach()
+        endif()
+
+        # BACKWARD COMPATIBILITY
+        # NEEDS_TOOLS option
+        # TODO CAMITK_DEPRECATED. This option is marked as deprecated. It is to be removed in CamiTK 4.0
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_TOOL)
+            message(WARNING "Warning: ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt: camitk_extension macro option NEEDS_TOOL is deprecated, please use NEEDS_CEP_LIBRARIES instead..")
+            set(${EXTENSION_NAME_CMAKE}_NEEDS_CEP_LIBRARIES ${${EXTENSION_NAME_CMAKE}_NEEDS_CEP_LIBRARIES} ${${EXTENSION_NAME_CMAKE}_NEEDS_TOOL})
+        endif()
+
+
+ 
+        #########################################################################
+        #                                                                       #
+        #   LINK DIRECTORIES                                                    #
+        #                                                                       #
+        #   * Link directories are used to indicate the compiler where          #
+        #     to look for folder containing libraries to link with.             #
+        #   * Must be done BEFORE creating the CMake target with add_library    #
+        #                                                                       #
+        #########################################################################
+
+        # CAMITK BASIC LIB DIRECTORIES
+        link_directories(${CAMITK_LINK_DIRECTORIES})
+          
+
+
+        #########################################################################
+        #                                                                       #
+        #   TARGET COMPILATION DEFINITION                                       #
+        #                                                                       #
+        #   * Additional sources files to consider at compilation (.cpp)        #
+        #   * CMake project target definition                                   #
+        #                                                                       #
+        #########################################################################
+        # EXTERNAL SOURCES
+        set(${EXTENSION_NAME_CMAKE}_SOURCES ${${EXTENSION_NAME_CMAKE}_SOURCES} ${${EXTENSION_NAME_CMAKE}_EXTERNAL_SOURCES})
+
+        # CMAKE TARGET DEFINITION
+        add_library(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} SHARED ${${EXTENSION_NAME_CMAKE}_SOURCES})
+
+        
+        
+        #########################################################################
+        #                                                                       #
+        #   QT LINKING LIBRARIES                                                #
+        #                                                                       #
+        #   * Set at linking the Qt5 libraries                                  #
+        #                                                                       #
+        #########################################################################
+        qt5_use_modules(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_QT_COMPONENTS})
+        
+       
+       
+        #########################################################################
+        #                                                                       #
+        #   CAMITK ACTION / COMPONENT / LIBRARIES DEPENDENCIES                  #
+        #                                                                       #
+        #   * Look for action / component / libraries dependencies              #
+        #   * Specific actions / components / libraries are specified as option #
+        #     with the NEEDS_ACTION/COMPONENT_EXTENSION/CEP_LIBRARIES syntax    #
+        #   * Add dependencies to library-camitkcore and the testing            #
+        #     action/component if test are runned on it                         #
+        #                                                                       #
+        #########################################################################
+
+        # 1st CAMITKCORE LIBRARY DEPENDENCY
+        # add_dependencies(..) is only needed to enable parallel build during SDK build
+        # but generates an error for external CEP, where this target does not
+        # exists.
+        # Using target_link_libraries(..) is enough to link the extension to the CamiTK core library
+        if(CAMITK_SDK_BUILD)
+            add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_CORE_TARGET_LIB_NAME})
+<<<<<<< HEAD
+            # add the dependency to the core automoc target only if inside a SDK build
+=======
+            # add the dependency to the core automoc target
+>>>>>>> Fix parallel build, over-dependencies between targets and space in target names
+            set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS ${CAMITK_CORE_TARGET_LIB_NAME})
+        endif()       
+ 
+
+        # 2nd COMPONENTS DEPENDENCIES
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_COMPONENT_EXTENSION)
+            set(COMPONENTS_DEPENDENCY_LIST "") #use for generating the project.xml file
+            foreach(COMPONENT_NEEDED ${${EXTENSION_NAME_CMAKE}_NEEDS_COMPONENT_EXTENSION})
+                 # include directories from build, camitk (local or global install).
+                include_directories(${CAMITK_BUILD_INCLUDE_DIR}/components/${COMPONENT_NEEDED})
+                include_directories(${CAMITK_INCLUDE_DIR}/components/${COMPONENT_NEEDED})
+                # file dependency
+                if (MSVC)
+                    set(COMPONENT_EXTENSION_LIBRARIES ${COMPONENT_EXTENSION_LIBRARIES}
+                                                    debug ${CAMITK_BUILD_PRIVATE_LIB_DIR}/components/${COMPONENT_NEEDED}${CAMITK_DEBUG_POSTFIX}.lib
+                                                    optimized ${COMPONENT_NEEDED}
+                    )
+                else()
+                    set(COMPONENT_EXTENSION_LIBRARIES ${COMPONENT_EXTENSION_LIBRARIES} ${COMPONENT_NEEDED})
+                endif()
+                # CMake / CDash dependencies
+                if(PACKAGING_NSIS)
+                    add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} component_${COMPONENT_NEEDED})
+                    # add the dependency to the component automoc target only if compiling SDK
+                    if(CAMITK_SDK_BUILD)
+                        set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS component_${COMPONENT_NEEDED})                      
+                    endif()
+                else()
+                    add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} component-${COMPONENT_NEEDED})
+                    set(COMPONENTS_DEPENDENCY_LIST ${COMPONENTS_DEPENDENCY_LIST} component-${COMPONENT_NEEDED})
+                    # add the dependency to the component automoc target only if compiling SDK
+                    if(CAMITK_SDK_BUILD)
+                        set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS component-${COMPONENT_NEEDED})                        
+                    endif()
+                endif()
+            endforeach()
+        endif()
+
+        # 3rd ACTIONS DEPENDENCIES
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_ACTION_EXTENSION)
+            set(ACTIONS_DEPENDENCY_LIST "") #use for generating the project.xml file
+            foreach(ACTION_NEEDED ${${EXTENSION_NAME_CMAKE}_NEEDS_ACTION_EXTENSION})
+                # include directories from build, camitk (local or global install).
+                include_directories(${CAMITK_BUILD_INCLUDE_DIR}/actions/${ACTION_NEEDED})
+                include_directories(${CAMITK_INCLUDE_DIR}/actions/${ACTION_NEEDED})
+                # file dependency
+                if (MSVC)
+                    set(ACTION_EXTENSION_LIBRARIES ${ACTION_EXTENSION_LIBRARIES}
+                                                   debug ${CAMITK_BUILD_PRIVATE_LIB_DIR}/actions/${ACTION_NEEDED}${CAMITK_DEBUG_POSTFIX}.lib
+                                                   optimized ${ACTION_NEEDED}
+                    )
+                else()
+                    set(ACTION_EXTENSION_LIBRARIES ${ACTION_EXTENSION_LIBRARIES} ${ACTION_NEEDED})
+                endif()
+                # CMake / CDash dependencies
+                if (PACKAGING_NSIS)
+                    add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} action_${ACTION_NEEDED})
+                    # add the dependency to the component automoc target only if compiling SDK
+                    if(CAMITK_SDK_BUILD)
+                        set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS action_${ACTION_NEEDED})                  
+                    endif()                    
+                else()
+                    add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} action-${ACTION_NEEDED})
+                    set(ACTIONS_DEPENDENCY_LIST ${ACTIONS_DEPENDENCY_LIST} action-${ACTION_NEEDED})
+                    # add the dependency to the component automoc target only if compiling SDK
+                    if(CAMITK_SDK_BUILD)
+                        set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS action-${ACTION_NEEDED})                  
+                    endif()                    
+                endif()
+            endforeach()
+        endif()
+
+        # 4th CEP LIBRARIES DEPENDENCIES
+        if(${EXTENSION_NAME_CMAKE}_NEEDS_CEP_LIBRARIES)
+            set(CEP_LIBRARIES_DEPENDENCY_LIST "") #use for generating the project.xml file
+            foreach(CEP_LIBRARY_NEEDED ${${EXTENSION_NAME_CMAKE}_NEEDS_CEP_LIBRARIES})
+                 # include directories from build, camitk (local or global install).
+                include_directories(${CAMITK_BUILD_INCLUDE_DIR}/libraries/${CEP_LIBRARY_NEEDED})
+                include_directories(${CAMITK_INCLUDE_DIR}/libraries/${CEP_LIBRARY_NEEDED})
+                # file dependency
+                if (MSVC)
+                        set(CEP_LIBRARIES ${CEP_LIBRARIES}  debug ${CEP_LIBRARY_NEEDED}${CAMITK_DEBUG_POSTFIX}.lib
+                                                            optimized ${CEP_LIBRARY_NEEDED}
+                        )
+                else()
+                    if(PACKAGING_NSIS)
+                        set(CEP_LIBRARIES ${CEP_LIBRARIES} ${CEP_LIBRARY_NEEDED})
+                    else()
+                        set(CEP_LIBRARIES ${CEP_LIBRARIES} ${CEP_LIBRARY_NEEDED})
+                    endif()
+                endif()
+                # CMake / CDash dependencies
+                if (PACKAGING_NSIS)
+                    add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} library_${CEP_LIBRARY_NEEDED})
+                    # add the dependency to the component automoc target only if compiling SDK
+                    if(CAMITK_SDK_BUILD)
+                        set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library_${CEP_LIBRARY_NEEDED})                 
+                    endif() 
+                else()
+                    add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} library-${CEP_LIBRARY_NEEDED})
+                    set(CEP_LIBRARIES_DEPENDENCY_LIST ${CEP_LIBRARIES_DEPENDENCY_LIST} library-${CEP_LIBRARY_NEEDED})
+                    # add the dependency to the component automoc target only if compiling SDK
+                    if(CAMITK_SDK_BUILD)
+                        set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library-${CEP_LIBRARY_NEEDED})
+                    endif()
+                endif()
+            endforeach()
+        endif()
+
+        # 5th DEPENDENCY ON TESTING APPLICATION
+        # Those projects are used to run unitarian test on ACTION / COMPONENT extensions.
+        set(APPLICATIONS_DEPENDENCY_LIST "")
+        if(${EXTENSION_NAME_CMAKE}_TEST_APPLICATION AND NOT PACKAGING_NSIS AND BUILD_TESTING)
+            # Add this dependencies for automatically constructing application-testactions components dependencies
+            add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} application-test${TYPE_EXTENSION}s)
+            set(APPLICATIONS_DEPENDENCY_LIST "application-test${TYPE_EXTENSION}s")
+            # add the dependency to the test application automoc target
+            set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS application-test${TYPE_EXTENSION}s)              
+        endif()
+
+        if((CEP_NAME STREQUAL "SDK") OR (CEP_NAME STREQUAL "modeling") OR (CEP_NAME STREQUAL "imaging"))
+            # 6th TEST-COMPONENT APPLICATION DEPENDENCY ON THIS COMPONENT
+            if(${EXTENSION_NAME_CMAKE}_COMPONENT_EXTENSION AND ${EXTENSION_NAME_CMAKE}_TEST_APPLICATION AND NOT PACKAGING_NSIS AND BUILD_TESTING)
+                add_dependencies(application-testactions ${COMPONENT_TARGET_NAME})
+                # add this component automoc target to the dependency of the test application
+                set_property(TARGET application-testactions APPEND PROPERTY AUTOGEN_TARGET_DEPENDS ${COMPONENT_TARGET_NAME})              
+            endif()
+
+            # 7th TEST-ACTION APPLICATION DEPENDENCY ON ACTION-APPLICATION
+            if(${TYPE_EXTENSION_CMAKE}_TARGET_NAME STREQUAL "action-application" AND BUILD_TESTING)
+                add_dependencies(application-testcomponents action-application)
+                # add this component automoc target to the dependency of the test application
+                set_property(TARGET application-testcomponents APPEND PROPERTY AUTOGEN_TARGET_DEPENDS action-application)              
+            endif()
+        endif()
+
+
+        #########################################################################
+        #                                                                       #
+        #   COMPILATION FLAG                                                    #
+        #                                                                       #
+        #   * Flags are options to give to the compiler                         #
+        #   * Add user input flags                                              #
+        #   * Add platform specific flags                                       #
+        #                                                                       #
+        #########################################################################
+
+        # USER INPUT DEFINES COMPILER FLAG
+        if(${EXTENSION_NAME_CMAKE}_DEFINES)
+          foreach (FLAG ${${EXTENSION_NAME_CMAKE}_DEFINES})
+            add_definitions(-D${FLAG})
+          endforeach()
+        endif()
+
+        # USER INPUT CUSTOM COMPILER FLAG
+        if(${EXTENSION_NAME_CMAKE}_CXX_FLAGS)
+          foreach (FLAG ${${EXTENSION_NAME_CMAKE}_CXX_FLAGS})
+            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG}")
+          endforeach()
+        endif()
+
+        # PLATFORM SPECIFIC COMPILER FLAG
+        # 64bits and other platform with relocation needs -fPIC
+        include(TestCXXAcceptsFlag)
+        check_cxx_accepts_flag(-fPIC FPIC_FLAG_ACCEPTED)
+        # no need to add -fPIC on mingw, otherwise it generates a warning: -fPIC ignored for target (all code is position independent) [enabled by default]
+        # msvc is also accepting the flag, but then produce warning D9002 : ignoring unknown option '-fPIC'   cl
+        if(FPIC_FLAG_ACCEPTED AND NOT WIN32)
+            set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY COMPILE_FLAGS -fPIC)
+        endif()
+
+
+
+        #########################################################################
+        #                                                                       #
+        #   LINKING                                                             #
+        #                                                                       #
+        #   * Linking is the last stage of compilation                          #
+        #   * Indicate what libraries to use for linking the target             #
+        #                                                                       #
+        #########################################################################
+        # LINKING LIBRARIES
+        # Any component or action has to be linked with ${CAMITK_CORE_LIBRARIES} and with all its dependencies
+        target_link_libraries(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${CAMITK_ITK_LIBRARIES} ${LIBXML2_LIBRARY} ${OpenCV_LIBRARIES} ${IGSTK_LIBRARIES} ${XERCESC_LIBRARIES} ${GDCM_LIBRARIES} ${EXTERNAL_LIBRARIES})
+
+
+
+        #########################################################################
+        #                                                                       #
+        #   OUTPUT                                                              #
+        #                                                                       #
+        #   * Define the output directory (location and name)                   #
+        #   * Define the output name of the library                             #
+        #   * Add ${CAMITK_DEBUG_POSTFIX} suffix to Debug MSVC built libraries  #
+        #   * Additional Linux .so files information                            #
+        #                                                                       #
+        #########################################################################
+
+        # OUTPUT LIBRARY NAME
+        set_target_properties(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                               PROPERTIES OUTPUT_NAME ${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}
+        )
+
+        # OUTPUT DIRECTORY LOCATION AND NAME
+        # Output directory (all extensions are private)
+        set_target_properties(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+                                                                                LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+                                                                                LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+        )
+        # Output directory (for dll plateform, this is still the same, extensions are private)
+        set_target_properties(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+                                                                                RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+                                                                                RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+        )
+        # Output directory (for dll plateform, this is still the same, extensions are private)
+        set_target_properties(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+                                                                                ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+                                                                                ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s
+        )
+
+        # OUTPUT LIBRARY NAME MSVC in DEBUG mode
+        if (MSVC)
+            set_target_properties(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} PROPERTIES DEBUG_POSTFIX ${CAMITK_DEBUG_POSTFIX})
+        endif()
+
+        # ADDITIONAL LINUX .so FILE INFORMATION
+        set(${TYPE_EXTENSION_CMAKE}_LIBRARY_PROPERTIES ${${TYPE_EXTENSION_CMAKE}_LIBRARY_PROPERTIES}
+            VERSION   "${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CAMITK_VERSION_PATCH}"
+            SOVERSION "${CAMITK_VERSION_MAJOR}"
+        )
+        # set the library specific info (SONAME...)
+        set_target_properties(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} PROPERTIES ${${TYPE_EXTENSION_CMAKE}_LIBRARY_PROPERTIES} LINK_INTERFACE_LIBRARIES "")
+
+        # see http://www.cmake.org/pipermail/cmake/2012-April/049889.html
+        # target properties (outputname and remove soname)
+        #  set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} PROPERTY NO_SONAME 1)
+        # in CEP the version patch might not have been set
+        if (NOT CAMITK_VERSION_PATCH)
+            set(CAMITK_VERSION_PATCH 0)
+        endif()
+
+
+
+        #########################################################################
+        #                                                                       #
+        #   INSTALLATION                                                        #
+        #                                                                       #
+        #   * When installing the project, header files (.h) and test data are  #
+        #     copied into a installation folder to determine.                   #
+        #   * Indicate in this section, where to install your project and which #
+        #     files to copy into that folder (during local/global installation) #
+        #                                                                       #
+        #########################################################################
+
+        # FOLDER INSTALLATION
+        # Indicate where to install the action/component
+        install(TARGETS ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                # TODO always use private lib, even for runtime
+                RUNTIME DESTINATION lib/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s
+                LIBRARY DESTINATION lib/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s
+                ARCHIVE DESTINATION lib/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s
+                COMPONENT ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+        )
+
+        # HEADERS INSTALLATION
+        # Build target to install provided headers to install (with HEADERS_TO_INSTALL option)
+        if(${EXTENSION_NAME_CMAKE}_HEADERS_TO_INSTALL)
+            export_headers(${${EXTENSION_NAME_CMAKE}_HEADERS_TO_INSTALL} COMPONENT ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} GROUP ${TYPE_EXTENSION}s)
+        endif()
+
+        # Build target to install all header files(with INSTALL_ALL_HEADERS option)
+        if(${EXTENSION_NAME_CMAKE}_INSTALL_ALL_HEADERS)
+            export_headers(${${EXTENSION_NAME_CMAKE}_HEADERS} COMPONENT ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} GROUP ${TYPE_EXTENSION}s)
+        endif()
+
+        # TESTDATA INSTALLATION
+        if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/testdata)
+            # Check test data dir directory
+            if (NOT EXISTS ${CAMITK_BUILD_TESTDATA_DIR})
+                 make_directory( ${CAMITK_BUILD_TESTDATA_DIR} )
+            endif()
+
+            # copy the files to test data directory
+            execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory testdata ${CAMITK_BUILD_TESTDATA_DIR}
+                            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                           )
+
+            # during installation, copy the files to install directory
+            set (TESTDATA_DEST_DIR share/${CAMITK_SHORT_VERSION_STRING}/testdata)
+            install(DIRECTORY testdata/
+                  #DESTINATION share/testdata
+                  #DESTINATION share/${CAMITK_SHORT_VERSION_STRING}/testdata
+                  DESTINATION ${TESTDATA_DEST_DIR}
+                  # COMPONENT ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                  PATTERN ".svn" EXCLUDE
+                  PATTERN "*~" EXCLUDE
+            )
+        endif()
+
+        # CTESTDATA INSTALLATION
+        if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/testdata/ctestdata)
+            # Check test data dir directory
+            if (NOT EXISTS ${CAMITK_BUILD_CTESTDATA_DIR})
+                add_custom_command(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                                  POST_BUILD
+                                  COMMAND ${CMAKE_COMMAND} -E make_directory ${CAMITK_BUILD_CTESTDATA_DIR}
+                                  COMMENT "Creating build-time share directory for test data ${CAMITK_BUILD_CTESTDATA_DIR}"
+                                  VERBATIM
+                )
+            endif()
+
+            # At build time, copy the files to test data directory
+            add_custom_command(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                            POST_BUILD
+                            COMMAND ${CMAKE_COMMAND} -E copy_directory testdata/ctestdata ${CAMITK_BUILD_CTESTDATA_DIR}
+                            COMMENT "Installing build-time test data for ${EXTENSION_NAME}"
+                            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                            VERBATIM
+            )
+
+            # during installation, copy the files to install directory
+            set (CTESTDATA_DEST_DIR share/${CAMITK_SHORT_VERSION_STRING}/testdata/ctestdata)
+            install(DIRECTORY testdata/ctestdata
+                  DESTINATION ${CTESTDATA_DEST_DIR}
+                  PATTERN ".svn" EXCLUDE
+                  PATTERN "*~" EXCLUDE
+            )
+        endif()
+
+
+
+        #########################################################################
+        #                                                                       #
+        #   CDASH SUBPROJECT DESCRIPTION                                        #
+        #                                                                       #
+        #   * Update the XML description of the subprojects dependencies        #
+        #     for CDash.                                                        #
+        #                                                                       #
+        #########################################################################
+        # CDASH XML SUBPROJECTS DESCRIPTION UPDATE
+        camitk_sub_project_add(${TYPE_EXTENSION_CMAKE} ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} DEPENDENCIES library-camitkcore ${COMPONENTS_DEPENDENCY_LIST} ${ACTIONS_DEPENDENCY_LIST} ${CEP_LIBRARIES_DEPENDENCY_LIST} ${APPLICATIONS_DEPENDENCY_LIST})
+
+
+
+        #########################################################################
+        #                                                                       #
+        #   PACKAGING CATEGORIZATION                                            #
+        #                                                                       #
+        #   * On Windows, when building a package (win32 installer), the        #
+        #     install shield wizard proposes you to select which component      #
+        #     to install.                                                       #
+        #   * Each component to install has a short description following its   #
+        #     name to understand its role.                                      #
+        #   * This section deals with the categorization and the description    #
+        #     of the component in this installer.                               #
+        #                                                                       #
+        #########################################################################
+
+        # WINDOWS INSTALLER CATEGORIZATION
+        if(${EXTENSION_NAME_CMAKE}_CEP_NAME)
+            if (${EXTENSION_NAME_CMAKE}_CEP_NAME MATCHES "SDK")
+                # The default SDK extensions are categorized as "required" and are not "unselectable" by the user at installation time
+                cpack_add_component(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                                    DISPLAY_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                                    DESCRIPTION ${${EXTENSION_NAME_CMAKE}_DESCRIPTION}
+                                    REQUIRED
+                                    GROUP SDK
+                                    )
+
+            else()
+                # Extension is selectable for installation in the wizard of the installer
+                cpack_add_component(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                                    DISPLAY_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                                    DESCRIPTION ${${EXTENSION_NAME_CMAKE}_DESCRIPTION}
+                                    GROUP ${${EXTENSION_NAME_CMAKE}_CEP_NAME}
+                                    )
+            endif()
+        else()
+            # Extension if not categorized for packaging presentation
+            cpack_add_component(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                                DISPLAY_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}
+                                DESCRIPTION ${${EXTENSION_NAME_CMAKE}_DESCRIPTION}
+                                )
+        endif()
+
+
+        #####################################################################################
+        #                                                                                   #
+        #   TRANSLATION                                                                     #
+        #                                                                                   #
+        #   * CAMITK_TRANSLATIONS contains the list of language to translate                #
+        #    the QString to.                                                                #
+        #                                                                                   #
+        #   * Create the translate.pro file which contains 4 sections:                      #
+        #        - HEADERS:      list of .h/.hpp files to look for tr("") QString           #     
+        #        - SOURCES:      list of .cpp files to look for tr("") QString              #
+        #        - FORMS:        list of .ui files to look for tr("") QString               #            
+        #        - TRANSLATIONS: list of .ts files which use CAMITK_TRANSLATIONS            #
+        #            to define each .ts file                                                #
+        #                                                                                   #
+        #    * Execute lupdate program to update the .ts files with new QString             #
+        #          found.                                                                   #
+        #                                                                                   #
+        #   * Execute lrelease program to create .qm files (binary equivalent of            #
+        #       .ts files                                                                   #
+        #                                                                                   #
+        #   * Create translate.qrc which contains the list of .qm files.                    #
+        #   * Create the flags.qrc file which contains the list of .png flags               #
+        #         images                                                                    #
+        #                                                                                   #
+        #####################################################################################
+        if(CAMITK_TRANSLATE)
+            if(${EXTENSION_NAME_CMAKE}_EXTRA_TRANSLATE_LANGUAGE)
+                if(${EXTENSION_NAME} STREQUAL "application")
+                    camitk_translate(USE_FLAGS
+                                     EXTRA_LANGUAGE ${${EXTENSION_NAME_CMAKE}_EXTRA_TRANSLATE_LANGUAGE})
+                else()
+                    camitk_translate(EXTRA_LANGUAGE ${${EXTENSION_NAME_CMAKE}_EXTRA_TRANSLATE_LANGUAGE})
+                endif()
+            else()
+                if(${EXTENSION_NAME} STREQUAL "application")
+                    camitk_translate(USE_FLAGS)
+                else()
+                    camitk_translate()
+                endif()
+            endif()
+        endif()
+
+
+
+        #########################################################################
+        #                                                                       #
+        #   CTEST - COMPONENT TESTS DESCRIPTION                                 #
+        #                                                                       #
+        #########################################################################
+        if( ${EXTENSION_NAME_CMAKE}_COMPONENT_EXTENSION AND ${EXTENSION_NAME_CMAKE}_TEST_APPLICATION AND NOT PACKAGING_NSIS AND BUILD_TESTING)
+            camitk_init_test( ${${EXTENSION_NAME_CMAKE}_TEST_APPLICATION} )
+            camitk_parse_test_add_separator(EXTENSION_TYPE ${TYPE_EXTENSION} EXTENSION_NAME ${EXTENSION_NAME})
+
+            # Retrieve the current directory name to properly name the test
+            get_directory_name( ${CMAKE_CURRENT_SOURCE_DIR} COMP_DIR_NAME )
+            
+            # Retrieve the files in testdata directory - a test will be applied for each of these files
+            get_subdirectoryfiles( ${CMAKE_CURRENT_SOURCE_DIR}/testdata/ctestdata TESTFILES )
+
+            # Different the test level to proceed
+            set( LEVEL0 0 )
+            set( LEVEL1 1 )
+            set( LEVEL2 2 )
+            set( LEVEL3 3 )
+            set( TESTLEVEL ${LEVEL3} )
+            
+            # 1st test should pass because application test runs with no arguments - shows usage and exit success
+            camitk_add_test( TEST_SUFFIX "-LEVEL0-"
+                             PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                           )
+            camitk_parse_test_add(NAME ${CAMITK_TEST_NAME} LEVEL 0 DESCRIPTION "Launch application testcomponent with no arguments.")
+
+            # According options defined in Cmakelist enable or disable some tests
+            set(TEST_DESCRIPTION "Test opening the component, saving it as a file and compare the saved file with the original one.")
+            if( ${EXTENSION_NAME_CMAKE}_DISABLE_TESTLEVEL1 )
+                 set(TESTLEVEL 0 )
+                 set(TEST_DESCRIPTION "Run camitk-config." )
+            elseif( ${EXTENSION_NAME_CMAKE}_DISABLE_TESTLEVEL2 )
+                 set( TESTLEVEL ${LEVEL1} )
+                 set(TEST_DESCRIPTION "Test opening the component.")
+            elseif( ${EXTENSION_NAME_CMAKE}_DISABLE_TESTLEVEL3 )
+                 set( TESTLEVEL ${LEVEL2} )
+                 set(TEST_DESCRIPTION "Test opening the component and saving it as a file.")
+            endif()
+
+            set( LEVELORIGIN ${TESTLEVEL} ) #store the test level value in a const variable
+            
+            foreach( COMPONENT_TESTDATA_FILE ${TESTFILES} )
+                # Give the file name (full path cut)
+                get_directory_name( ${COMPONENT_TESTDATA_FILE} DATA_FILE )
+
+                # Test procedure: Open an extension and a component- save it - Compare saved file to original file(level3)
+                if( ${TESTLEVEL} EQUAL ${LEVEL3} )
+                    if(MSVC)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} -c ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s/${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}${CAMITK_DEBUG_POSTFIX}.dll -l ${TESTLEVEL}"                   
+                                         PASS_FILE_OUTPUT ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} 
+                                         TEST_SUFFIX "-LEVEL${TESTLEVEL}-"
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+                    elseif(APPLE)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} -c ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s/lib${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}.dylib -l ${TESTLEVEL}"
+                                         PASS_FILE_OUTPUT ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} 
+                                         TEST_SUFFIX "-LEVEL${TESTLEVEL}-"
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+                    elseif(UNIX)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} -c ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s/lib${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}.so -l ${TESTLEVEL}" 
+                                         PASS_FILE_OUTPUT ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} 
+                                         TEST_SUFFIX "-LEVEL${TESTLEVEL}-"
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+                    endif()
+                        camitk_parse_test_add(NAME ${CAMITK_TEST_NAME} LEVEL ${TESTLEVEL} DESCRIPTION ${TEST_DESCRIPTION})
+                    MATH(EXPR TESTLEVEL "${TESTLEVEL}-1") #Decrease the test level to proceed less arduous tests
+                endif()
+                
+                # Test procedure: Open an extension and a component(level1) - save it(level2)
+                while( ${TESTLEVEL} GREATER 0)
+                    if(MSVC)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} -c ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s/${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}${CAMITK_DEBUG_POSTFIX}.dll -l ${TESTLEVEL}"                        TEST_SUFFIX [LEVEL${TESTLEVEL}] 
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+                    elseif(APPLE)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} -c ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s/lib${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}.dylib -l ${TESTLEVEL}" 
+                                         TEST_SUFFIX "-LEVEL${TESTLEVEL}-"
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+                    elseif(UNIX)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${DATA_FILE} -c ${CAMITK_BUILD_PRIVATE_LIB_DIR}/${TYPE_EXTENSION}s/lib${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}.so -l ${TESTLEVEL}" 
+                                         TEST_SUFFIX "-LEVEL${TESTLEVEL}-"
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+                    endif()
+                    camitk_parse_test_add(NAME ${CAMITK_TEST_NAME} LEVEL ${TESTLEVEL} DESCRIPTION ${TEST_DESCRIPTION})
+                    MATH(EXPR TESTLEVEL "${TESTLEVEL}-1")# Decrease the test level to proceed less arduous tests
+                endwhile()
+                set( TESTLEVEL ${LEVELORIGIN} )
+            endforeach()
+
+        #########################################################################
+        #                                                                       #
+        #   CTEST - ACTION TESTS DESCRIPTION                                    #
+        #                                                                       #
+        #########################################################################
+        elseif( ${EXTENSION_NAME_CMAKE}_ACTION_EXTENSION AND ${EXTENSION_NAME_CMAKE}_TEST_APPLICATION AND NOT PACKAGING_NSIS)
+            camitk_init_test( ${${EXTENSION_NAME_CMAKE}_TEST_APPLICATION} )
+            camitk_parse_test_add_separator(EXTENSION_TYPE ${TYPE_EXTENSION} EXTENSION_NAME ${EXTENSION_NAME})
+
+            # Retrieve the current directory name to properly name the test
+            get_directory_name( ${CMAKE_CURRENT_SOURCE_DIR} COMP_DIR_NAME )
+
+            # Test should pass because application test runs with no arguments - shows usage and exit success
+            camitk_add_test( TEST_SUFFIX "-LEVEL0-" PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} )
+            camitk_parse_test_add(NAME ${CAMITK_TEST_NAME} LEVEL 0 DESCRIPTION "Launch application testaction with no arguments.")
+
+            #get the names of actions .dlls in lib directory
+            get_subdirectoryfiles( ${CAMITK_BUILD_PRIVATE_LIB_DIR}/actions/ ACTIONSDLLS )
+
+            foreach( ACTION_TESTDATA_FILE ${${EXTENSION_NAME_CMAKE}_TEST_FILES} )
+                # Next line is only useful macro debug => comment from now
+                # message( STATUS "Action extension: " ${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME} " Test file: " ${ACTION_TESTDATA_FILE} )
+
+                if( NOT ( ${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME} MATCHES "application" ) )# We do not apply tests on actions like (close, save, save as)
+                    # Test procedure: Open a file - load an action extension - Apply an action on the component wrapping the file
+                    if(MSVC)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${ACTION_TESTDATA_FILE} -a ${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}${CAMITK_DEBUG_POSTFIX}.dll" 
+                                         TEST_SUFFIX "-LEVEL1-"
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+                    elseif(APPLE)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${ACTION_TESTDATA_FILE} -a lib${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}.dylib" 
+                                         TEST_SUFFIX "-LEVEL1-"
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+                    elseif(UNIX)
+                        camitk_add_test( EXECUTABLE_ARGS "-i ${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${ACTION_TESTDATA_FILE} -a lib${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}.so" 
+                                         TEST_SUFFIX "-LEVEL1-"
+                                         PROJECT_NAME ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} 
+                                       )
+#                         if(CAMITK_COVERAGE)
+#                              setup_target_for_coverage(${${EXTENSION_NAME_CMAKE}_TEST_APPLICATION}-coverage-${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}-${ACTION_TESTDATA_FILE} 
+# ${${EXTENSION_NAME_CMAKE}_TEST_APPLICATION} 
+# ${${EXTENSION_NAME_CMAKE}_TEST_APPLICATION}-coverage-${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}-${ACTION_TESTDATA_FILE}
+#                              "-i;${CAMITK_BUILD_TESTDATA_DIR}/ctestdata/${ACTION_TESTDATA_FILE};-a;lib${${TYPE_EXTENSION_CMAKE}_OUTPUT_NAME}.so" )
+                    endif()
+                    camitk_parse_test_add(NAME ${CAMITK_TEST_NAME} LEVEL 1 DESCRIPTION "Open a file, load the action and apply it on the component.")
+                endif()
+            endforeach()
+        endif()
+    endif() # endif(${TYPE_EXTENSION_CMAKE}_${EXTENSION_NAME_CMAKE})
+
+endmacro()
+
+# Old macro to configure a new action to the framework
+# Use camitk_extension macro instead
+# TODO CAMITK_DEPRECATED. This macro is marked as deprecated. It is to be removed in CamiTK 4.0
+macro(action_extension)
+    message(WARNING "Deprecated macro action_extension detected : please use camitk_extension(ACTION_EXTENSION ...) instead.")
+    camitk_extension(ACTION_EXTENSION ${ARGN})
+endmacro()
+
+# Old macro to configure a new component to the framework
+# Use camitk_extension macro instead
+# TODO CAMITK_DEPRECATED. This macro is marked as deprecated. It is to be removed in CamiTK 4.0
+macro(component_extension)
+    message(WARNING "Deprecated macro component_extension detected : please use camitk_extension(COMPONENT_EXTENSION ...) instead.")
+    camitk_extension(COMPONENT_EXTENSION ${ARGN})
+endmacro()
+
+# TODO write a viewer_extension macro in CamiTK
diff --git a/sdk/libraries/core/CamiTKVersion.h b/sdk/libraries/core/CamiTKVersion.h
index e78b768..9e416d5 100644
--- a/sdk/libraries/core/CamiTKVersion.h
+++ b/sdk/libraries/core/CamiTKVersion.h
@@ -28,7 +28,7 @@
 
 namespace camitk
 {
-const char * Core::version = "CamiTK 4.0.3";
+const char * Core::version = "CamiTK 4.0.4";
 const char * Core::shortVersion = "camitk-4.0";
 const char * Core::soVersion = "4";
 const char * Core::debugPostfix = "-debug";
diff --git a/sdk/libraries/qtpropertybrowser/examples/demo/demo.pro.user b/sdk/libraries/qtpropertybrowser/examples/demo/demo.pro.user
new file mode 100644
index 0000000..757851c
--- /dev/null
+++ b/sdk/libraries/qtpropertybrowser/examples/demo/demo.pro.user
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 3.2.1, 2016-08-25T19:11:42. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{632d7568-ff09-4aea-a732-5551e010fb24}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">0</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+    <value type="QString" key="language">Cpp</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+    </valuemap>
+   </valuemap>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+    <value type="QString" key="language">QmlJS</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+    </valuemap>
+   </valuemap>
+   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+   <value type="int" key="EditorConfiguration.IndentSize">4</value>
+   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+   <value type="int" key="EditorConfiguration.TabSize">8</value>
+   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{d14dcc32-d952-4a4d-ae54-f5ddbc8017f0}</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/haberbuj/Atelier/testProp/debug</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/haberbuj/Atelier/testProp/release</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Compiler</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Nettoyer</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déploiement</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Déployer localement</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">demo</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/haberbuj/Atelier/CamiTK/src/sdk/libraries/qtpropertybrowser/examples/demo/demo.pro</value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">demo.pro</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">16</value>
+ </data>
+ <data>
+  <variable>Version</variable>
+  <value type="int">16</value>
+ </data>
+</qtcreator>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/camitk.git



More information about the debian-med-commit mailing list