summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-03-03 17:26:03 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-03-10 13:37:53 +0100
commitc2ccbdd1eb5a367c2778caed091b25dddc895129 (patch)
tree261f3dded6dbe689b162cd839e41483e71ace331 /examples
parentbded9220c97deac567817b3cff17594649ee904c (diff)
downloadqtsvg-c2ccbdd1eb5a367c2778caed091b25dddc895129.tar.gz
Add qtsvg examples to cmake
Note svggenerator is skipped because something is wrong with its generated cmake files that I didn't recognize. Pick-to: 6.1 Change-Id: I406fa45916148a10ae7b06e8853205d33011757f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/CMakeLists.txt7
-rw-r--r--examples/svg/CMakeLists.txt10
-rw-r--r--examples/svg/draganddrop/CMakeLists.txt5
-rw-r--r--examples/svg/draganddrop/delayedencoding/CMakeLists.txt59
-rw-r--r--examples/svg/embedded/CMakeLists.txt11
-rw-r--r--examples/svg/embedded/desktopservices/CMakeLists.txt58
-rw-r--r--examples/svg/embedded/embedded.pro3
-rw-r--r--examples/svg/embedded/fluidlauncher/CMakeLists.txt94
-rw-r--r--examples/svg/embedded/weatherinfo/CMakeLists.txt69
-rw-r--r--examples/svg/embedded/weatherinfo/weatherinfo.pro2
-rw-r--r--examples/svg/embeddedsvgviewer/CMakeLists.txt56
-rw-r--r--examples/svg/richtext/CMakeLists.txt5
-rw-r--r--examples/svg/richtext/textobject/CMakeLists.txt56
-rw-r--r--examples/svg/svggenerator/CMakeLists.txt61
-rw-r--r--examples/svg/svgviewer/CMakeLists.txt70
-rw-r--r--examples/svg/svgviewer/mainwindow.cpp4
-rw-r--r--examples/svg/svgviewer/svgview.cpp6
-rw-r--r--examples/svg/svgviewer/svgviewer.pro5
18 files changed, 574 insertions, 7 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
index 0000000..eb44013
--- /dev/null
+++ b/examples/CMakeLists.txt
@@ -0,0 +1,7 @@
+# Generated from examples.pro.
+
+qt_examples_build_begin()
+
+add_subdirectory(svg)
+
+qt_examples_build_end()
diff --git a/examples/svg/CMakeLists.txt b/examples/svg/CMakeLists.txt
new file mode 100644
index 0000000..c9596e3
--- /dev/null
+++ b/examples/svg/CMakeLists.txt
@@ -0,0 +1,10 @@
+# Generated from svg.pro.
+
+add_subdirectory(embedded)
+add_subdirectory(richtext)
+add_subdirectory(draganddrop)
+if(TARGET Qt::Widgets)
+ add_subdirectory(embeddedsvgviewer)
+# add_subdirectory(svggenerator) # special case
+ add_subdirectory(svgviewer)
+endif()
diff --git a/examples/svg/draganddrop/CMakeLists.txt b/examples/svg/draganddrop/CMakeLists.txt
new file mode 100644
index 0000000..64c9482
--- /dev/null
+++ b/examples/svg/draganddrop/CMakeLists.txt
@@ -0,0 +1,5 @@
+# Generated from draganddrop.pro.
+
+if(TARGET Qt::Widgets)
+ add_subdirectory(delayedencoding)
+endif()
diff --git a/examples/svg/draganddrop/delayedencoding/CMakeLists.txt b/examples/svg/draganddrop/delayedencoding/CMakeLists.txt
new file mode 100644
index 0000000..71d461f
--- /dev/null
+++ b/examples/svg/draganddrop/delayedencoding/CMakeLists.txt
@@ -0,0 +1,59 @@
+# Generated from delayedencoding.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(delayedencoding LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/svg/draganddrop/delayedencoding")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Svg)
+find_package(Qt6 COMPONENTS SvgWidgets)
+
+qt_add_executable(delayedencoding
+ main.cpp
+ mimedata.cpp mimedata.h
+ sourcewidget.cpp sourcewidget.h
+)
+set_target_properties(delayedencoding PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(delayedencoding PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Svg
+ Qt::SvgWidgets
+ Qt::Widgets
+)
+
+
+# Resources:
+set(delayedencoding_resource_files
+ "images/drag.png"
+ "images/example.svg"
+)
+
+qt6_add_resources(delayedencoding "delayedencoding"
+ PREFIX
+ "/"
+ FILES
+ ${delayedencoding_resource_files}
+)
+
+install(TARGETS delayedencoding
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/svg/embedded/CMakeLists.txt b/examples/svg/embedded/CMakeLists.txt
new file mode 100644
index 0000000..adf7001
--- /dev/null
+++ b/examples/svg/embedded/CMakeLists.txt
@@ -0,0 +1,11 @@
+# Generated from embedded.pro.
+
+if(TARGET Qt::Widgets)
+ add_subdirectory(desktopservices)
+endif()
+if(QT_FEATURE_process AND TARGET Qt::Widgets)
+ add_subdirectory(fluidlauncher)
+endif()
+if(TARGET Qt::Network AND TARGET Qt::Widgets)
+ add_subdirectory(weatherinfo)
+endif()
diff --git a/examples/svg/embedded/desktopservices/CMakeLists.txt b/examples/svg/embedded/desktopservices/CMakeLists.txt
new file mode 100644
index 0000000..4d322e7
--- /dev/null
+++ b/examples/svg/embedded/desktopservices/CMakeLists.txt
@@ -0,0 +1,58 @@
+# Generated from desktopservices.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(desktopservices LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/svg/embedded/desktopservices")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(desktopservices
+ contenttab.cpp contenttab.h
+ desktopwidget.cpp desktopwidget.h
+ linktab.cpp linktab.h
+ main.cpp
+)
+set_target_properties(desktopservices PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(desktopservices PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+)
+
+
+# Resources:
+set(desktopservices_resource_files
+ "resources/browser.png"
+ "resources/message.png"
+ "resources/music.png"
+ "resources/photo.png"
+)
+
+qt6_add_resources(desktopservices "desktopservices"
+ PREFIX
+ "/"
+ FILES
+ ${desktopservices_resource_files}
+)
+
+install(TARGETS desktopservices
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/svg/embedded/embedded.pro b/examples/svg/embedded/embedded.pro
index 3284881..6eaa211 100644
--- a/examples/svg/embedded/embedded.pro
+++ b/examples/svg/embedded/embedded.pro
@@ -3,3 +3,6 @@ qtHaveModule(widgets): SUBDIRS += desktopservices fluidlauncher weatherinfo
# Disable platforms without process support
!qtConfig(process): SUBDIRS -= fluidlauncher
+
+# Requires QtNetwork
+!qtHaveModule(network): SUBDIRS -= weatherinfo
diff --git a/examples/svg/embedded/fluidlauncher/CMakeLists.txt b/examples/svg/embedded/fluidlauncher/CMakeLists.txt
new file mode 100644
index 0000000..0feb228
--- /dev/null
+++ b/examples/svg/embedded/fluidlauncher/CMakeLists.txt
@@ -0,0 +1,94 @@
+# Generated from fluidlauncher.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(fluidlauncher LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/svg/embedded/fluidlauncher")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(fluidlauncher
+ demoapplication.cpp demoapplication.h
+ fluidlauncher.cpp fluidlauncher.h
+ main.cpp
+ pictureflow.cpp pictureflow.h
+ slideshow.cpp slideshow.h
+)
+set_target_properties(fluidlauncher PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(fluidlauncher PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+)
+
+
+# Resources:
+set(fluidlauncher_resource_files
+ "config.xml"
+ "screenshots/anomaly_s60.png"
+ "screenshots/concentriccircles.png"
+ "screenshots/context2d_s60.png"
+ "screenshots/deform.png"
+ "screenshots/desktopservices_s60.png"
+ "screenshots/digiflip.png"
+ "screenshots/elasticnodes.png"
+ "screenshots/embeddedsvgviewer.png"
+ "screenshots/embeddedsvgviewer_s60.png"
+ "screenshots/flickable.png"
+ "screenshots/flightinfo_s60.png"
+ "screenshots/fridgemagnets_s60.png"
+ "screenshots/ftp_s60.png"
+ "screenshots/lightmaps.png"
+ "screenshots/mediaplayer.png"
+ "screenshots/pathstroke.png"
+ "screenshots/qmlcalculator.png"
+ "screenshots/qmlclocks.png"
+ "screenshots/qmldialcontrol.png"
+ "screenshots/qmleasing.png"
+ "screenshots/qmlflickr.jpg"
+ "screenshots/qmlphotoviewer.jpg"
+ "screenshots/qmltwitter.jpg"
+ "screenshots/raycasting.png"
+ "screenshots/saxbookmarks_s60.png"
+ "screenshots/softkeys_s60.png"
+ "screenshots/spectrum.png"
+ "screenshots/styledemo.png"
+ "screenshots/styledemo_s60.png"
+ "screenshots/weatherinfo.png"
+ "screenshots/wiggly.png"
+ "screenshots/wiggly_s60.png"
+ "slides/demo_1.png"
+ "slides/demo_2.png"
+ "slides/demo_3.png"
+ "slides/demo_4.png"
+ "slides/demo_5.png"
+ "slides/demo_6.png"
+)
+
+qt6_add_resources(fluidlauncher "fluidlauncher"
+ PREFIX
+ "/fluidlauncher"
+ FILES
+ ${fluidlauncher_resource_files}
+)
+
+install(TARGETS fluidlauncher
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/svg/embedded/weatherinfo/CMakeLists.txt b/examples/svg/embedded/weatherinfo/CMakeLists.txt
new file mode 100644
index 0000000..39e5490
--- /dev/null
+++ b/examples/svg/embedded/weatherinfo/CMakeLists.txt
@@ -0,0 +1,69 @@
+# Generated from weatherinfo.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(svgweatherinfo LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/svg/embedded/weatherinfo")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Network)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Svg)
+find_package(Qt6 COMPONENTS SvgWidgets)
+
+qt_add_executable(svgweatherinfo
+ weatherinfo.cpp
+)
+set_target_properties(svgweatherinfo PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(svgweatherinfo PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Network
+ Qt::Svg
+ Qt::SvgWidgets
+ Qt::Widgets
+)
+
+
+# Resources:
+set(weatherinfo_resource_files
+ "icons/weather-few-clouds.svg"
+ "icons/weather-fog.svg"
+ "icons/weather-haze.svg"
+ "icons/weather-icy.svg"
+ "icons/weather-overcast.svg"
+ "icons/weather-showers.svg"
+ "icons/weather-sleet.svg"
+ "icons/weather-snow.svg"
+ "icons/weather-storm.svg"
+ "icons/weather-sunny-very-few-clouds.svg"
+ "icons/weather-sunny.svg"
+ "icons/weather-thundershower.svg"
+)
+
+qt6_add_resources(svgweatherinfo "weatherinfo"
+ PREFIX
+ "/"
+ FILES
+ ${weatherinfo_resource_files}
+)
+
+install(TARGETS svgweatherinfo
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/svg/embedded/weatherinfo/weatherinfo.pro b/examples/svg/embedded/weatherinfo/weatherinfo.pro
index e69bbe4..562430e 100644
--- a/examples/svg/embedded/weatherinfo/weatherinfo.pro
+++ b/examples/svg/embedded/weatherinfo/weatherinfo.pro
@@ -1,5 +1,5 @@
TEMPLATE = app
-TARGET = weatherinfo
+TARGET = svgweatherinfo
SOURCES = weatherinfo.cpp
RESOURCES = weatherinfo.qrc
QT += network widgets svg svgwidgets
diff --git a/examples/svg/embeddedsvgviewer/CMakeLists.txt b/examples/svg/embeddedsvgviewer/CMakeLists.txt
new file mode 100644
index 0000000..7b2f44a
--- /dev/null
+++ b/examples/svg/embeddedsvgviewer/CMakeLists.txt
@@ -0,0 +1,56 @@
+# Generated from embeddedsvgviewer.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(embeddedsvgviewer LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/svg/embeddedsvgviewer")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Svg)
+
+qt_add_executable(embeddedsvgviewer
+ embeddedsvgviewer.cpp embeddedsvgviewer.h
+ main.cpp
+)
+set_target_properties(embeddedsvgviewer PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(embeddedsvgviewer PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Svg
+ Qt::Widgets
+)
+
+
+# Resources:
+set(embeddedsvgviewer_resource_files
+ "files/default.svg"
+ "files/v-slider-handle.svg"
+)
+
+qt6_add_resources(embeddedsvgviewer "embeddedsvgviewer"
+ PREFIX
+ "/"
+ FILES
+ ${embeddedsvgviewer_resource_files}
+)
+
+install(TARGETS embeddedsvgviewer
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/svg/richtext/CMakeLists.txt b/examples/svg/richtext/CMakeLists.txt
new file mode 100644
index 0000000..74d04ce
--- /dev/null
+++ b/examples/svg/richtext/CMakeLists.txt
@@ -0,0 +1,5 @@
+# Generated from richtext.pro.
+
+if(TARGET Qt::Widgets)
+ add_subdirectory(textobject)
+endif()
diff --git a/examples/svg/richtext/textobject/CMakeLists.txt b/examples/svg/richtext/textobject/CMakeLists.txt
new file mode 100644
index 0000000..c79393b
--- /dev/null
+++ b/examples/svg/richtext/textobject/CMakeLists.txt
@@ -0,0 +1,56 @@
+# Generated from textobject.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(textobject LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/svg/richtext/textobject")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Svg)
+
+qt_add_executable(textobject
+ main.cpp
+ svgtextobject.cpp svgtextobject.h
+ window.cpp window.h
+)
+set_target_properties(textobject PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(textobject PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Svg
+ Qt::Widgets
+)
+
+
+# Resources:
+set(resources_resource_files
+ "files/heart.svg"
+)
+
+qt6_add_resources(textobject "resources"
+ PREFIX
+ "/"
+ FILES
+ ${resources_resource_files}
+)
+
+install(TARGETS textobject
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/svg/svggenerator/CMakeLists.txt b/examples/svg/svggenerator/CMakeLists.txt
new file mode 100644
index 0000000..82616ab
--- /dev/null
+++ b/examples/svg/svggenerator/CMakeLists.txt
@@ -0,0 +1,61 @@
+# Generated from svggenerator.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(svggenerator LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/svg/svggenerator")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Svg)
+
+qt_add_executable(svggenerator
+ displaywidget.cpp displaywidget.h
+ forms/window.ui
+ main.cpp
+ window.cpp window.h
+)
+set_target_properties(svggenerator PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_include_directories(svggenerator PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+target_link_libraries(svggenerator PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Svg
+ Qt::Widgets
+)
+
+
+# Resources:
+set(svggenerator_resource_files
+ "resources/shapes.dat"
+)
+
+qt6_add_resources(svggenerator "svggenerator"
+ PREFIX
+ "/"
+ FILES
+ ${svggenerator_resource_files}
+)
+
+install(TARGETS svggenerator
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/svg/svgviewer/CMakeLists.txt b/examples/svg/svgviewer/CMakeLists.txt
new file mode 100644
index 0000000..efb7395
--- /dev/null
+++ b/examples/svg/svgviewer/CMakeLists.txt
@@ -0,0 +1,70 @@
+# Generated from svgviewer.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(svgviewer LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/svg/svgviewer")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Svg)
+find_package(Qt6 COMPONENTS SvgWidgets)
+
+qt_add_executable(svgviewer
+ exportdialog.cpp exportdialog.h
+ main.cpp
+ mainwindow.cpp mainwindow.h
+ svgview.cpp svgview.h
+)
+set_target_properties(svgviewer PROPERTIES
+ WIN32_EXECUTABLE FALSE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(svgviewer PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Svg
+ Qt::SvgWidgets
+ Qt::Widgets
+)
+
+
+# Resources:
+set(svgviewer_resource_files
+ "files/bubbles.svg"
+)
+
+qt6_add_resources(svgviewer "svgviewer"
+ PREFIX
+ "/"
+ FILES
+ ${svgviewer_resource_files}
+)
+
+if(TARGET Qt::OpenGL AND TARGET Qt::OpenGLWidgets)
+ target_compile_definitions(svgviewer PUBLIC
+ USE_OPENGLWIDGETS
+ )
+
+ target_link_libraries(svgviewer PUBLIC
+ Qt::OpenGL
+ Qt::OpenGLWidgets
+ )
+endif()
+
+install(TARGETS svgviewer
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/svg/svgviewer/mainwindow.cpp b/examples/svg/svgviewer/mainwindow.cpp
index f67837e..c93442e 100644
--- a/examples/svg/svgviewer/mainwindow.cpp
+++ b/examples/svg/svgviewer/mainwindow.cpp
@@ -108,7 +108,7 @@ MainWindow::MainWindow()
m_nativeAction->setCheckable(true);
m_nativeAction->setChecked(true);
m_nativeAction->setData(int(SvgView::Native));
-#ifndef QT_NO_OPENGL
+#ifdef USE_OPENGLWIDGETS
m_glAction = rendererMenu->addAction(tr("&OpenGL"));
m_glAction->setCheckable(true);
m_glAction->setData(int(SvgView::OpenGL));
@@ -125,7 +125,7 @@ MainWindow::MainWindow()
QActionGroup *rendererGroup = new QActionGroup(this);
rendererGroup->addAction(m_nativeAction);
-#ifndef QT_NO_OPENGL
+#ifdef USE_OPENGLWIDGETS
rendererGroup->addAction(m_glAction);
#endif
rendererGroup->addAction(m_imageAction);
diff --git a/examples/svg/svgviewer/svgview.cpp b/examples/svg/svgviewer/svgview.cpp
index 6674f87..ae31637 100644
--- a/examples/svg/svgviewer/svgview.cpp
+++ b/examples/svg/svgviewer/svgview.cpp
@@ -58,8 +58,8 @@
#include <QPaintEvent>
#include <qmath.h>
-#ifndef QT_NO_OPENGL
-#include <QOpenGLWidget>
+#ifdef USE_OPENGLWIDGETS
+#include <QtOpenGLWidgets/qopenglwidget.h>
#endif
SvgView::SvgView(QWidget *parent)
@@ -145,7 +145,7 @@ void SvgView::setRenderer(RendererType type)
m_renderer = type;
if (m_renderer == OpenGL) {
-#ifndef QT_NO_OPENGL
+#ifdef USE_OPENGLWIDGETS
setViewport(new QOpenGLWidget);
#endif
} else {
diff --git a/examples/svg/svgviewer/svgviewer.pro b/examples/svg/svgviewer/svgviewer.pro
index 1a54025..f0a585c 100644
--- a/examples/svg/svgviewer/svgviewer.pro
+++ b/examples/svg/svgviewer/svgviewer.pro
@@ -8,7 +8,10 @@ SOURCES = main.cpp \
exportdialog.cpp
QT += widgets svg svgwidgets
-qtHaveModule(opengl): QT += opengl openglwidgets
+qtHaveModule(opengl): qtHaveModule(openglwidgets) {
+ DEFINES += USE_OPENGLWIDGETS
+ QT += opengl openglwidgets
+}
CONFIG += console