Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 0 additions & 22 deletions packages/i/itk/patch/linux.patch

This file was deleted.

45 changes: 45 additions & 0 deletions packages/i/itk/patches/hdf5.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
diff --git a/Modules/ThirdParty/HDF5/CMakeLists.txt b/Modules/ThirdParty/HDF5/CMakeLists.txt
index dcaa2fa..cc4d6ea 100644
--- a/Modules/ThirdParty/HDF5/CMakeLists.txt
+++ b/Modules/ThirdParty/HDF5/CMakeLists.txt
@@ -39,7 +39,6 @@ if(NOT ITK_BINARY_DIR)
endif()
")

- if(BUILD_SHARED_LIBS)
if (TARGET hdf5-shared)
set(ITKHDF5_LIBRARIES hdf5_cpp-shared hdf5-shared hdf5_hl-shared)
elseif(TARGET hdf5::hdf5-shared)
@@ -49,7 +48,6 @@ endif()
else()
set(ITKHDF5_LIBRARIES ${HDF5_C_SHARED_LIBRARY} ${HDF5_CXX_SHARED_LIBRARY} ${HDF5_CXX_LIBRARY_NAMES} ${HDF5_HL_SHARED_LIBRARY} ${HDF5_LIBRARIES})
endif()
- else()
if (TARGET hdf5-static)
set(ITKHDF5_LIBRARIES hdf5_cpp-static hdf5-static hdf5_hl-static)
elseif(TARGET hdf5::hdf5-static)
@@ -59,7 +57,6 @@ endif()
else()
set(ITKHDF5_LIBRARIES ${HDF5_C_STATIC_LIBRARY} ${HDF5_CXX_STATIC_LIBRARY} ${HDF5_CXX_LIBRARY_NAMES} ${HDF5_HL_STATIC_LIBRARY} ${HDF5_LIBRARIES})
endif()
- endif()

