jamulus icon indicating copy to clipboard operation
jamulus copied to clipboard

iOS build needs migrating to xcode "modern build system"

Open softins opened this issue 1 year ago • 10 comments

In PR #3292 we move from macos-11 to macos-12 because of the deprecation of macos-11 by Github.

In macos-12, the earliest versions of xcode available are 13.x.x. These versions fail by default if the project uses the "legacy build system".

PR #3292 includes a configuration setting to suppress the failure and deprecation warning, so that the build succeeds.

The "legacy build system" is completely removed in xcode 14, and so we need to update the iOS build to use the newer xcode "modern build system".

softins avatar Jun 19 '24 22:06 softins

Do we know how to tell qt to use the modern build system?

ann0see avatar Jun 20 '24 17:06 ann0see

Do we know how to tell qt to use the modern build system?

I don't know. Maybe Qt 6 already does so? Currently, we are still using Qt 5.15.2 for iOS.

softins avatar Jun 22 '24 19:06 softins

Currently, we are still using Qt 5.15.2 for iOS.

Yes. due to gui bugs I commented on https://github.com/jamulussoftware/jamulus/issues/2711 a while ago.

ann0see avatar Jun 22 '24 20:06 ann0see

How does this relate to #3065?

pljones avatar Jun 29 '24 17:06 pljones

The issue to upgrade to qt6 is that qt6 has UI issues.

ann0see avatar Jun 29 '24 17:06 ann0see

That doesn't really help explain how the migration of xcode to a modern build system relates to using Qt6.

We may not be able to do it because of some other issue. But neither this issue nor the PR I mention appears to be down to UI problems.

So what I'm asking is how the two do relate.

pljones avatar Jun 29 '24 17:06 pljones

The open question is if we can move to the new build system without needing to change to Qt 6 or if we can move to Qt6 without GUI issues.

ann0see avatar Jun 30 '24 13:06 ann0see

The open question is if we can move to the new build system without needing to change to Qt 6 or if we can move to Qt6 without GUI issues.

That's two questions:

  • can we move to the new build system without needing to change to Qt 6
  • can we move to Qt6 without GUI issues

The second only comes into play if the answer to the first is "No". Do we know the answer? If not, the second doesn't come into play.

pljones avatar Jul 01 '24 17:07 pljones

  • can we move to the new build system without needing to change to Qt 6

I don't think so, not easily. According to this page, the Qt fix to support the modern build system only appeared in 5.15 at the 5.15.6 release, which is not available free in binary form. The latest Qt 5 available free as binary is 5.15.2. For this reason, according to https://github.com/miurahr/aqtinstall/issues/636#issuecomment-1381286249, later versions of Qt 5.15 can't be installed via aqtinstall.

I haven't yet discovered which version of Qt 6 introduced support for the modern build system.

softins avatar Jul 01 '24 19:07 softins

I made some progress with the UI being at least somewhat usable. See e.g https://github.com/jamulussoftware/jamulus/pull/3343

ann0see avatar Aug 07 '24 21:08 ann0see