Difference between revisions of "Documentation/Nightly/Developers/Tutorials/MigrationGuide/SlicerExtension"
Line 13: | Line 13: | ||
===Slicer 4.9: Support EP_GIT_PROTOCOL and use of ExternalProject_SetIfNotDefined for setting GIT_REPOSITORY, GIT_TAG and alike=== | ===Slicer 4.9: Support EP_GIT_PROTOCOL and use of ExternalProject_SetIfNotDefined for setting GIT_REPOSITORY, GIT_TAG and alike=== | ||
− | Following [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=26957 r26957], extension may use the following convention to define <tt>GIT_REPOSITORY</tt> and <tt>< | + | Following [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=26957 r26957], extension may use the following convention to define <tt>GIT_REPOSITORY</tt> and <tt>GIT_TAG</tt>, this allows developer to override the value before the first configuration by setting the corresponding environment variable, or by explicitly configuring the project with that variable. |
+ | |||
+ | The option <tt>EP_GIT_PROTOCOL</tt> is also already set in <tt>ExternalProjectDependency</tt> module included by Slicer and its value is updated based on the <tt><SUPERBUILD_TOPLEVEL_PROJECT>_USE_GIT_PROTOCOL</tt> option. | ||
+ | |||
+ | <pre> | ||
+ | ExternalProject_SetIfNotDefined( | ||
+ | ${CMAKE_PROJECT_NAME}_${proj}_GIT_REPOSITORY | ||
+ | "${EP_GIT_PROTOCOL}://github.com/jcfr/shape4D.git" | ||
+ | QUIET | ||
+ | ) | ||
+ | |||
+ | ExternalProject_SetIfNotDefined( | ||
+ | ${CMAKE_PROJECT_NAME}_${proj}_GIT_TAG | ||
+ | "12fef84ca2a56feffc59d8159bdadd2ce4a4138e" # slicersalt-2018-01-22-c74c766a4c | ||
+ | QUIET | ||
+ | ) | ||
+ | </pre> |
Revision as of 19:01, 16 September 2018
Home < Documentation < Nightly < Developers < Tutorials < MigrationGuide < SlicerExtensionContents
Slicer Extension updates
Slicer 4.9: Explicit initialization of CMAKE_BUILD_TYPE not needed anymore
Following r26978, calling find_package(Slicer REQUIRED) and include(${Slicer_USE_FILE}) initializes CMAKE_BUILD_TYPE and ensures the variables CMAKE_BUILD_TYPE and CMAKE_CONFIGURATION_TYPES are passed to all external projects when configuring SuperBuild based extension.
The module SlicerInitializeBuildType is automatically included in UserSlicer.
Slicer 4.9: Subversion not required anymore
Following r27060, Subversion is not required anymore.
Slicer 4.9: Support EP_GIT_PROTOCOL and use of ExternalProject_SetIfNotDefined for setting GIT_REPOSITORY, GIT_TAG and alike
Following r26957, extension may use the following convention to define GIT_REPOSITORY and GIT_TAG, this allows developer to override the value before the first configuration by setting the corresponding environment variable, or by explicitly configuring the project with that variable.
The option EP_GIT_PROTOCOL is also already set in ExternalProjectDependency module included by Slicer and its value is updated based on the <SUPERBUILD_TOPLEVEL_PROJECT>_USE_GIT_PROTOCOL option.
ExternalProject_SetIfNotDefined( ${CMAKE_PROJECT_NAME}_${proj}_GIT_REPOSITORY "${EP_GIT_PROTOCOL}://github.com/jcfr/shape4D.git" QUIET ) ExternalProject_SetIfNotDefined( ${CMAKE_PROJECT_NAME}_${proj}_GIT_TAG "12fef84ca2a56feffc59d8159bdadd2ce4a4138e" # slicersalt-2018-01-22-c74c766a4c QUIET )