Qt6 moving towards cmake
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Refactorisation
- Clarté
- À clarifier
- Activité
- Active
- Stack technique
- cmake
- Domaine
- build-system
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- C
- Étoiles
- 1.1k
- Forks
- 250
- Merge moyen
- 9 j 18 h
- PR mergées (30 j)
- 4
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de jamulussoftware/jamulus
-
Move translation checker (and potentially other runners) to ARM runnerPeut-être pris @ann0see l’a pris il y a 37 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
jamulussoftware/jamulus#3953 · 2 commentaires ·
-
AI
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
jamulussoftware/jamulus#3846 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
jamulussoftware/jamulus#3961 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 76/100
jamulussoftware/jamulus#3958 ·
-
Update the C-like style check to an ARM-compatible clang-format versionPeut-être à nouveau libre @ann0see l’a pris il y a 36 jours, et aucune pull request n’est ouverte. Ouverterefactoring
jamulussoftware/jamulus#3955 · 1 commentaire · 1 personne assignée ·
Toutes les issues de jamulussoftware/jamulus
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 1 jour
-
Bug Status: Needs Triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
[onnx] update to 1.22.0Ouvertecategory:port-update
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 2 jours
-
Update OpenBSD CI to OpenBSD 8.0 and vmactions/openbsd-vm v1.4.9Peut-être pris @hyoklee l’a pris aujourd’hui. Ouverte
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 2 jours
-
v9.6.0: CMake incorrectly enforces presence of libevdevPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
Les mainteneurs répondent en général sous 1 jour