-
Notifications
You must be signed in to change notification settings - Fork 178
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
How would people feel about overhauling the iOS support to remove polly magic? #625
Comments
Concrete suggestions:
|
Perhaps the new Xcode 14+ toolchains can use the new scheme? And avoid breaking old workflows. |
I would hope we can do this without breaking old/normal workflows, by which I mean recent-ish CMake versions, recent-ish iOS SDK / Xcode versions. We can do things like
There are loads of edge cases of old Xcode and/or old CMake that we just wouldn't be able to test without input from whoever is using those workflows. On the plus side we would be able to:
|
Would you be volunteering to take a stab at this? 😄 |
I can certainly start a couple of the different areas. Here at work we might just use the backwards incompatible 'fix just enough to make it work' version I have now in this branch: I will keep trying to keep the changes small without messing with too much at once. I will however probably break things unless other iOS-interested people can test changes as we move forwards. Step 1 would be merging this MR if possible: #610 |
Merged! |
Building with Hunter for iOS involves a bit of Polly magic variable mangling.
IOS_SDK_VERSION
-> set to the current SDK version used with XcodeIOS_DEPLOYMENT_SDK_VERSION
-> set to the deployment target for iOSIPHONEOS_ARCHS
-> requested architectures for the iOS device part of the outputIPHONESIMULATOR_ARCHS
-> requested architectures for the iOS simulator part of the outputIPHONEOS_ROOT
/IPHONEOS_SDK_ROOT
/IPHONESIMULATOR_SDK_ROOT
There are probably others
Also various parts of Hunter use the variable
IOS
to determine things.IOS
is not defined by default etc).arm64
->device
, which are not true any more.I'm looking at all this stuff and it seems like it might need overhauling, but to do so without breaking existing workflows might be quite difficult, and probably requires more time than I have to devote to it. The only way I can think of to do it bit by bit would be to add slimmed down, modernised, toolchains to polly for the following (which do not set any of the hunter/polly specific magic variables), then gradually fix all the schemes to work correctly (using as much cmake as we can, and increasing the minimum cmake version where required).
Does anyone have any better ideas for how to address this stuff?
The text was updated successfully, but these errors were encountered: