Enable WITH_QUICK on Qt6 builds and apply needed fixes

This commit is contained in:
Mathieu Pellerin 2022-11-08 12:40:33 +07:00 committed by Nyall Dawson
parent 64fc1df57e
commit 5fe715a6c3
6 changed files with 25 additions and 18 deletions

View File

@ -40,6 +40,8 @@ RUN dnf -y --refresh install \
qt6-qtdeclarative-devel \
qt6-qttools-static \
qt6-qtsvg-devel \
qt6-qtpositioning-devel \
qt6-qtdeclarative-devel \
qt6-qt5compat-devel \
spatialindex-devel \
sqlite-devel \

View File

@ -58,7 +58,7 @@ jobs:
with-qt6: ON
with-qt5: OFF
with-3d: ON
with-quick: OFF
with-quick: ON
with-clazy: OFF
with-grass7: OFF
with-grass8: OFF

View File

@ -461,12 +461,9 @@ if(WITH_CORE)
set (HAVE_QT5SERIALPORT TRUE)
endif()
find_package(${QT_VERSION_BASE} COMPONENTS Core Gui Widgets Network Xml Svg Concurrent Test Sql REQUIRED)
find_package(${QT_VERSION_BASE} COMPONENTS Core Gui Widgets Network Xml Svg Concurrent Test Sql Positioning REQUIRED)
if (BUILD_WITH_QT6)
find_package(${QT_VERSION_BASE} COMPONENTS Core5Compat REQUIRED)
else()
# TODO only available starting from Qt 6.2
find_package(${QT_VERSION_BASE} COMPONENTS Positioning)
endif()
if (NOT IOS)
find_package(${QT_VERSION_BASE} COMPONENTS PrintSupport REQUIRED)

View File

@ -55,18 +55,16 @@ add_library(qgis_quick ${LIBRARY_TYPE}
# require c++17
target_compile_features(qgis_quick PRIVATE cxx_std_17)
if (BUILD_WITH_QT6)
target_link_libraries(qgis_quick Qt6::Quick Qt6::Qml Qt6::Xml Qt6::Concurrent Qt6::Positioning qgis_core)
else()
target_link_libraries(qgis_quick Qt5::Quick Qt5::Qml Qt5::Xml Qt5::Concurrent Qt5::Positioning qgis_core)
endif()
target_link_libraries(qgis_quick
${QT_VERSION_BASE}::Quick
${QT_VERSION_BASE}::Qml
${QT_VERSION_BASE}::Xml
${QT_VERSION_BASE}::Concurrent
${QT_VERSION_BASE}::Positioning
qgis_core)
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
if (BUILD_WITH_QT6)
target_link_libraries(qgis_quick Qt6::AndroidExtras)
else()
target_link_libraries(qgis_quick Qt5::AndroidExtras)
endif()
target_link_libraries(qgis_quick ${QT_VERSION_BASE}::AndroidExtras)
endif()
target_compile_definitions(qgis_quick PRIVATE "-DQT_NO_FOREACH")

View File

@ -33,7 +33,12 @@ include_directories(SYSTEM
${QTKEYCHAIN_INCLUDE_DIR}
)
QT5_WRAP_CPP(QGIS_QUICK_APP_MOC_SRCS ${QGIS_QUICK_APP_MOC_HDRS})
if (BUILD_WITH_QT6)
QT6_WRAP_CPP(QGIS_QUICK_APP_MOC_SRCS ${QGIS_QUICK_APP_MOC_HDRS})
else()
QT5_WRAP_CPP(QGIS_QUICK_APP_MOC_SRCS ${QGIS_QUICK_APP_MOC_HDRS})
endif()
set(QGIS_QUICK_APP_RCCS qml.qrc)
set(QGIS_QUICK_APP_NAME qgis_quickapp)
add_executable(${QGIS_QUICK_APP_NAME}
@ -45,7 +50,13 @@ add_executable(${QGIS_QUICK_APP_NAME}
target_compile_features(${QGIS_QUICK_APP_NAME} PRIVATE cxx_std_17)
target_link_libraries(${QGIS_QUICK_APP_NAME} Qt5::Gui Qt5::Qml Qt5::Quick Qt5::Xml qgis_core qgis_quick)
target_link_libraries(${QGIS_QUICK_APP_NAME}
${QT_VERSION_BASE}::Gui
${QT_VERSION_BASE}::Qml
${QT_VERSION_BASE}::Quick
${QT_VERSION_BASE}::Xml
qgis_core
qgis_quick)
set_target_properties(${QGIS_QUICK_APP_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
target_compile_definitions(${QGIS_QUICK_APP_NAME} PRIVATE "-DQT_NO_FOREACH")
add_dependencies(${QGIS_QUICK_APP_NAME}

View File

@ -14,7 +14,6 @@
***************************************************************************/
#include <QObject>
#include <QApplication>
#include <QDesktopWidget>
#include "qgsapplication.h"
#include "qgstest.h"