ImageEngine / cortex

Libraries for visual effects software development
Other
531 stars 124 forks source link

SCons : Windows build on VS 2022 #1434

Open ericmehl opened 1 month ago

ericmehl commented 1 month ago

This updates the Cortex build to use Visual Studio 2022 / MSVC 17.x / Runtime library 14.3.

This should be built in conjunction with Gaffer dependencies from the 9_maintenance_vs2022 branch. I'm targeting this to main because I think it constitutes a breaking change that should put it in a... Cortex 10.6 release?

The dependencies on 9_maintenance_vs2022 has a patch equivalent to this commit, so I don't think there's a hurry to get it merged into a release at the moment.

Checklist

johnhaddon commented 1 month ago

scons: warning: MSVC version '14.3' was not found.

I think we need to update the CI config to use the new dependencies, and also install the right MSVC stuff on the runner.

I'm targeting this to main because I think it constitutes a breaking change that should put it in a... Cortex 10.6 release?

Personally I'm prepared to play fast and loose with this. I'm betting that outside of Image Engine, Cortex just exists to serve Gaffer, and it'll be fine to change the dependencies we include in the release packages. But we probably do want to delay this until Gaffer 1.4 is in patch maintenance mode (since we're likely to need new Cortex releases for it beforehand).

But this does raise the question : when will we ever change Cortex major version? There are lots of little improvements I'd love to make that would mean a new major version, but the friction involved in synchronising it all with Gaffer tends to mean that I don't bother. For me the solution would be a much slimmed version developed directly in the Gaffer repo, but that has its own problems...

johnhaddon commented 1 month ago

But we probably do want to delay this until Gaffer 1.4 is in patch maintenance mode

Alternatively, we provide two CI variants, just as we are doing for Linux already?