From db47a79bd96e441deb9296f36f24d3c46dbb2d59 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 9 May 2019 20:52:25 +0200 Subject: [PATCH] ITK: Do not move/rename src folder. (#6367) * removed src folder rename instead a warning is issued if the path is too long * Delete hdf5_config_mode_find_package.patch not used by portfile --- ports/itk/CONTROL | 2 +- ports/itk/hdf5_config_mode_find_package.patch | 68 ------------------- ports/itk/portfile.cmake | 15 ++-- 3 files changed, 8 insertions(+), 77 deletions(-) delete mode 100644 ports/itk/hdf5_config_mode_find_package.patch diff --git a/ports/itk/CONTROL b/ports/itk/CONTROL index 4685d12d1e..3feedf4964 100644 --- a/ports/itk/CONTROL +++ b/ports/itk/CONTROL @@ -1,5 +1,5 @@ Source: itk -Version: 4.13.0-906736bd-2 +Version: 4.13.0-906736bd-3 Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis. Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, eigen3, hdf5[cpp], openjpeg diff --git a/ports/itk/hdf5_config_mode_find_package.patch b/ports/itk/hdf5_config_mode_find_package.patch deleted file mode 100644 index f106d71518..0000000000 --- a/ports/itk/hdf5_config_mode_find_package.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/Modules/ThirdParty/HDF5/CMakeLists.txt b/Modules/ThirdParty/HDF5/CMakeLists.txt -index 6caa63b..f118c73 100644 ---- a/Modules/ThirdParty/HDF5/CMakeLists.txt -+++ b/Modules/ThirdParty/HDF5/CMakeLists.txt -@@ -1,7 +1,7 @@ - project(ITKHDF5) - set(ITKHDF5_THIRD_PARTY 1) - --if (BUILD_SHARED_LIBS) -+if (ITK_BUILD_SHARED_LIBS) - add_definitions(-DH5_BUILT_AS_DYNAMIC_LIB=1) - endif() - if(ITK_USE_SYSTEM_HDF5) -@@ -20,11 +20,10 @@ endif() - ") - endif() - -- set(ITKHDF5_LIBRARIES ) -- if(BUILD_SHARED_LIBS) -- list(APPEND ITKHDF5_LIBRARIES ${HDF5_C_SHARED_LIBRARY} ${HDF5_CXX_SHARED_LIBRARY}) -+ if(ITK_BUILD_SHARED_LIBS) -+ set(ITKHDF5_LIBRARIES hdf5::hdf5-shared hdf5::hdf5_cpp-shared) - else() -- list(APPEND ITKHDF5_LIBRARIES ${HDF5_C_STATIC_LIBRARY} ${HDF5_CXX_STATIC_LIBRARY}) -+ set(ITKHDF5_LIBRARIES hdf5::hdf5-static hdf5::hdf5_cpp-static) - endif() - - set(ITKHDF5_INCLUDE_DIRS -@@ -33,11 +32,6 @@ endif() - set(ITKHDF5_SYSTEM_INCLUDE_DIRS - ${HDF5_INCLUDE_DIR} - ${HDF5_INCLUDE_DIR_CPP} -- ${HDF5_INCLUDE_DIRS} -- ${HDF5_INCLUDE_DIR_CPP} -- ) -- list(APPEND ITKHDF5_LIBRARIES -- ${HDF5_LIBRARIES} - ) - set(ITKHDF5_NO_SRC 1) - else() -@@ -45,7 +39,7 @@ else() - ${ITKHDF5_SOURCE_DIR}/src - ${ITKHDF5_BINARY_DIR}/src - ) -- if(BUILD_SHARED_LIBS) -+ if(ITK_BUILD_SHARED_LIBS) - set(ITKHDF5_LIBRARIES hdf5_cpp-shared hdf5-shared) - else() - set(ITKHDF5_LIBRARIES hdf5_cpp-static hdf5-static) -diff --git a/Modules/ThirdParty/HDF5/itk-module-init.cmake b/Modules/ThirdParty/HDF5/itk-module-init.cmake -index a9207a8..e36c2d9 100644 ---- a/Modules/ThirdParty/HDF5/itk-module-init.cmake -+++ b/Modules/ThirdParty/HDF5/itk-module-init.cmake -@@ -2,12 +2,8 @@ option(ITK_USE_SYSTEM_HDF5 "Use an outside build of HDF5." ${ITK_USE_SYSTEM_LIBR - mark_as_advanced(ITK_USE_SYSTEM_HDF5) - if(ITK_USE_SYSTEM_HDF5) - if(BUILD_SHARED_LIBS) -- find_package(HDF5 QUIET NO_MODULE COMPONENTS CXX C shared) -+ find_package(HDF5 REQUIRED NO_MODULE COMPONENTS CXX C shared) - else() -- find_package(HDF5 QUIET NO_MODULE COMPONENTS CXX C static) -- endif() -- -- if(NOT HDF5_FOUND) -- find_package(HDF5 REQUIRED COMPONENTS CXX C) -+ find_package(HDF5 REQUIRED NO_MODULE COMPONENTS CXX C static) - endif() - endif() diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index 9307b142c4..e4f415a1a1 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -1,5 +1,12 @@ include(vcpkg_common_functions) +string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) +if(BUILDTREES_PATH_LENGTH GREATER 50 AND CMAKE_HOST_WIN32) + message(WARNING "ITKs buildsystem uses very long paths and may fail on your system.\n" + "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." + ) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO InsightSoftwareConsortium/ITK @@ -15,14 +22,6 @@ else() set(ITKVtkGlue OFF) endif() -# directory path length needs to be shorter than 50 characters -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} PREFER_NINJA