Skip to content

Add installation support for windows#82

Open
Artur-man wants to merge 8 commits intoSimpleITK:mainfrom
Artur-man:addWindowsSupport
Open

Add installation support for windows#82
Artur-man wants to merge 8 commits intoSimpleITK:mainfrom
Artur-man:addWindowsSupport

Conversation

@Artur-man
Copy link
Collaborator

@Artur-man Artur-man commented Mar 19, 2026

This PR is based on discussions across #72 #78 #80 and meetings with @richardbeare @blowekamp @zivy.

Description

  • added configure.win required for Windows installation.
  • updated GHA to test windows build.
  • added instructions to README.md.

Notes

zivy and others added 7 commits January 13, 2026 11:02
Add support for building and testing on Windows OS
in a consistent manner to Linux and macOS. On
Windows, this uses RTools to provide the necessary
build tools. Testing is performed in CircleCI as
it offers a more powerful build machine under
the free plan.

Co-authored-by: Artur-man <artur-man@hotmail.com>
env:
ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS: 2
run: |
$env:MAKEJ="4"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about this setting.

According to the current documentation the GH hosted windows runner has 4 CPUs, so this may be maxing it out? When building I usually leave at least one CPU for other system processes. Not sure if this makes a difference.

@blowekamp, @Artur-man - any thoughts about this setting or the approach of using at most N-1 processes?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am open to this, considering maxing results in a 1.5 hour run, I think 3 should be still under 6 hours. However, I did not have any problems with 4 cores myself before.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There can be linking steps that system choke on due to memory. SimpleITK 3 reduces the size of one excessively large object file with fixed some build issues or delays that were occurring in 2.x.

Reducing the number of core can speed things up if there is an issue with running out of memory. It just requires experimentation and tuning with what is best.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets try then, I have another branch now where I can test before you guys approve a workflow agian.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added you to the team for this repo. That should enable your PRs to build without approval.

Copy link
Member

@zivy zivy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The windows runner does not seem to be identified correctly (if: startsWith(matrix.config.os, 'windows')), so the actual configuration and building were not run. Successful and fast run on the dashboard, but this isn't a real success. The CircleCI was successful and fast too, so I checked that too and it was indeed run and built.

@Artur-man was this executing for you under your repository?

@blowekamp blowekamp requested a review from Copilot March 20, 2026 13:33
@Artur-man
Copy link
Collaborator Author

@zivy thanks for catching this, looking at it now.

@blowekamp
Copy link
Member

Is this dependent on a fixed FindR.cmake file? When is that change needed?

@Artur-man
Copy link
Collaborator Author

@blowekamp yes, will send over that PR too soon.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@Artur-man
Copy link
Collaborator Author

Artur-man commented Mar 20, 2026

@blowekamp I think we also need to update the ITK_TAG to the version where problem with GDCM was fixed. I have not touched it here since we only introduce the windows builders, we can leave the PR as it is until we release the fixes to upstream ? or ... ?

@blowekamp
Copy link
Member

It looks like I only back ported the change to ITK release-5.4 branch but never update SImpleITK's release (2.x) branch.

or ... ?

We could just work on the the 3.0.0a03 tag instead of back porting things. Your call based on your needs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants