Bug 488946 - Invalid CMake syntax for !BUILD_WITH_QT6
Summary: Invalid CMake syntax for !BUILD_WITH_QT6
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources All
: NOR normal
Target Milestone: kf5
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-22 01:33 UTC by Joseph Yasi
Modified: 2024-06-22 14:37 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph Yasi 2024-06-22 01:33:25 UTC
SUMMARY
Commit 5cf29c0bd9b0536a04624db15644b175054b8c5e (after 3.0.1) introduced a CMake build option for Qt6. The CMake checks that flag with if(!BUILD_WITH_QT6) in a few places. if(NOT BUILD_WITH_QT6) is the correct syntax. Building without QT6 leads to missing files (e.g. amarok-plugin.desktop, amarok-contextapplet.desktop, amarok_codecinstall.desktop)


STEPS TO REPRODUCE
1. Build amarok from git without BUILD_WITH_QT6 set

OBSERVED RESULT
Missing files from the installation.
amarok-plugin.desktop
amarok-contextapplet.desktop
amarok_codecinstall.desktop
amarokurls/amarok.protocol 
amarokitpc.protocol
amarok_collection-mysqlcollection.desktop
amarok_storage-mysqlestorage.desktop
amarok_storage-mysqlserverstorage.desktop
amarok_service_ampache.desktop
amarok_service_ampache_config.desktop
amarok_service_lastfm.desktop
amarok_service_lastfm_config.desktop
amaroklastfm.protocol
amarok_service_magnatunestore.desktop
amarok_service_magnatunestore_config.desktop

EXPECTED RESULT
The amarok installation includes the missing files.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kubuntu 24.04
(available in About System)
KDE Plasma Version: 5.27.11
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13

ADDITIONAL INFORMATION
I caught this in the nightly builds in my PPA when packaging failed due to the missing files. I tested a fix by changing it from !BUILD_WITH_QT6 to NOT BUILD_WITH_QT6 and that worked.
Comment 1 Tuomas Nurmi 2024-06-22 14:36:20 UTC
Ah, indeed. Thank you very much for reporting!
Comment 2 Tuomas Nurmi 2024-06-22 14:37:48 UTC
Git commit 4562eae3f1f9fd82dd1a558eb7e9e53cf6da20f9 by Tuomas Nurmi.
Committed on 22/06/2024 at 14:30.
Pushed by nurmi into branch 'master'.

Fix CMake syntax

M  +2    -2    src/CMakeLists.txt
M  +1    -1    src/core-impl/collections/db/sql/mysqlcollection/CMakeLists.txt
M  +1    -1    src/core-impl/storage/sql/mysqlestorage/CMakeLists.txt
M  +1    -1    src/core-impl/storage/sql/mysqlserverstorage/CMakeLists.txt
M  +2    -2    src/services/ampache/CMakeLists.txt
M  +1    -1    src/services/lastfm/CMakeLists.txt
M  +1    -1    src/services/magnatune/CMakeLists.txt

https://invent.kde.org/multimedia/amarok/-/commit/4562eae3f1f9fd82dd1a558eb7e9e53cf6da20f9