[med-svn] [Git][med-team/insighttoolkit][upstream] 2 commits: New upstream version 4.13.3-dfsg1
Étienne Mollier
gitlab at salsa.debian.org
Thu Aug 6 19:27:59 BST 2020
Étienne Mollier pushed to branch upstream at Debian Med / insighttoolkit
Commits:
9118db7e by Étienne Mollier at 2020-08-04T21:52:09+02:00
New upstream version 4.13.3-dfsg1
- - - - -
7c3eb773 by Étienne Mollier at 2020-08-04T21:54:19+02:00
Inline ITK data v4.13.3
- - - - -
17 changed files:
- .circleci/config.yml
- CMakeLists.txt
- Modules/Bridge/VtkGlue/CMakeLists.txt
- Modules/Core/Common/src/itkNumberToString.cxx
- Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.hxx
- Modules/Filtering/ImageGrid/include/itkSliceImageFilter.hxx
- Modules/IO/GDCM/src/itkGDCMImageIO.cxx
- Modules/ThirdParty/DCMTK/CMakeLists.txt
- Modules/ThirdParty/DoubleConversion/CMakeLists.txt
- Modules/ThirdParty/GDCM/UpdateFromUpstream.sh
- Modules/ThirdParty/VNL/src/vxl/CMakeLists.txt
- Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h
- Testing/ContinuousIntegration/AzurePipelinesLinux.yml
- Testing/ContinuousIntegration/AzurePipelinesMacOS.yml
- Testing/ContinuousIntegration/AzurePipelinesWindows.yml
- Wrapping/Generators/Doc/CMakeLists.txt
- Wrapping/Generators/SwigInterface/CMakeLists.txt
Changes:
=====================================
.circleci/config.yml
=====================================
@@ -1,10 +1,23 @@
+referenced:
+ generate-hash-step: &generate-hash-step
+ run:
+ name: Generate external data hash
+ command: |
+ cd ITK
+ find . -name \*.md5 -o -name \*.sha512 -print0 | xargs -0 git log -n 1 | tee /home/circleci/external-data.hashable
+ restore-data-step: &restore-data-step
+ restore_cache:
+ keys:
+ - 'v1-external-data-{{ checksum "/home/circleci/external-data.hashable" }}'
+ - 'v1-external-data'
+
version: 2
jobs:
build:
docker:
- - image: circleci/python:2.7
+ - image: circleci/python:2.7.16-stretch
working_directory: ~/
- resource_class: large
+ resource_class: medium
branches:
ignore:
- gh-pages
@@ -19,9 +32,8 @@ jobs:
steps:
- checkout:
path : ~/ITK
- - restore_cache:
- keys:
- - external-data
+ - *generate-hash-step
+ - *restore-data-step
- restore_cache:
keys:
- ccache-{{ arch }}-{{ .Branch }}
@@ -75,5 +87,5 @@ jobs:
key: 'ccache-{{ arch }}-{{ .Branch }}-{{ epoch }}'
paths: [ "/home/circleci/.ccache" ]
- save_cache:
- key: 'external-data'
+ key: 'v1-external-data-{{ checksum "/home/circleci/external-data.hashable" }}'
paths: [ "/home/circleci/.ExternalData" ]
=====================================
CMakeLists.txt
=====================================
@@ -4,6 +4,7 @@ foreach(p
CMP0025 # CMake 3.0
CMP0028
CMP0042 # CMake 3.0
+ CMP0045
CMP0048
CMP0054 # CMake 3.1
CMP0056 # CMake 3.2
@@ -23,7 +24,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMake ${CMAKE_MODULE_PATH})
# ITK version number components.
set(ITK_VERSION_MAJOR "4")
set(ITK_VERSION_MINOR "13")
-set(ITK_VERSION_PATCH "2")
+set(ITK_VERSION_PATCH "3")
set(ITK_VERSION
"${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}")
project(ITK
=====================================
Modules/Bridge/VtkGlue/CMakeLists.txt
=====================================
@@ -1,6 +1,23 @@
project(ITKVtkGlue)
set(ITKVtkGlue_LIBRARIES ITKVtkGlue)
+if(NOT COMMAND vtk_module_config)
+ macro(vtk_module_config ns)
+ foreach(arg ${ARGN})
+ if(${arg} MATCHES "^[Vv][Tt][Kk]")
+ string(REGEX REPLACE "^[Vv][Tt][Kk]" "" _arg ${arg})
+ else()
+ set(_arg ${arg})
+ endif()
+ set(${ns}_LIBRARIES ${${ns}_LIBRARIES} VTK::${_arg})
+ endforeach()
+ endmacro()
+
+ if(NOT VTK_RENDERING_BACKEND)
+ set(VTK_RENDERING_BACKEND OpenGL2)
+ endif()
+endif()
+
#
# Add the third party includes and libraries
#
@@ -18,7 +35,11 @@ if(NOT VTK_VERSION)
set(VTK_VERSION "${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}")
endif()
if(NOT VTK_RENDERING_BACKEND)
- set(VTK_RENDERING_BACKEND OpenGL)
+ if(NOT COMMAND vtk_module_config)
+ set(VTK_RENDERING_BACKEND OpenGL2)
+ else()
+ set(VTK_RENDERING_BACKEND OpenGL)
+ endif()
endif()
set(_target_freetypeopengl)
if(TARGET vtkRenderingFreeType${VTK_RENDERING_BACKEND})
@@ -68,11 +89,28 @@ set(VTK_DIR \"${VTK_DIR}\")
find_package(VTK NO_MODULE REQUIRED)
+ if(NOT COMMAND vtk_module_config)
+ macro(vtk_module_config ns)
+ foreach(arg \${ARGN})
+ if(\${arg} MATCHES \"^[Vv][Tt][Kk]\")
+ string(REGEX REPLACE \"^[Vv][Tt][Kk]\" \"\" _arg \${arg})
+ else()
+ set(_arg \${arg})
+ endif()
+ set(\${ns}_LIBRARIES \${\${ns}_LIBRARIES} VTK::\${_arg})
+ endforeach()
+ endmacro()
+ endif()
+
if(NOT VTK_VERSION)
set(VTK_VERSION \"${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}\")
endif()
if(NOT VTK_RENDERING_BACKEND)
- set(VTK_RENDERING_BACKEND OpenGL)
+ if(NOT COMMAND vtk_module_config)
+ set(VTK_RENDERING_BACKEND OpenGL2)
+ else()
+ set(VTK_RENDERING_BACKEND OpenGL)
+ endif()
endif()
set(_target_freetypeopengl)
if(TARGET vtkRenderingFreeType${VTK_RENDERING_BACKEND})
@@ -104,13 +142,30 @@ set(ITKVtkGlue_EXPORT_CODE_BUILD "
if(NOT ITK_BINARY_DIR)
set(VTK_DIR \"${VTK_DIR}\")
+ if(NOT COMMAND vtk_module_config)
+ macro(vtk_module_config ns)
+ foreach(arg \${ARGN})
+ if(\${arg} MATCHES \"^[Vv][Tt][Kk]\")
+ string(REGEX REPLACE \"^[Vv][Tt][Kk]\" \"\" _arg \${arg})
+ else()
+ set(_arg \${arg})
+ endif()
+ set(\${ns}_LIBRARIES \${\${ns}_LIBRARIES} VTK::\${_arg})
+ endforeach()
+ endmacro()
+ endif()
+
find_package(VTK NO_MODULE REQUIRED)
if(NOT VTK_VERSION)
set(VTK_VERSION \"${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}\")
endif()
if(NOT VTK_RENDERING_BACKEND)
- set(VTK_RENDERING_BACKEND OpenGL)
+ if(NOT COMMAND vtk_module_config)
+ set(VTK_RENDERING_BACKEND OpenGL2)
+ else()
+ set(VTK_RENDERING_BACKEND OpenGL)
+ endif()
endif()
if(TARGET vtkRenderingFreeType${VTK_RENDERING_BACKEND})
set(_target_freetypeopengl vtkRenderingFreeType${VTK_RENDERING_BACKEND})
=====================================
Modules/Core/Common/src/itkNumberToString.cxx
=====================================
@@ -17,7 +17,7 @@
*=========================================================================*/
#include "itkNumberToString.h"
#include "itkNumericTraits.h"
-#include "double-conversion.h"
+#include "double-conversion/double-conversion.h"
#include <sstream>
=====================================
Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.hxx
=====================================
@@ -348,8 +348,7 @@ BSplineScatteredDataPointSetToImageFilter<TInputPointSet, TOutputImage>
this->m_OutputPointData->Begin();
while( ItIn != this->m_InputPointData->End() )
{
- this->m_InputPointData->InsertElement(
- ItIn.Index(), ItIn.Value() - ItOut.Value() );
+ this->m_InputPointData->CastToSTLContainer()[ItIn.Index()] = ItIn.Value() - ItOut.Value();
if( this->GetDebug() )
{
@@ -1101,6 +1100,7 @@ BSplineScatteredDataPointSetToImageFilter<TInputPointSet, TOutputImage>
typename PointDataImageType::IndexType startPhiIndex =
this->m_PhiLattice->GetLargestPossibleRegion().GetIndex();
+ this->m_OutputPointData->CastToSTLContainer().resize(this->m_InputPointData->Size());
typename PointDataContainerType::ConstIterator ItIn =
this->m_InputPointData->Begin();
while( ItIn != this->m_InputPointData->End() )
@@ -1146,8 +1146,7 @@ BSplineScatteredDataPointSetToImageFilter<TInputPointSet, TOutputImage>
break;
}
}
- this->m_OutputPointData->InsertElement( ItIn.Index(),
- collapsedPhiLattices[0]->GetPixel( startPhiIndex ) );
+ this->m_OutputPointData->CastToSTLContainer()[ItIn.Index()] = collapsedPhiLattices[0]->GetPixel(startPhiIndex);
++ItIn;
}
}
=====================================
Modules/Filtering/ImageGrid/include/itkSliceImageFilter.hxx
=====================================
@@ -284,7 +284,8 @@ SliceImageFilter< TInputImage, TOutputImage >
if ( (m_Step[i] > 0 && stop > start) ||
( m_Step[i] < 0 && stop < start ) )
{
- outputSize[i] = (stop-start)/m_Step[i];
+ outputSize[i] = (stop-start-Math::sgn(m_Step[i]))/m_Step[i];
+ outputSize[i] += 1u;
}
else
{
=====================================
Modules/IO/GDCM/src/itkGDCMImageIO.cxx
=====================================
@@ -1241,7 +1241,9 @@ void GDCMImageIO::GetPatientName(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0010|0010", m_PatientName);
- strcpy ( name, m_PatientName.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_PatientName.c_str(), len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetPatientID(char *name)
@@ -1249,7 +1251,9 @@ void GDCMImageIO::GetPatientID(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0010|0020", m_PatientID);
- strcpy ( name, m_PatientID.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_PatientID.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetPatientSex(char *name)
@@ -1257,7 +1261,9 @@ void GDCMImageIO::GetPatientSex(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0010|0040", m_PatientSex);
- strcpy ( name, m_PatientSex.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_PatientSex.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetPatientAge(char *name)
@@ -1265,7 +1271,9 @@ void GDCMImageIO::GetPatientAge(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0010|1010", m_PatientAge);
- strcpy ( name, m_PatientAge.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_PatientAge.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetStudyID(char *name)
@@ -1273,7 +1281,9 @@ void GDCMImageIO::GetStudyID(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0020|0010", m_StudyID);
- strcpy ( name, m_StudyID.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_StudyID.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetPatientDOB(char *name)
@@ -1281,7 +1291,9 @@ void GDCMImageIO::GetPatientDOB(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0010|0030", m_PatientDOB);
- strcpy ( name, m_PatientDOB.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_PatientDOB.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetStudyDescription(char *name)
@@ -1289,7 +1301,9 @@ void GDCMImageIO::GetStudyDescription(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0008|1030", m_StudyDescription);
- strcpy ( name, m_StudyDescription.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_StudyDescription.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetBodyPart(char *name)
@@ -1297,7 +1311,9 @@ void GDCMImageIO::GetBodyPart(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0018|0015", m_BodyPart);
- strcpy ( name, m_BodyPart.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_BodyPart.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetNumberOfSeriesInStudy(char *name)
@@ -1305,7 +1321,9 @@ void GDCMImageIO::GetNumberOfSeriesInStudy(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0020|1000", m_NumberOfSeriesInStudy);
- strcpy ( name, m_NumberOfSeriesInStudy.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_NumberOfSeriesInStudy.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetNumberOfStudyRelatedSeries(char *name)
@@ -1313,7 +1331,9 @@ void GDCMImageIO::GetNumberOfStudyRelatedSeries(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0020|1206", m_NumberOfStudyRelatedSeries);
- strcpy ( name, m_NumberOfStudyRelatedSeries.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_NumberOfStudyRelatedSeries.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetStudyDate(char *name)
@@ -1321,7 +1341,9 @@ void GDCMImageIO::GetStudyDate(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0008|0020", m_StudyDate);
- strcpy ( name, m_StudyDate.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_StudyDate.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetModality(char *name)
@@ -1329,7 +1351,9 @@ void GDCMImageIO::GetModality(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0008|0060", m_Modality);
- strcpy ( name, m_Modality.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_Modality.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetManufacturer(char *name)
@@ -1337,7 +1361,9 @@ void GDCMImageIO::GetManufacturer(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0008|0070", m_Manufacturer);
- strcpy ( name, m_Manufacturer.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_Manufacturer.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetInstitution(char *name)
@@ -1345,7 +1371,9 @@ void GDCMImageIO::GetInstitution(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0008|0080", m_Institution);
- strcpy ( name, m_Institution.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_Institution.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetModel(char *name)
@@ -1353,7 +1381,9 @@ void GDCMImageIO::GetModel(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0008|1090", m_Model);
- strcpy ( name, m_Model.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_Model.c_str() , len-1);
+ name[len-1] = '0';
}
void GDCMImageIO::GetScanOptions(char *name)
@@ -1361,7 +1391,9 @@ void GDCMImageIO::GetScanOptions(char *name)
MetaDataDictionary & dict = this->GetMetaDataDictionary();
ExposeMetaData< std::string >(dict, "0018|0022", m_ScanOptions);
- strcpy ( name, m_ScanOptions.c_str() );
+ const size_t len = 512;
+ strncpy ( name, m_ScanOptions.c_str() , len-1);
+ name[len-1] = '0';
}
#endif
=====================================
Modules/ThirdParty/DCMTK/CMakeLists.txt
=====================================
@@ -52,12 +52,12 @@ if(DCMTK_USE_ICU)
endforeach()
define_by_product(NAME icu TARGETS ${ICU_BYPRODUCTS})
if(MSVC)
- # Create map of MD5
- set(ICU_1800_32 462079 39c597cf28f2df71baf92156d9276a4e)
- set(ICU_1800_64 462080 9f9bc9e165ce47182889a748c20028c3)
- set(ICU_1900_32 462049 86f191c160ff86e66437c23ae36c50f8)
- set(ICU_1900_64 462053 3db188b9ba24ca39a0c5d1411b591d4d)
- set(ICU_1911_32 462051 e4053721d7d11125d82df34e0a576c2a)
+ # Create map of SHA512/MD5 hashes
+ set(ICU_1800_32 9b134c1fe8f5fcc3afe34f6a72d4c9fded776dfd33d7073861c2de32c40d4bda15ca9eb32613c262b13b479bf88bdd34658cee5505a1d9b7e3779104fd9440d3 39c597cf28f2df71baf92156d9276a4e)
+ set(ICU_1800_64 023c9f1dc2469058aa4c0933d82cfdab37fc803dc86f8b936f2001f0b600ba02f8c42b695398d3ed88def6feec6b5e01561d86377a3fc582788bc35c4f9d912b 9f9bc9e165ce47182889a748c20028c3)
+ set(ICU_1900_32 75cc1bb4ab6fce2df77cacb80e86be6e45d1a3bc0a7f96d5fd7193b0ddd67a2094d97626a2c59888b4374efdba7381ed3598333237b25b8bcce4777ba76731d7 86f191c160ff86e66437c23ae36c50f8)
+ set(ICU_1900_64 2b200cb120c32ead26ce94aea1d531754f3c530fcb2cd26f9bf3b576c040009fdf2504376b843257a70223c8d8331359540e2ac6587004eaf9e5f7941bcf22b8 3db188b9ba24ca39a0c5d1411b591d4d)
+ set(ICU_1911_32 b69569454639452c6636bc19d5e75ded119cf9a6f1f3fa8344662b481fdf7574d5ded54e7f36c69b3c752b4a1c3ea21597ae569376a888f030e6ee8d64268d0e e4053721d7d11125d82df34e0a576c2a)
set(ICU_1911_64 462048 1706884a6fb773caad3f3955747cf7db)
###
# Use a compatible MSVC_VERSION version if specific version is not available.
@@ -81,8 +81,8 @@ if(DCMTK_USE_ICU)
"Unsupported version of Visual Studio. Disable DCMTK_USE_ICU."
)
endif()
- list(GET ICU_${ICU_MSVC_VERSION}_${bitness} 0 item_id)
- set(ICU_URL "https://midas3.kitware.com/midas/download/bitstream/${item_id}")
+ list(GET ICU_${ICU_MSVC_VERSION}_${bitness} 0 item_hash)
+ set(ICU_URL "https://data.kitware.com/api/v1/file/hashsum/sha512/${item_hash}/download")
list(GET ICU_${ICU_MSVC_VERSION}${bitness} 1 ICU_MD5)
else()
set(ICU_URL "http://download.icu-project.org/files/icu4c/58.2/icu4c-58_2-src.tgz")
=====================================
Modules/ThirdParty/DoubleConversion/CMakeLists.txt
=====================================
@@ -7,22 +7,12 @@ option(ITK_USE_SYSTEM_DOUBLECONVERSION
mark_as_advanced(ITK_USE_SYSTEM_DOUBLECONVERSION)
if(ITK_USE_SYSTEM_DOUBLECONVERSION)
- find_library(double-conversion_LIBRARIES double-conversion)
- find_path(double-conversion_INCLUDE_DIRS double-conversion.h
- PATH_SUFFIXES double-conversion
- )
-
- if (double-conversion_LIBRARIES AND double-conversion_INCLUDE_DIRS)
- set(ITKDoubleConversion_SYSTEM_INCLUDE_DIRS
- ${double-conversion_INCLUDE_DIRS})
- set(ITKDoubleConversion_LIBRARIES
- "${double-conversion_LIBRARIES}")
- else()
- message(ERROR "double-conversion system library not found")
- endif()
+ find_package(double-conversion REQUIRED)
+ get_target_property(ITKDoubleConversion_INCLUDE_DIRS double-conversion::double-conversion INTERFACE_INCLUDE_DIRECTORIES)
+ get_target_property(ITKDoubleConversion_LIBRARIES double-conversion::double-conversion LOCATION)
else()
set(ITKDoubleConversion_INCLUDE_DIRS
- ${ITKDoubleConversion_SOURCE_DIR}/src/double-conversion
+ ${ITKDoubleConversion_SOURCE_DIR}/src
${ITKDoubleConversion_BINARY_DIR}/src/double-conversion)
set(ITKDoubleConversion_LIBRARIES itkdouble-conversion)
endif()
=====================================
Modules/ThirdParty/GDCM/UpdateFromUpstream.sh
=====================================
@@ -8,7 +8,7 @@ readonly name="GDCM"
readonly ownership="GDCM Upstream <gdcm-developers at lists.sourceforge.net>"
readonly subtree="Modules/ThirdParty/GDCM/src/gdcm"
readonly repo="http://git.code.sf.net/p/gdcm/gdcm.git"
-readonly tag="release"
+readonly tag="release-2-8"
readonly shortlog=false
readonly paths="
CMake/UseCopyright.cmake
=====================================
Modules/ThirdParty/VNL/src/vxl/CMakeLists.txt
=====================================
@@ -117,7 +117,11 @@ set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${VXL_EXTRA_CMAKE_EXE_
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${VXL_EXTRA_CMAKE_MODULE_LINKER_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${VXL_EXTRA_CMAKE_SHARED_LINKER_FLAGS}" )
-
+if(MSVC_VERSION GREATER_EQUAL 1920)
+# Force synchronous writes of .pdb files for building VXL on MSVC 1920-1929
+# https://docs.microsoft.com/en-us/cpp/build/reference/fs-force-synchronous-pdb-writes?view=vs-201
+ add_compile_options( "/FS" )
+endif()
#-------------------------------------------------------------------
#-- BUILD CONFIG OPTIONS
=====================================
Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h
=====================================
@@ -97,6 +97,28 @@
# else
# define VCL_GCC_80
# endif
+# elif (__GNUC__==9)
+# define VCL_GCC_9
+# if (__GNUC_MINOR__ > 2 )
+# define VCL_GCC_93
+# elif (__GNUC_MINOR__ > 1 )
+# define VCL_GCC_92
+# elif (__GNUC_MINOR__ > 0 )
+# define VCL_GCC_91
+# else
+# define VCL_GCC_90
+# endif
+# elif (__GNUC__==10)
+# define VCL_GCC_10
+# if (__GNUC_MINOR__ > 2 )
+# define VCL_GCC_103
+# elif (__GNUC_MINOR__ > 1 )
+# define VCL_GCC_102
+# elif (__GNUC_MINOR__ > 0 )
+# define VCL_GCC_101
+# else
+# define VCL_GCC_100
+# endif
# else
# error "Dunno about this gcc"
# endif
=====================================
Testing/ContinuousIntegration/AzurePipelinesLinux.yml
=====================================
@@ -1,10 +1,12 @@
+name: ITK.Linux
+
trigger:
branches:
include:
- master
- release*
variables:
- ExternalDataVersion: 4.13.1
+ ExternalDataVersion: 4.13.2
jobs:
- job: Linux
timeoutInMinutes: 0
@@ -20,41 +22,61 @@ jobs:
if [ -n "$(System.PullRequest.SourceCommitId)" ]; then
git checkout $(System.PullRequest.SourceCommitId)
fi
- displayName: Checkout pull request HEAD
-
- - task: UsePythonVersion at 0
- inputs:
- versionSpec: '3.7'
+ displayName: 'Checkout pull request HEAD'
- bash: |
set -x
-
sudo pip3 install ninja
sudo apt-get update
sudo apt-get install -y python3-venv
+ sudo python3 -m pip install --upgrade setuptools
+ sudo python3 -m pip install scikit-ci-addons
+ displayName: 'Install dependencies'
- displayName: Install dependencies
- bash: |
set -x
-
git clone -b dashboard --single-branch https://github.com/InsightSoftwareConsortium/ITK.git ITK-dashboard
curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
-
- displayName: Download dashboard script and testing data
workingDirectory: $(Agent.BuildDirectory)
+ displayName: 'Download dashboard script and testing data'
+
+ - bash: |
+ cat > dashboard.cmake << EOF
+ set(CTEST_BUILD_CONFIGURATION "MinSizeRel")
+ set(CTEST_CMAKE_GENERATOR "Ninja")
+ set(dashboard_cache "
+ BUILD_SHARED_LIBS:BOOL=OFF
+ BUILD_EXAMPLES:BOOL=OFF
+ ITK_WRAP_PYTHON:BOOL=OFF
+ ")
+ include(\$ENV{AGENT_BUILDDIRECTORY}/ITK-dashboard/azure_dashboard.cmake)
+ EOF
+ cat dashboard.cmake
+ workingDirectory: $(Agent.BuildDirectory)/ITK-dashboard
+ displayName: 'Configure CTest script'
+
- bash: |
set -x
c++ --version
cmake --version
- export BUILD_EXAMPLES=OFF
- export CTEST_BUILD_CONFIGURATION=MinSizeRel
- export CTEST_OUTPUT_ON_FAILURE=1
+ ctest -S $(Agent.BuildDirectory)/ITK-dashboard/dashboard.cmake -VV -j 4
+ displayName: 'Build and test'
+ env:
+ CTEST_OUTPUT_ON_FAILURE: 1
- ctest -S ITK-dashboard/azure_dashboard.cmake -V -j 4
- displayName: Build and test
- workingDirectory: $(Agent.BuildDirectory)
+ - script: |
+ ci_addons ctest_junit_formatter $(Build.SourcesDirectory)-build > $(Agent.BuildDirectory)/JUnitTestResults.xml
+ condition: succeededOrFailed()
+ displayName: 'Format CTest output in JUnit format'
+
+ - task: PublishTestResults at 2
+ inputs:
+ testResultsFiles: "$(Agent.BuildDirectory)/JUnitTestResults.xml"
+ testRunTitle: 'CTest $(Agent.OS)'
+ condition: succeededOrFailed()
+ displayName: 'Publish test results'
=====================================
Testing/ContinuousIntegration/AzurePipelinesMacOS.yml
=====================================
@@ -1,10 +1,12 @@
+name: ITK.macOS
+
trigger:
branches:
include:
- master
- release*
variables:
- ExternalDataVersion: 4.13.1
+ ExternalDataVersion: 4.13.2
jobs:
- job: macOS
timeoutInMinutes: 0
@@ -22,38 +24,57 @@ jobs:
fi
displayName: Checkout pull request HEAD
- - task: UsePythonVersion at 0
- inputs:
- versionSpec: '3.7'
-
- bash: |
set -x
-
- sudo pip3 install ninja
-
+ sudo python3 -m pip install ninja
+ sudo python3 -m pip install --upgrade setuptools
+ sudo python3 -m pip install scikit-ci-addons
displayName: Install dependencies
+
- bash: |
set -x
-
git clone -b dashboard --single-branch https://github.com/InsightSoftwareConsortium/ITK.git ITK-dashboard
curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
-
- displayName: Download dashboard script and testing data
workingDirectory: $(Agent.BuildDirectory)
- - script: |
+ displayName: 'Download dashboard script and testing data'
+
+ - bash: |
+ cat > dashboard.cmake << EOF
+ set(CTEST_BUILD_CONFIGURATION "Release")
+ set(CTEST_CMAKE_GENERATOR "Ninja")
+ set(dashboard_cache "
+ BUILD_SHARED_LIBS:BOOL=ON
+ BUILD_EXAMPLES:BOOL=ON
+ ITK_WRAP_PYTHON:BOOL=OFF
+ ")
+ include(\$ENV{AGENT_BUILDDIRECTORY}/ITK-dashboard/azure_dashboard.cmake)
+ EOF
+ cat dashboard.cmake
+ workingDirectory: $(Agent.BuildDirectory)/ITK-dashboard
+ displayName: 'Configure CTest script'
+
+ - bash: |
set -x
- xcode-select -p
- sudo xcode-select -s /Applications/Xcode_9.4.1.app/Contents/Developer/
- xcode-select -p
+
c++ --version
cmake --version
- export BUILD_SHARED_LIBS=ON
- export CTEST_OUTPUT_ON_FAILURE=1
+ ctest -S $(Agent.BuildDirectory)/ITK-dashboard/dashboard.cmake -VV -j 4
+ displayName: 'Build and test'
+ env:
+ CTEST_OUTPUT_ON_FAILURE: 1
- ctest -S ITK-dashboard/azure_dashboard.cmake -V -j 4
- displayName: Build and test
- workingDirectory: $(Agent.BuildDirectory)
+ - script: |
+ ci_addons ctest_junit_formatter $(Build.SourcesDirectory)-build > $(Agent.BuildDirectory)/JUnitTestResults.xml
+ condition: succeededOrFailed()
+ displayName: 'Format CTest output in JUnit format'
+
+ - task: PublishTestResults at 2
+ inputs:
+ testResultsFiles: "$(Agent.BuildDirectory)/JUnitTestResults.xml"
+ testRunTitle: 'CTest $(Agent.OS)'
+ condition: succeededOrFailed()
+ displayName: 'Publish test results'
=====================================
Testing/ContinuousIntegration/AzurePipelinesWindows.yml
=====================================
@@ -1,10 +1,12 @@
+name: ITK.Windows
+
trigger:
branches:
include:
- master
- release*
variables:
- ExternalDataVersion: 4.13.1
+ ExternalDataVersion: 4.13.2
jobs:
- job: Windows
timeoutInMinutes: 0
@@ -15,39 +17,59 @@ jobs:
- checkout: self
clean: true
fetchDepth: 5
+
- script: |
if DEFINED SYSTEM_PULLREQUEST_SOURCECOMMITID git checkout $(System.PullRequest.SourceCommitId)
displayName: Checkout pull request HEAD
- - task: UsePythonVersion at 0
- inputs:
- versionSpec: '3.7'
-
- script: |
-
pip3 install ninja
+ pip3 install --upgrade setuptools
+ pip3 install scikit-ci-addons
+ displayName: 'Install dependencies'
- displayName: Install dependencies
- script: |
git clone -b dashboard --single-branch https://github.com/InsightSoftwareConsortium/ITK.git ITK-dashboard
curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v$(ExternalDataVersion)/InsightData-$(ExternalDataVersion).tar.gz -O
cmake -E tar xfz InsightData-$(ExternalDataVersion).tar.gz
cmake -E rename InsightToolkit-$(ExternalDataVersion)/.ExternalData/MD5 $(Build.SourcesDirectory)/.ExternalData/MD5
-
- displayName: Download dashboard script and testing data
workingDirectory: $(Agent.BuildDirectory)
+ displayName: 'Download dashboard script and testing data'
+
+ - bash: |
+ cat > dashboard.cmake << EOF
+ set(CTEST_BUILD_CONFIGURATION "MinSizeRel")
+ set(CTEST_CMAKE_GENERATOR "Ninja")
+ set(ENV{CC} cl.exe)
+ set(ENV{CXX} cl.exe)
+ set(dashboard_cache "
+ BUILD_SHARED_LIBS:BOOL=ON
+ BUILD_EXAMPLES:BOOL=OFF
+ ITK_WRAP_PYTHON:BOOL=OFF
+ ")
+ include(\$ENV{AGENT_BUILDDIRECTORY}/ITK-dashboard/azure_dashboard.cmake)
+ EOF
+ cat dashboard.cmake
+ workingDirectory: $(Agent.BuildDirectory)/ITK-dashboard
+ displayName: 'Configure CTest script'
+
- script: |
cmake --version
-
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
- set BUILD_SHARED_LIBS=ON
- set BUILD_EXAMPLES=OFF
- set CTEST_BUILD_CONFIGURATION=MinSizeRel
- set CC=cl.exe
- set CXX=cl.exe
- set CTEST_OUTPUT_ON_FAILURE=1
-
- ctest -S ITK-dashboard/azure_dashboard.cmake -V -j 4
- displayName: Build and test
- workingDirectory: $(Agent.BuildDirectory)
+ ctest -S $(Agent.BuildDirectory)/ITK-dashboard/dashboard.cmake -VV -j 4
+ displayName: 'Build and test'
+ env:
+ CTEST_OUTPUT_ON_FAILURE: 1
+
+ - script: |
+ ci_addons ctest_junit_formatter $(Build.SourcesDirectory)-build > $(Agent.BuildDirectory)/JUnitTestResults.xml
+ condition: succeededOrFailed()
+ displayName: 'Format CTest output in JUnit format'
+
+ - task: PublishTestResults at 2
+ inputs:
+ testResultsFiles: "$(Agent.BuildDirectory)/JUnitTestResults.xml"
+ testRunTitle: 'CTest $(Agent.OS)'
+ condition: succeededOrFailed()
+ displayName: 'Publish test results'
=====================================
Wrapping/Generators/Doc/CMakeLists.txt
=====================================
@@ -78,16 +78,12 @@ macro(itk_end_wrap_module_DOC)
set(outputs ${ITK_WRAP_DOC_DOXYGEN_XML_FILES})
# run doxygen
- add_custom_command(
- OUTPUT ${outputs} "${library_doc_build_dir}/xml/combine.xslt" # this file is always produced and avoid an error if ${outputs} is empty
+ add_custom_target(${WRAPPER_LIBRARY_NAME}Doxygen ALL
COMMAND "${DOXYGEN_EXECUTABLE}" "${library_doxygen_config_file}"
-# WORKING_DIRECTORY ${ITK_WRAP_DOC_BINARY_DIR}
+ #BYPRODUCTS ${outputs} "${library_doc_build_dir}/xml/combine.xslt"
DEPENDS ${ITK_WRAP_DOC_DOXYGEN_HEADERS} "${library_doxygen_config_file}"
COMMENT "-- Wrapping library ${WRAPPER_LIBRARY_NAME}: Constructing documentation xml structure."
)
-
- add_custom_target(${WRAPPER_LIBRARY_NAME}Doxygen ALL DEPENDS ${outputs} ${ITK_WRAP_DOC_DOCSTRING_FILES})
-
endmacro()
macro(itk_wrap_submodule_DOC module)
@@ -108,10 +104,11 @@ macro(itk_end_wrap_submodule_DOC)
set(itk_doxy2swig_py "${ITK_WRAP_DOC_SOURCE_DIR}/itk_doxy2swig.py")
set(swig_doc_interface_file ${WRAPPER_MASTER_INDEX_OUTPUT_DIR}/${WRAPPER_MODULE_NAME}_doc.i)
add_custom_command(
- OUTPUT ${swig_doc_interface_file}
- COMMAND ${PYTHON_EXECUTABLE} ${itk_doxy2swig_py} ${doxy2swig_config_file} ${swig_doc_interface_file}
- DEPENDS ${ITK_WRAP_DOC_DOXYGEN_XML_FILES} ${doxy2swig_config_file} ${itk_doxy2swig_py}
-# COMMENT "-- Wrapping library ${WRAPPER_MODULE_NAME}: Generating swig interface for inline documentation."
+ OUTPUT ${swig_doc_interface_file}
+ COMMAND ${PYTHON_EXECUTABLE} ${itk_doxy2swig_py} ${doxy2swig_config_file} ${swig_doc_interface_file}
+ #DEPENDS ${ITK_WRAP_DOC_DOXYGEN_XML_FILES} ${doxy2swig_config_file} ${itk_doxy2swig_py}
+ DEPENDS ${WRAPPER_LIBRARY_NAME}Doxygen ${doxy2swig_config_file} ${itk_doxy2swig_py}
+ # COMMENT "-- Wrapping library ${WRAPPER_MODULE_NAME}: Generating swig interface for inline documentation."
)
list(APPEND ITK_WRAP_DOC_DOCSTRING_FILES ${swig_doc_interface_file})
endmacro()
=====================================
Wrapping/Generators/SwigInterface/CMakeLists.txt
=====================================
@@ -360,7 +360,7 @@ macro(itk_end_wrap_module_swig_interface)
--interface-output-dir "${WRAPPER_MASTER_INDEX_OUTPUT_DIR}"
--library-output-dir "${WRAPPER_LIBRARY_OUTPUT_DIR}"
--submodule-order "${WRAPPER_SUBMODULE_ORDER}"
- DEPENDS ${xml_files} ${IGENERATOR} ${typedef_in_files}
+ DEPENDS ${ITK_WRAP_DOC_DOCSTRING_FILES} ${xml_files} ${IGENERATOR} ${typedef_in_files}
VERBATIM
)
endif()
View it on GitLab: https://salsa.debian.org/med-team/insighttoolkit/-/compare/a82926d1db41a3f007cf57fbc2d6dc097e162ed3...7c3eb773ef1a698af32360ecd020bab997aed584
--
View it on GitLab: https://salsa.debian.org/med-team/insighttoolkit/-/compare/a82926d1db41a3f007cf57fbc2d6dc097e162ed3...7c3eb773ef1a698af32360ecd020bab997aed584
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20200806/f11062d1/attachment-0001.html>
More information about the debian-med-commit
mailing list