set(ITKHDF5_INCLUDE_DIRS
${ITKHDF5_BINARY_DIR}/src # itk_hdf5.h and itk_H5Cpp.h
diff --git a/Modules/ThirdParty/HDF5/itk-module-init.cmake b/Modules/ThirdParty/HDF5/itk-module-init.cmake
index 93604eb..74cc73c 100644
--- a/Modules/ThirdParty/HDF5/itk-module-init.cmake
+++ b/Modules/ThirdParty/HDF5/itk-module-init.cmake
@@ -3,11 +3,7 @@ mark_as_advanced(ITK_USE_SYSTEM_HDF5)

if(ITK_USE_SYSTEM_HDF5)
set(HDF5_NO_MODULE 1)
- if(ITK_BUILD_SHARED_LIBS)
- find_package(HDF5 QUIET NO_MODULE COMPONENTS CXX C HL shared)
- else()
- find_package(HDF5 QUIET NO_MODULE COMPONENTS CXX C HL static)
- endif()
+ find_package(HDF5 CONFIG REQUIRED)

if(NOT HDF5_FOUND)
find_package(HDF5 REQUIRED COMPONENTS CXX C HL)
49 changes: 35 additions & 14 deletions packages/i/itk/xmake.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
package("itk")

set_homepage("https://itk.org/")
set_description("ITK is an open-source, cross-platform library that provides developers with an extensive suite of software tools for image analysis.")
set_license("Apache-2.0")
Expand All @@ -9,51 +8,73 @@ package("itk")
add_versions("5.2.1", "192d41bcdd258273d88069094f98c61c38693553fd751b54f8cda308439555db")
add_versions("5.4.4", "d2092cd018a7b9d88e8c3dda04acb7f9345ab50619b79800688c7bc3afcca82a")

add_deps("cmake", "eigen")
add_patches(">5.0", "patches/hdf5.patch", "47594e3f5885a11dc214768d6fd6e54c014e1f335d24c7209a837a43f4a22631")

add_configs("opencv", {description = "Build ITKVideoBridgeOpenCV module.", default = false, type = "boolean"})
add_configs("vtk", {description = "Build ITKVtkGlue module.", default = false, type = "boolean"})

add_deps("cmake", "double-conversion", "eigen", "expat", "gdcm", "libjpeg", "libminc", "libpng", "libtiff", "vxl", "zlib")
add_deps("hdf5", {configs = {cpplib = true}})
if is_plat("windows") then
add_syslinks("shell32", "advapi32")
elseif is_plat("linux") then
add_extsources("apt::libinsighttoolkit5-dev", "pacman::itk")
add_patches("5.4.4", "patch/linux.patch", "e3971fb669bc20135310d912dd7272ce038a4745f35e21dec6e1e676a5045b94")
add_syslinks("dl", "pthread")
elseif is_plat("bsd") then
add_syslinks("execinfo")
elseif is_plat("macosx") then
add_extsources("brew::itk")
elseif is_plat("mingw") and is_subhost("msys") then
add_extsources("pacman::itk")
end

on_load("windows", "linux", "macosx", function (package)
on_load(function (package)
local ver = package:version():major() .. "." .. package:version():minor()
package:add("includedirs", "include/ITK-" .. ver)
local libs = {"ITKWatersheds", "ITKVideoIO", "ITKVideoCore", "ITKVTK", "ITKTestKernel", "ITKRegistrationMethodsv4", "ITKRegionGrowing", "ITKQuadEdgeMeshFiltering", "ITKOptimizersv4", "ITKMarkovRandomFieldsClassifiers", "itklbfgs", "ITKKLMRegionGrowing", "ITKIOVTK", "ITKIOTransformMatlab", "ITKIOTransformInsightLegacy", "ITKIOTransformHDF5", "ITKIOTransformBase", "ITKTransformFactory", "ITKIOStimulate", "ITKIOSpatialObjects", "ITKIOXML", "ITKIOSiemens", "ITKIOPNG", "itkpng", "ITKIONRRD", "ITKNrrdIO", "ITKIONIFTI", "ITKIOMeta", "ITKIOMeshVTK", "ITKIOMeshOFF", "ITKIOMeshOBJ", "ITKIOMeshGifti", "ITKIOMeshFreeSurfer", "ITKIOMeshBYU", "ITKIOMeshBase", "ITKIOMRC", "ITKIOMINC", "itkminc2", "ITKIOLSM", "ITKIOTIFF", "itktiff", "ITKIOJPEG2000", "itkopenjpeg", "ITKIOJPEG", "itkjpeg", "ITKIOHDF5", "ITKIOGIPL", "ITKIOGE", "ITKIOIPL", "ITKIOGDCM", "ITKIOCSV", "ITKIOBruker", "ITKIOBioRad", "ITKIOBMP", "ITKPDEDeformableRegistration", "ITKgiftiio", "ITKniftiio", "ITKznz", "gdcmMSFF", "gdcmDICT", "ITKEXPAT", "ITKDiffusionTensorImage", "ITKDenoising", "ITKDeformableMesh", "ITKDICOMParser", "ITKConvolution", "ITKFFT", "ITKColormap", "ITKBiasCorrection", "ITKPolynomials", "ITKOptimizers", "ITKImageFeature", "ITKSmoothing", "ITKIOImageBase", "ITKFastMarching", "ITKQuadEdgeMesh", "ITKMathematicalMorphology", "ITKLabelMap", "ITKPath", "ITKSpatialObjects", "ITKMetaIO", "itkzlib", "ITKMesh", "ITKTransform", "ITKStatistics", "itkNetlibSlatec", "ITKCommon", "itkvcl", "itkvnl_algo", "itkvnl", "itkv3p_netlib", "itksys", "itkdouble-conversion"}
local libs = { "ITKBiasCorrection", "ITKColormap", "ITKCommon", "ITKConvolution", "ITKDICOMParser", "ITKDeformableMesh", "ITKDenoising", "ITKDiffusionTensorImage", "ITKFFT", "ITKFastMarching", "ITKIOBMP", "ITKIOBioRad", "ITKIOBruker", "ITKIOCSV", "ITKIOGDCM", "ITKIOGE", "ITKIOGIPL", "ITKIOHDF5", "ITKIOIPL", "ITKIOImageBase", "ITKIOJPEG", "ITKIOJPEG2000", "ITKIOLSM", "ITKIOMINC", "ITKIOMRC", "ITKIOMeshBYU", "ITKIOMeshBase", "ITKIOMeshFreeSurfer", "ITKIOMeshGifti", "ITKIOMeshOBJ", "ITKIOMeshOFF", "ITKIOMeshVTK", "ITKIOMeta", "ITKIONIFTI", "ITKIONRRD", "ITKIOPNG", "ITKIOSiemens", "ITKIOSpatialObjects", "ITKIOStimulate", "ITKIOTIFF", "ITKIOTransformBase", "ITKIOTransformHDF5", "ITKIOTransformInsightLegacy", "ITKIOTransformMatlab", "ITKIOVTK", "ITKIOXML", "ITKImageFeature", "ITKImageIntensity", "ITKKLMRegionGrowing", "ITKLabelMap", "ITKMarkovRandomFieldsClassifiers", "ITKMathematicalMorphology", "ITKMesh", "ITKMetaIO", "ITKNrrdIO", "ITKOptimizers", "ITKOptimizersv4", "ITKPDEDeformableRegistration", "ITKPath", "ITKPolynomials", "ITKQuadEdgeMesh", "ITKQuadEdgeMeshFiltering", "ITKRegionGrowing", "ITKRegistrationMethodsv4", "ITKSmoothing", "ITKSpatialObjects", "ITKStatistics", "ITKTestKernel", "ITKTransform", "ITKTransformFactory", "ITKVNLInstantiation", "ITKVTK", "ITKVtkGlue", "ITKVideoCore", "ITKVideoIO", "ITKVideoBridgeOpenCV", "ITKWatersheds", "ITKgiftiio", "ITKniftiio", "ITKznz", "itkNetlibSlatec", "itklbfgs", "itkopenjpeg", "itksys" }
for _, lib in ipairs(libs) do
package:add("links", lib .. "-" .. ver)
end
if package:is_plat("windows", "macosx") and package:config("shared") then
package:add("deps", "hdf5", {configs = {shared = true, cpplib = true}})
else
package:add("deps", "hdf5", {configs = {cpplib = true}})
if package:config("opencv") then
package:add("deps", "opencv")
end
if package:config("vtk") then
package:add("deps", "vtk")
end
end)

on_install("windows|!arm64", "linux", "macosx", function (package)
on_install("windows|!arm64", "linux", "macosx", "bsd", function (package)
io.replace("Modules/ThirdParty/GoogleTest/itk-module.cmake", "DEPENDS", "DEPENDS\n EXCLUDE_FROM_DEFAULT", {plain = true})
local configs = {"-DITK_SKIP_PATH_LENGTH_CHECKS=ON",
"-DBUILD_TESTING=OFF",
"-DBUILD_EXAMPLES=OFF",
"-DITK_WRAPPING=OFF",
"-DDO_NOT_BUILD_ITK_TEST_DRIVER=ON",
"-DITK_USE_SYSTEM_DOUBLECONVERSION=ON",
"-DITK_USE_SYSTEM_EIGEN=ON",
"-DITK_USE_SYSTEM_EXPAT=ON",
"-DITK_USE_SYSTEM_GDCM=ON",
"-DITK_USE_SYSTEM_GOOGLETEST=ON",
"-DITK_USE_SYSTEM_HDF5=ON",
"-DITK_USE_SYSTEM_JPEG=ON",
"-DITK_USE_SYSTEM_MINC=ON",
"-DITK_USE_SYSTEM_PNG=ON",
"-DITK_USE_SYSTEM_TIFF=ON",
"-DITK_USE_SYSTEM_VXL=ON",
"-DITK_USE_SYSTEM_ZLIB=ON",
}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
table.insert(configs, "-DModule_ITKVideoBridgeOpenCV=" .. (package:config("opencv") and "ON" or "OFF"))
table.insert(configs, "-DModule_ITKVtkGlue=" .. (package:config("vtk") and "ON" or "OFF"))
table.insert(configs, "-DCMAKE_CXX_STANDARD=" .. (package:version():ge("5.4.0") and "17" or "14"))
if package:config("pic") ~= false then
table.insert(configs, "-DCMAKE_POSITION_INDEPENDENT_CODE=ON")
end
if package:is_plat("windows") then
table.insert(configs, "-DITK_MSVC_STATIC_RUNTIME_LIBRARY=" .. (package:has_runtime("MT", "MTd") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs, {builddir = path.join(os.tmpdir(), "itk_build")})
else
import("package.tools.cmake").install(package, configs)
end
import("package.tools.cmake").install(package, configs)
end)

on_test(function (package)
Expand Down
Loading