Skip to content

Commit 02e7a13

Browse files
committed
ENH: Default pixi build to latest ITK main; add pinned release-v6 track
The default pixi `build` task now configures the SuperBuild with ITK_GIT_TAG=main so the guide is built and validated against current ITK upstream/main, keeping documentation in step with the development tree. Add a parallel `configure-release-v6` / `build-release-v6` task pair pinned to the v6.0b02 release tag, building in a separate build-release-v6/ tree so the two tracks never clobber each other.
1 parent d04c5ad commit 02e7a13

1 file changed

Lines changed: 25 additions & 2 deletions

File tree

pyproject.toml

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,48 @@ ghostscript = ">=9.54"
3131
imagemagick = ">=7"
3232
pygments = ">=2.15"
3333

34+
# Default track: build against the very latest ITK upstream/main, so the guide
35+
# documents current ITK. ITK_GIT_TAG flows into External_ITK.cmake's
36+
# ExternalProject_Add GIT_TAG.
3437
[tool.pixi.feature.dev.tasks.configure]
3538
cmd = '''cmake \
3639
-Bbuild \
3740
-S. \
3841
-GNinja \
3942
-DCMAKE_BUILD_TYPE:STRING=MinSizeRel \
43+
-DITK_GIT_TAG:STRING=main \
4044
-DCMAKE_C_COMPILER_LAUNCHER:STRING=ccache \
4145
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache'''
42-
description = "Configure the ITK Software Guide SuperBuild (builds ITK in Phase I)"
46+
description = "Configure the SuperBuild against the latest ITK upstream/main (builds ITK in Phase I)"
4347
outputs = ["build/CMakeFiles/"]
4448

4549
[tool.pixi.feature.dev.tasks.build]
4650
# CCACHE_BASE_DIR = the SuperBuild tree (build/), covering both the ITK source
4751
# (build/ITK) and its build (build/ITK-build); ccache rewrites absolute paths
4852
# under it to relative, so cache hits survive repo relocation.
4953
cmd = '''CCACHE_BASE_DIR="$PWD/build" cmake --build build'''
50-
description = "Build the ITK Software Guide; PDFs land in build/ITKSoftwareGuide-build/SoftwareGuide/Latex/"
54+
description = "Build the ITK Software Guide against latest ITK main; PDFs land in build/ITKSoftwareGuide-build/SoftwareGuide/Latex/"
5155
depends-on = ["configure"]
5256

57+
# Pinned-release track: build against a fixed ITK release tag in a separate
58+
# tree (build-release-v6/) so it never clobbers the default main build.
59+
[tool.pixi.feature.dev.tasks.configure-release-v6]
60+
cmd = '''cmake \
61+
-Bbuild-release-v6 \
62+
-S. \
63+
-GNinja \
64+
-DCMAKE_BUILD_TYPE:STRING=MinSizeRel \
65+
-DITK_GIT_TAG:STRING=v6.0b02 \
66+
-DCMAKE_C_COMPILER_LAUNCHER:STRING=ccache \
67+
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache'''
68+
description = "Configure the SuperBuild against the pinned ITK v6.0b02 release tag"
69+
outputs = ["build-release-v6/CMakeFiles/"]
70+
71+
[tool.pixi.feature.dev.tasks.build-release-v6]
72+
cmd = '''CCACHE_BASE_DIR="$PWD/build-release-v6" cmake --build build-release-v6'''
73+
description = "Build the ITK Software Guide against the pinned ITK v6.0b02 release; PDFs land in build-release-v6/ITKSoftwareGuide-build/SoftwareGuide/Latex/"
74+
depends-on = ["configure-release-v6"]
75+
5376
[tool.pixi.environments]
5477
build = ["dev", "latex"]
5578
pre-commit = ["pre-commit"]

0 commit comments

Comments
 (0)