CMake: Add QPA Platform interface as optional component
This commit is contained in:
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@@ -68,6 +68,7 @@ jobs:
|
|||||||
hicolor-icon-theme
|
hicolor-icon-theme
|
||||||
qt6-core-devel
|
qt6-core-devel
|
||||||
qt6-gui-devel
|
qt6-gui-devel
|
||||||
|
qt6-gui-private-devel
|
||||||
qt6-widgets-devel
|
qt6-widgets-devel
|
||||||
qt6-concurrent-devel
|
qt6-concurrent-devel
|
||||||
qt6-network-devel
|
qt6-network-devel
|
||||||
@@ -464,7 +465,9 @@ jobs:
|
|||||||
libcdio-dev
|
libcdio-dev
|
||||||
libmtp-dev
|
libmtp-dev
|
||||||
libgpod-dev
|
libgpod-dev
|
||||||
|
libxkbcommon-dev
|
||||||
qt6-base-dev
|
qt6-base-dev
|
||||||
|
qt6-base-private-dev
|
||||||
qt6-base-dev-tools
|
qt6-base-dev-tools
|
||||||
qt6-tools-dev
|
qt6-tools-dev
|
||||||
qt6-tools-dev-tools
|
qt6-tools-dev-tools
|
||||||
@@ -545,7 +548,9 @@ jobs:
|
|||||||
libcdio-dev
|
libcdio-dev
|
||||||
libmtp-dev
|
libmtp-dev
|
||||||
libgpod-dev
|
libgpod-dev
|
||||||
|
libxkbcommon-dev
|
||||||
qt6-base-dev
|
qt6-base-dev
|
||||||
|
qt6-base-private-dev
|
||||||
qt6-base-dev-tools
|
qt6-base-dev-tools
|
||||||
qt6-tools-dev
|
qt6-tools-dev
|
||||||
qt6-tools-dev-tools
|
qt6-tools-dev-tools
|
||||||
|
|||||||
@@ -214,30 +214,23 @@ set(QT_VERSION_MAJOR 6)
|
|||||||
set(QT_MIN_VERSION 6.4.0)
|
set(QT_MIN_VERSION 6.4.0)
|
||||||
set(QT_DEFAULT_MAJOR_VERSION ${QT_VERSION_MAJOR})
|
set(QT_DEFAULT_MAJOR_VERSION ${QT_VERSION_MAJOR})
|
||||||
set(QT_COMPONENTS Core Concurrent Gui Widgets Network Sql)
|
set(QT_COMPONENTS Core Concurrent Gui Widgets Network Sql)
|
||||||
set(QT_OPTIONAL_COMPONENTS LinguistTools Test)
|
set(QT_OPTIONAL_COMPONENTS GuiPrivate LinguistTools Test)
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
list(APPEND QT_OPTIONAL_COMPONENTS DBus)
|
list(APPEND QT_OPTIONAL_COMPONENTS DBus)
|
||||||
endif()
|
endif()
|
||||||
|
set(QT_NO_PRIVATE_MODULE_WARNING ON)
|
||||||
|
|
||||||
find_package(Qt${QT_VERSION_MAJOR} ${QT_MIN_VERSION} COMPONENTS ${QT_COMPONENTS} REQUIRED OPTIONAL_COMPONENTS ${QT_OPTIONAL_COMPONENTS})
|
find_package(Qt${QT_VERSION_MAJOR} ${QT_MIN_VERSION} COMPONENTS ${QT_COMPONENTS} REQUIRED OPTIONAL_COMPONENTS ${QT_OPTIONAL_COMPONENTS})
|
||||||
|
|
||||||
|
if(TARGET "Qt${QT_VERSION_MAJOR}::GuiPrivate")
|
||||||
|
set(QT_GUI_PRIVATE_FOUND ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(Qt${QT_VERSION_MAJOR}DBus_FOUND)
|
if(Qt${QT_VERSION_MAJOR}DBus_FOUND)
|
||||||
set(DBUS_FOUND ON)
|
set(DBUS_FOUND ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(X11_FOUND)
|
if(X11_FOUND)
|
||||||
|
|
||||||
find_path(QPA_QPLATFORMNATIVEINTERFACE_H qpa/qplatformnativeinterface.h PATHS ${Qt${QT_VERSION_MAJOR}Gui_INCLUDE_DIRS} ${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS})
|
|
||||||
if(NOT QPA_QPLATFORMNATIVEINTERFACE_H)
|
|
||||||
find_path(QPA_QPLATFORMNATIVEINTERFACE_H ${Qt${QT_VERSION_MAJOR}Gui_VERSION}/QtGui/qpa/qplatformnativeinterface.h PATHS ${Qt${QT_VERSION_MAJOR}Gui_INCLUDE_DIRS} ${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
if(QPA_QPLATFORMNATIVEINTERFACE_H)
|
|
||||||
set(HAVE_QPA_QPLATFORMNATIVEINTERFACE_H ON)
|
|
||||||
message(STATUS "Have qpa/qplatformnativeinterface.h header.")
|
|
||||||
else()
|
|
||||||
message(STATUS "Missing qpa/qplatformnativeinterface.h header.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Check for QX11Application (Qt 6 compiled with XCB).
|
# Check for QX11Application (Qt 6 compiled with XCB).
|
||||||
set(CMAKE_REQUIRED_FLAGS "-std=c++17")
|
set(CMAKE_REQUIRED_FLAGS "-std=c++17")
|
||||||
set(CMAKE_REQUIRED_LIBRARIES Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui)
|
set(CMAKE_REQUIRED_LIBRARIES Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui)
|
||||||
@@ -252,7 +245,6 @@ if(X11_FOUND)
|
|||||||
)
|
)
|
||||||
unset(CMAKE_REQUIRED_FLAGS)
|
unset(CMAKE_REQUIRED_FLAGS)
|
||||||
unset(CMAKE_REQUIRED_LIBRARIES)
|
unset(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# SingleApplication
|
# SingleApplication
|
||||||
@@ -375,6 +367,10 @@ if(APPLE OR WIN32)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
optional_component(QPA_QPLATFORMNATIVEINTERFACE ON "QPA Platform interface"
|
||||||
|
DEPENDS "Qt Gui Private" QT_GUI_PRIVATE_FOUND
|
||||||
|
)
|
||||||
|
|
||||||
if(HAVE_SONGFINGERPRINTING OR HAVE_MUSICBRAINZ)
|
if(HAVE_SONGFINGERPRINTING OR HAVE_MUSICBRAINZ)
|
||||||
set(HAVE_CHROMAPRINT ON)
|
set(HAVE_CHROMAPRINT ON)
|
||||||
endif()
|
endif()
|
||||||
@@ -1502,10 +1498,6 @@ if(SINGLEAPPLICATION_INCLUDE_DIRS)
|
|||||||
target_include_directories(strawberry_lib SYSTEM PUBLIC ${SINGLEAPPLICATION_INCLUDE_DIRS})
|
target_include_directories(strawberry_lib SYSTEM PUBLIC ${SINGLEAPPLICATION_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(HAVE_QPA_QPLATFORMNATIVEINTERFACE_H)
|
|
||||||
target_include_directories(strawberry_lib SYSTEM PUBLIC ${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_link_libraries(strawberry_lib PUBLIC
|
target_link_libraries(strawberry_lib PUBLIC
|
||||||
${CMAKE_THREAD_LIBS_INIT}
|
${CMAKE_THREAD_LIBS_INIT}
|
||||||
$<$<BOOL:${HAVE_BACKTRACE}>:${Backtrace_LIBRARIES}>
|
$<$<BOOL:${HAVE_BACKTRACE}>:${Backtrace_LIBRARIES}>
|
||||||
@@ -1526,6 +1518,7 @@ target_link_libraries(strawberry_lib PUBLIC
|
|||||||
Qt${QT_VERSION_MAJOR}::Network
|
Qt${QT_VERSION_MAJOR}::Network
|
||||||
Qt${QT_VERSION_MAJOR}::Sql
|
Qt${QT_VERSION_MAJOR}::Sql
|
||||||
$<$<BOOL:${HAVE_DBUS}>:Qt${QT_VERSION_MAJOR}::DBus>
|
$<$<BOOL:${HAVE_DBUS}>:Qt${QT_VERSION_MAJOR}::DBus>
|
||||||
|
$<$<BOOL:${HAVE_QPA_QPLATFORMNATIVEINTERFACE}>:Qt${QT_VERSION_MAJOR}::GuiPrivate>
|
||||||
ICU::uc
|
ICU::uc
|
||||||
ICU::i18n
|
ICU::i18n
|
||||||
$<$<BOOL:${HAVE_ALSA}>:ALSA::ALSA>
|
$<$<BOOL:${HAVE_ALSA}>:ALSA::ALSA>
|
||||||
|
|||||||
2
debian/control
vendored
2
debian/control
vendored
@@ -15,7 +15,9 @@ Build-Depends: debhelper-compat (= 12),
|
|||||||
libpulse-dev,
|
libpulse-dev,
|
||||||
libtag1-dev,
|
libtag1-dev,
|
||||||
libicu-dev,
|
libicu-dev,
|
||||||
|
libxkbcommon-dev,
|
||||||
qt6-base-dev,
|
qt6-base-dev,
|
||||||
|
qt6-base-private-dev,
|
||||||
qt6-base-dev-tools,
|
qt6-base-dev-tools,
|
||||||
qt6-tools-dev,
|
qt6-tools-dev,
|
||||||
qt6-tools-dev-tools,
|
qt6-tools-dev-tools,
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
#cmakedefine INSTALL_TRANSLATIONS
|
#cmakedefine INSTALL_TRANSLATIONS
|
||||||
#define TRANSLATIONS_DIR "${CMAKE_INSTALL_PREFIX}/share/strawberry/translations"
|
#define TRANSLATIONS_DIR "${CMAKE_INSTALL_PREFIX}/share/strawberry/translations"
|
||||||
|
|
||||||
|
#cmakedefine HAVE_QPA_QPLATFORMNATIVEINTERFACE
|
||||||
#cmakedefine HAVE_QX11APPLICATION
|
#cmakedefine HAVE_QX11APPLICATION
|
||||||
#cmakedefine HAVE_QPA_QPLATFORMNATIVEINTERFACE_H
|
|
||||||
|
|
||||||
#cmakedefine ENABLE_WIN32_CONSOLE
|
#cmakedefine ENABLE_WIN32_CONSOLE
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
#include <QFlags>
|
#include <QFlags>
|
||||||
#include <QtEvents>
|
#include <QtEvents>
|
||||||
|
|
||||||
#ifdef HAVE_QPA_QPLATFORMNATIVEINTERFACE_H
|
#ifdef HAVE_QPA_QPLATFORMNATIVEINTERFACE
|
||||||
# include <qpa/qplatformnativeinterface.h>
|
# include <qpa/qplatformnativeinterface.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -214,8 +214,8 @@ void OSDPretty::ScreenRemoved(QScreen *screen) {
|
|||||||
|
|
||||||
bool OSDPretty::IsTransparencyAvailable() {
|
bool OSDPretty::IsTransparencyAvailable() {
|
||||||
|
|
||||||
#ifdef HAVE_QPA_QPLATFORMNATIVEINTERFACE_H
|
#ifdef HAVE_QPA_QPLATFORMNATIVEINTERFACE
|
||||||
if (qApp) {
|
if (qApp && QGuiApplication::platformName() == "xcb"_L1) {
|
||||||
QPlatformNativeInterface *native = QGuiApplication::platformNativeInterface();
|
QPlatformNativeInterface *native = QGuiApplication::platformNativeInterface();
|
||||||
QScreen *screen = popup_screen_ == nullptr ? QGuiApplication::primaryScreen() : popup_screen_;
|
QScreen *screen = popup_screen_ == nullptr ? QGuiApplication::primaryScreen() : popup_screen_;
|
||||||
if (native && screen) {
|
if (native && screen) {
|
||||||
|
|||||||
Reference in New Issue
Block a user