-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to Dependencies 9.0.0 #1434
base: RB-10.5
Are you sure you want to change the base?
Conversation
I think we need to update the CI config to use the new dependencies, and also install the right MSVC stuff on the runner.
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... |
Alternatively, we provide two CI variants, just as we are doing for Linux already? |
16cbccf
to
762f9f7
Compare
3884a77
to
92bee1a
Compare
In an effort to debug this test failure, I've created #1444, where I replace the constructor for MeshSplitter with something that just throws an exception. This is still resulting in the same output. I therefore conclude that somehow this Windows change is resulting in not actually finding the freshly built Cortex - because this is using Gaffer dependencies to get the dependencies, it must be finding the Cortex binaries from Gaffer dependencies, and running the new Cortex tests against that version of Cortex, not the current code that is being compiled. |
a7d39bc
to
1fbd16f
Compare
In ec23650 I fixed the Windows builds by removing the binaries from the dependencies package. And in 1fbd16f I have SCons moving the DLL files to the Ready for review. |
I can't help but feel that we're chasing our own tails here. I don't understand the benefit of having the DLLs in the bin. It seems like it was a bit of a faff to put them there in the first place. It separates them from the Admittedly, I am completely ignorant of Windows conventions and am coming at this from a Linux perspective. But unless there is a compelling reason that trumps all of the above, I think keeping the libs in |
It's certainly something worth considering, I agree that it's annoying to have to manually shuffle around the DLLs and clutter up the
I'll rest my 💼 on those points. If you don't think that balances out the drawbacks, I can pop off the DLL shuffle commit. |
Summary of various offline discussions :
So, the new plan is this :
|
I've dropped the last three commits to go back to the |
bfa0d1b
to
9f20bfd
Compare
9f20bfd
to
34b5b98
Compare
This is needed for the tests to locate the DLL binaries that are currently in both `bin` and `lib` subdirectories. When all DLLs are moved to `lib`, this can be reverted.
I was a bit overzealous with dropping commits after moving the DLLs. 3c617db is still needed for the tests to find the rest of the DLLs that haven't moved to |
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 tomain
because I think it constitutes a breaking change that should put it in a... Cortex10.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