Qt6 moving towards cmake
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Refactoring
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- cmake
- Bereich
- build-system
Rechercherichtung
Start with the Jamulus.pro project file and the Qt-provided qmake-to-cmake migration tool. Review the generated build configuration against each target platform, including Qt6 and legacy builds, and investigate the Android multi-ABI limitations described in the issue. This issue is complete only when the project agrees on a migration plan and the affected build targets are covered.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
What is the current behaviour and why should it be changed?
Currently Jamulus is built predominantly with qmake and a Jamulus.pro project file specifying the cross-platform build specification.
Qt6 is moving away from the use of qmake and project files. For example, it is no longer possible to use qmake and androidinstallqt to produce an Android multi-ABI APK/AAB.
The recommended tooling is based around cmake and there is a project-provided migration tool to move from qmake to cmake.
However, it comes with a number of provisos and the output would need to be reviewed carefully for each target platform to ensure that Jamulus remains buildable on those platforms.
We also need to investigate the use of cmake for the legacy builds.
Describe possible approaches
- Drop Qt
One option is to take this as the point at which we decide that Qt is no longer the right cross-platform development environment for Jamulus.
The obvious downside is there is a very large amount of work involved in porting to any other platform - primarily the UI but also the inter-component communication, networking and audio. - Halt updates to Qt, supply only Qt5 builds for Android and do not look to publish Jamulus on Play Store
Clearly this saves a lot of work. However, it's likely to mean that support for Android is dropped in the medium term.
Given there is no simple solution, the least bad solution is probably to take the hit on Qt6:
- Split into Qt5 (legacy) and Qt6 (modern) work streams
- Migrate the Qt6 builds to
cmake - Pin the legacy builds to "last known working versions" of all dependencies
Has this feature been discussed and generally agreed?
No. We need to come up with an agreed plan.
- Vorherrschende Sprache
- C
- Sterne
- 1.1k
- Forks
- 250
- Ø Merge
- 9 T. 18 Std.
- Gemergte PRs (30 T.)
- 4
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus jamulussoftware/jamulus
-
Move translation checker (and potentially other runners) to ARM runnerEvtl. vergeben @ann0see hat das vor 41 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
jamulussoftware/jamulus#3953 · 2 Kommentare ·
-
AI
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
jamulussoftware/jamulus#3846 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 65/100
jamulussoftware/jamulus#3961 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 76/100
jamulussoftware/jamulus#3958 ·
-
Update the C-like style check to an ARM-compatible clang-format versionEvtl. wieder frei @ann0see hat das vor 40 Tagen übernommen, und es ist kein Pull Request offen. Offenrefactoring
jamulussoftware/jamulus#3955 · 1 Kommentar · 1 zugewiesene Person ·
Alle Issues in jamulussoftware/jamulus
Ähnliche Issues
-
priority:medium type:chore
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 84/100
crazy-goat/php-fpm-ng#1041 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Test failure on FreeBSD: #26 unexpected system_clock sourceEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenlow priority rt_lib tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100