Add installation support for windows#82
Conversation
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" |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Lets try then, I have another branch now where I can test before you guys approve a workflow agian.
There was a problem hiding this comment.
I have added you to the team for this repo. That should enable your PRs to build without approval.
zivy
left a comment
There was a problem hiding this comment.
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?
|
@zivy thanks for catching this, looking at it now. |
|
Is this dependent on a fixed FindR.cmake file? When is that change needed? |
|
@blowekamp yes, will send over that PR too soon. |
|
@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 ... ? |
|
It looks like I only back ported the change to ITK release-5.4 branch but never update SImpleITK's release (2.x) branch.
We could just work on the the 3.0.0a03 tag instead of back porting things. Your call based on your needs. |
This PR is based on discussions across #72 #78 #80 and meetings with @richardbeare @blowekamp @zivy.
Description
README.md.Notes
SimpleITK/SimpleITK(see WIP: Add support for Windows #78 for more information).