From 1ca2fc100f95fd3cf9ce8ae336fd243f3dee60a8 Mon Sep 17 00:00:00 2001 From: Axel Garcia Date: Tue, 17 Mar 2026 14:41:05 +0100 Subject: [PATCH 1/2] ENH: Add versioning support with cudacommonConfig.py --- wrapping/CMakeLists.txt | 6 ++++++ wrapping/__init_cudacommon__.py | 10 ++++++++++ wrapping/cudacommonConfig.py.in | 1 + 3 files changed, 17 insertions(+) create mode 100644 wrapping/cudacommonConfig.py.in diff --git a/wrapping/CMakeLists.txt b/wrapping/CMakeLists.txt index 98a5583..e80438c 100644 --- a/wrapping/CMakeLists.txt +++ b/wrapping/CMakeLists.txt @@ -14,11 +14,17 @@ set( itkCudaSquareImageFilter ) +configure_file( + ${CudaCommon_SOURCE_DIR}/wrapping/cudacommonConfig.py.in + ${CudaCommon_BINARY_DIR}/Wrapping/Generators/Python/cudacommonConfig.py +) + itk_auto_load_submodules() itk_end_wrap_module() wrap_itk_python_bindings_install(/itk "CudaCommon" __init_cudacommon__.py + ${CudaCommon_BINARY_DIR}/Wrapping/Generators/Python/cudacommonConfig.py ${CudaCommon_SOURCE_DIR}/wrapping/itkCudaImageFromCudaArray.py ${CudaCommon_SOURCE_DIR}/wrapping/itkCudaImageFromImage.py ) diff --git a/wrapping/__init_cudacommon__.py b/wrapping/__init_cudacommon__.py index b4b14ee..3202ef3 100644 --- a/wrapping/__init_cudacommon__.py +++ b/wrapping/__init_cudacommon__.py @@ -1,7 +1,17 @@ import sys import importlib + itk_module = sys.modules["itk"] + +# Load the CMake-generated version and assign it to +# `itk.CudaCommon.__version__`. +cudacommon_version = importlib.import_module( + "itk.cudacommonConfig" +).CUDACOMMON_GLOBAL_VERSION_STRING +cudacommon_module = getattr(itk_module, "CudaCommon") +setattr(cudacommon_module, "__version__", cudacommon_version) + cuda_submodules = ["itk.itkCudaImageFromImage", "itk.itkCudaImageFromCudaArray"] for mod_name in cuda_submodules: diff --git a/wrapping/cudacommonConfig.py.in b/wrapping/cudacommonConfig.py.in new file mode 100644 index 0000000..092c07a --- /dev/null +++ b/wrapping/cudacommonConfig.py.in @@ -0,0 +1 @@ +CUDACOMMON_GLOBAL_VERSION_STRING = "@CudaCommon_VERSION_MAJOR@.@CudaCommon_VERSION_MINOR@.@CudaCommon_VERSION_PATCH@@CudaCommon_VERSION_HASH@" From 293a7799efc8bfdfca6b5c12e3eb95636695c1bf Mon Sep 17 00:00:00 2001 From: Axel Garcia Date: Wed, 18 Mar 2026 12:28:04 +0100 Subject: [PATCH 2/2] ENH: Use GetGitRevisionDescription from ITK to set version hash --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b92c5f0..7e6766e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,6 +47,13 @@ if(NOT ITK_SOURCE_DIR) find_package(ITK 5.2 REQUIRED) endif() +if(NOT ITK_SOURCE_DIR) + list(APPEND CMAKE_MODULE_PATH ${ITK_CMAKE_DIR}) + include(GetGitRevisionDescription) + get_git_head_revision(GIT_REFSPEC GIT_SHA1) + set(CudaCommon_VERSION_HASH ", git hash ${GIT_SHA1}") +endif() + # Propagate cmake options in a header file at the same location as CudaCommonExport.h if(ITK_SOURCE_DIR) set( @@ -86,7 +93,6 @@ if(NOT ITK_SOURCE_DIR) ) endif() - list(APPEND CMAKE_MODULE_PATH ${ITK_CMAKE_DIR}) include(ITKModuleExternal) else() set(ITK_DIR ${CMAKE_BINARY_DIR})