diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 0a957e08..605d8654 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -367,7 +367,7 @@ jobs: - name: Configure CMake shell: bash working-directory: build - run: cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DWITH_QT6=ON + run: cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_WITH_QT6=ON - name: Build working-directory: build run: cmake --build . --config $BUILD_TYPE diff --git a/3rdparty/singleapplication/CMakeLists.txt b/3rdparty/singleapplication/CMakeLists.txt index 4f204fac..247503e5 100644 --- a/3rdparty/singleapplication/CMakeLists.txt +++ b/3rdparty/singleapplication/CMakeLists.txt @@ -10,7 +10,7 @@ endif() set(SINGLEAPP-SOURCES singleapplication.cpp singleapplication_p.cpp) set(SINGLEAPP-MOC-HEADERS singleapplication.h singleapplication_p.h) -if(WITH_QT6) +if(BUILD_WITH_QT6) qt6_wrap_cpp(SINGLEAPP-SOURCES-MOC ${SINGLEAPP-MOC-HEADERS}) else() qt5_wrap_cpp(SINGLEAPP-SOURCES-MOC ${SINGLEAPP-MOC-HEADERS}) @@ -33,7 +33,7 @@ target_link_libraries(singleapplication PRIVATE set(SINGLECOREAPP-SOURCES singlecoreapplication.cpp singlecoreapplication_p.cpp) set(SINGLECOREAPP-MOC-HEADERS singlecoreapplication.h singlecoreapplication_p.h) -if(WITH_QT6) +if(BUILD_WITH_QT6) qt6_wrap_cpp(SINGLECOREAPP-SOURCES-MOC ${SINGLECOREAPP-MOC-HEADERS}) else() qt5_wrap_cpp(SINGLECOREAPP-SOURCES-MOC ${SINGLECOREAPP-MOC-HEADERS}) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e723195..8b6f1829 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,7 +133,17 @@ pkg_check_modules(GDK_PIXBUF gdk-pixbuf-2.0) find_package(Gettext) find_package(FFTW3) -option(WITH_QT6 "Use Qt 6" OFF) +option(BUILD_WITH_QT5 "Use Qt 5" OFF) +option(BUILD_WITH_QT6 "Use Qt 6" OFF) + +if(WITH_QT6) + set(BUILD_WITH_QT6 ON) +endif() + +if(NOT BUILD_WITH_QT5 AND NOT BUILD_WITH_QT6) + set(BUILD_WITH_QT5 ON) +endif() + set(QT_COMPONENTS Core Concurrent Widgets Network Sql) if(X11_FOUND) list(APPEND QT_COMPONENTS X11Extras) @@ -148,7 +158,7 @@ if(WIN32) list(APPEND QT_COMPONENTS WinExtras) endif() -if(WITH_QT6) +if(BUILD_WITH_QT6) list(APPEND QT_COMPONENTS Core5Compat) find_package(Qt6 REQUIRED COMPONENTS ${QT_COMPONENTS}) set(QtCore_LIBRARIES Qt6::Core) @@ -178,7 +188,7 @@ if(WITH_QT6) if (Qt6LinguistTools_FOUND) set(QT_LCONVERT_EXECUTABLE Qt6::lconvert) endif() -else() +elseif(BUILD_WITH_QT5) set(QT_MIN_VERSION 5.8) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS ${QT_COMPONENTS}) set(QtCore_LIBRARIES ${Qt5Core_LIBRARIES}) @@ -213,6 +223,8 @@ else() if (Qt5LinguistTools_FOUND) set(QT_LCONVERT_EXECUTABLE Qt5::lconvert) endif() +else() + message(FATAL_ERROR "Set BUILD_WITH_QT5 or BUILD_WITH_QT6") endif() if(X11_FOUND) @@ -265,7 +277,7 @@ if(APPLE) endif(APPLE) if(NOT SPARKLE AND (APPLE OR WIN32)) - if(WITH_QT6) + if(BUILD_WITH_QT6) pkg_check_modules(QTSPARKLE qtsparkle-qt6) else() pkg_check_modules(QTSPARKLE qtsparkle-qt5) @@ -351,7 +363,7 @@ optional_component(SPARKLE ON "Sparkle integration" DEPENDS "Sparkle" SPARKLE ) -if(WITH_QT6) +if(BUILD_WITH_QT6) optional_component(TRANSLATIONS ON "Translations" DEPENDS "gettext" GETTEXT_FOUND DEPENDS "Qt6LinguistTools" Qt6LinguistTools_FOUND diff --git a/cmake/OptionalSource.cmake b/cmake/OptionalSource.cmake index 82ce26dd..5cba9fd9 100644 --- a/cmake/OptionalSource.cmake +++ b/cmake/OptionalSource.cmake @@ -15,7 +15,7 @@ macro(optional_source TOGGLE) list(APPEND OTHER_SOURCES ${OPTIONAL_SOURCE_HEADERS}) set(_uic_sources) - if(WITH_QT6) + if(BUILD_WITH_QT6) qt6_wrap_ui(_uic_sources ${OPTIONAL_SOURCE_UI}) else() qt5_wrap_ui(_uic_sources ${OPTIONAL_SOURCE_UI}) diff --git a/cmake/Translations.cmake b/cmake/Translations.cmake index 77603f32..34add0d4 100644 --- a/cmake/Translations.cmake +++ b/cmake/Translations.cmake @@ -77,7 +77,7 @@ macro(add_po outfiles po_prefix) file(APPEND ${_qrc} "${po_prefix}${_lang}.qm") endforeach(_lang) file(APPEND ${_qrc} "") - if(WITH_QT6) + if(BUILD_WITH_QT6) qt6_add_resources(${outfiles} ${_qrc}) else() qt5_add_resources(${outfiles} ${_qrc}) diff --git a/dist/windows/strawberry.nsi.in b/dist/windows/strawberry.nsi.in index 8716e972..1e40de5b 100644 --- a/dist/windows/strawberry.nsi.in +++ b/dist/windows/strawberry.nsi.in @@ -18,7 +18,7 @@ !define debug !endif -!if "@WITH_QT6@" == "ON" +!if "@BUILD_WITH_QT6@" == "ON" !define with_qt6 !endif diff --git a/ext/libstrawberry-common/CMakeLists.txt b/ext/libstrawberry-common/CMakeLists.txt index e2b5998f..354aaaf5 100644 --- a/ext/libstrawberry-common/CMakeLists.txt +++ b/ext/libstrawberry-common/CMakeLists.txt @@ -20,7 +20,7 @@ if(APPLE) list(APPEND SOURCES core/scoped_nsautorelease_pool.mm) endif(APPLE) -if(WITH_QT6) +if(BUILD_WITH_QT6) qt6_wrap_cpp(MOC ${HEADERS}) else() qt5_wrap_cpp(MOC ${HEADERS}) diff --git a/ext/libstrawberry-tagreader/CMakeLists.txt b/ext/libstrawberry-tagreader/CMakeLists.txt index 1b6becc0..564b0421 100644 --- a/ext/libstrawberry-tagreader/CMakeLists.txt +++ b/ext/libstrawberry-tagreader/CMakeLists.txt @@ -39,6 +39,6 @@ target_link_libraries(libstrawberry-tagreader PRIVATE libstrawberry-common ) -if(WITH_QT6) +if(BUILD_WITH_QT6) target_link_libraries(libstrawberry-tagreader PRIVATE Qt6::Core5Compat) endif() diff --git a/ext/strawberry-tagreader/CMakeLists.txt b/ext/strawberry-tagreader/CMakeLists.txt index c0d377f2..2d357018 100644 --- a/ext/strawberry-tagreader/CMakeLists.txt +++ b/ext/strawberry-tagreader/CMakeLists.txt @@ -4,7 +4,7 @@ set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) set(SOURCES main.cpp tagreaderworker.cpp) -if(WITH_QT6) +if(BUILD_WITH_QT6) qt6_wrap_cpp(MOC ${HEADERS}) qt6_add_resources(QRC data/data.qrc) else() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4a83ac8b..991c781e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -607,7 +607,7 @@ if(UNIX AND HAVE_DBUS) HEADERS device/udisks2lister.h ) - if (WITH_QT6) + if (Qt6Core_FOUND) # MPRIS 2.0 DBUS interfaces qt6_add_dbus_adaptor(SOURCES @@ -704,7 +704,7 @@ if(UNIX AND HAVE_DBUS) PROPERTIES NO_NAMESPACE dbus/udisks2drive INCLUDE dbus/metatypes.h) set_source_files_properties(dbus/org.freedesktop.UDisks2.Job.xml PROPERTIES NO_NAMESPACE dbus/udisks2job INCLUDE dbus/metatypes.h) - if(WITH_QT6) + if(Qt6Core_FOUND) qt6_add_dbus_interface(SOURCES dbus/org.freedesktop.DBus.ObjectManager.xml dbus/objectmanager) @@ -987,7 +987,7 @@ optional_source(HAVE_MOODBAR configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h) -if(WITH_QT6) +if(Qt6Core_FOUND) qt6_wrap_cpp(MOC ${HEADERS}) qt6_wrap_ui(UIC ${UI}) qt6_add_resources(QRC ${RESOURCES}) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b528e122..13b7f41d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,6 +1,6 @@ enable_testing() -if(WITH_QT6) +if(BUILD_WITH_QT6) find_package(Qt6 COMPONENTS Test REQUIRED) set(QtTest_LIBRARIES Qt6::Test) else() @@ -22,7 +22,7 @@ set(TESTUTILS-SOURCES set(TESTUTILS-MOC-HEADERS src/mock_networkaccessmanager.h src/test_utils.h src/testobjectdecorators.h) -if(WITH_QT6) +if(BUILD_WITH_QT6) qt6_wrap_cpp(TESTUTILS-SOURCES-MOC ${TESTUTILS-MOC-HEADERS}) else() qt5_wrap_cpp(TESTUTILS-SOURCES-MOC ${TESTUTILS-MOC-HEADERS}) @@ -82,7 +82,7 @@ add_custom_target(strawberry_tests echo "Running Strawberry tests" WORKING_DIREC add_custom_target(build_tests WORKING_DIRECTORY ${CURRENT_BINARY_DIR}) add_dependencies(strawberry_tests build_tests) -if(WITH_QT6) +if(BUILD_WITH_QT6) qt6_add_resources(TEST-RESOURCE-SOURCES data/testdata.qrc) else() qt5_add_resources(TEST-RESOURCE-SOURCES data/testdata.qrc)