Qt6 moving towards cmake
Mantenedores costumam responder em até 5 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Refatoração
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Ativa
- Stack de tecnologia
- cmake
- Domínio
- build-system
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C
- Estrelas
- 1.1k
- Forks
- 248
- Merge médio
- 7d 14h
- PRs com merge (30d)
- 6
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de jamulussoftware/jamulus
-
Move translation checker (and potentially other runners) to ARM runnerTalvez já em andamento @ann0see assumiu há 24 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
jamulussoftware/jamulus#3953 · 2 comentários ·
Mantenedores costumam responder em até 5 dias
-
Reused channel slot records the previous occupant's audioTalvez já em andamento @mcfnord assumiu há 3 dias. AbertaAI bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
jamulussoftware/jamulus#3901 · 4 comentários · 1 reação ·
Mantenedores costumam responder em até 5 dias
-
AI
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
jamulussoftware/jamulus#3846 ·
Mantenedores costumam responder em até 5 dias
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
jamulussoftware/jamulus#3961 ·
Mantenedores costumam responder em até 5 dias
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 76/100
jamulussoftware/jamulus#3958 ·
Mantenedores costumam responder em até 5 dias
Todas as issues de jamulussoftware/jamulus
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
mypaint/libmypaint#209 ·
-
[LOGO] Keenetic OSTalvez já em andamento @Ivan-Alone assumiu hoje. Abertalogo request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
fastfetch-cli/fastfetch#2646 ·
Mantenedores costumam responder em até 1 dia
-
rc_runtime_activate_richpresence leaves a half-initialised entry when the buffer allocation failsAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
RetroAchievements/rcheevos#558 ·
-
good first issue priority:low type:docs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
crazy-goat/php-fpm-ng#920 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100