From ed9357a5aafea7192932b5874264bd103fc61255 Mon Sep 17 00:00:00 2001 From: Francois Budin Date: Mon, 30 Apr 2018 14:25:11 -0400 Subject: [PATCH] Adding VTK as ITK feature and using vcpkg HDF5 --- ports/itk/CONTROL | 6 +++++- ports/itk/portfile.cmake | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/ports/itk/CONTROL b/ports/itk/CONTROL index f4b29af947..a2cc426e81 100644 --- a/ports/itk/CONTROL +++ b/ports/itk/CONTROL @@ -1,4 +1,8 @@ Source: itk Version: 4.13.0 Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis. -Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat +Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, hdf5[cpp] + +Feature: vtk +Description: Build ITKVtkGlue module. +Build-Depends: vtk diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index d37d5b150c..86dce452c4 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -8,9 +8,19 @@ vcpkg_from_github( HEAD_REF master ) +if ("vtk" IN_LIST FEATURES) + set(ITKVtkGlue ON ) +else() + set(ITKVtkGlue OFF ) +endif() + # directory path length needs to be shorter than 50 characters -file(RENAME ${SOURCE_PATH} ${CURRENT_BUILDTREES_DIR}/ITK) -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/ITK") +set(ITK_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/ITK) +if(EXISTS ${ITK_BUILD_DIR}) + file(REMOVE_RECURSE ${ITK_BUILD_DIR}) +endif() +file(RENAME ${SOURCE_PATH} ${ITK_BUILD_DIR}) +set(SOURCE_PATH "${ITK_BUILD_DIR}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -40,9 +50,9 @@ vcpkg_configure_cmake( #-DITK_PYTHON_VERSION=3 # HDF5 must NOT be installed, otherwise it causes: ...\installed\x64-windows-static\include\H5Tpkg.h(25): fatal error C1189: #error: "Do not include this file outside the H5T package!" - -DITK_USE_SYSTEM_HDF5=OFF # if ON, causes: ...\buildtrees\itk\x64-windows-static-rel\Modules\ThirdParty\HDF5\src\itk_H5Cpp.h(25): fatal error C1083: Cannot open include file: 'H5Cpp.h': No such file or directory + -DITK_USE_SYSTEM_HDF5=ON # if ON, causes: ...\buildtrees\itk\x64-windows-static-rel\Modules\ThirdParty\HDF5\src\itk_H5Cpp.h(25): fatal error C1083: Cannot open include file: 'H5Cpp.h': No such file or directory - # -DModule_ITKVtkGlue=ON # this option requires VTK to be a dependency in CONTROL file. VTK depends on HDF5! + -DModule_ITKVtkGlue=${ITKVtkGlue} # this option requires VTK to be a dependency in CONTROL file. VTK depends on HDF5! -DModule_IOSTL=ON # example how to turn on a non-default module -DModule_MorphologicalContourInterpolation=ON # example how to turn on a remote module -DModule_RLEImage=ON # example how to turn on a remote module