summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorTuomo Pelkonen <tuomo.pelkonen@gmail.com>2021-01-20 15:18:03 +0200
committerTuomo Pelkonen <tuomo.pelkonen@gmail.com>2021-01-27 13:16:44 +0200
commite2e20c9f1180476193baa32cf7a50252f35f01f3 (patch)
tree54871adbc899181d149eed413570c79b13058074 /examples
parentff193e33d80a08ca0c21fdbccc2d63e6b7400d88 (diff)
Add CMake build
Task-number: QTBUG-89299 Change-Id: I5becbf39605e566c3d32cb5e210d974df9de27da Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/CMakeLists.txt5
-rw-r--r--examples/datavisualization/CMakeLists.txt29
-rw-r--r--examples/datavisualization/audiolevels/CMakeLists.txt39
-rw-r--r--examples/datavisualization/bars/CMakeLists.txt40
-rw-r--r--examples/datavisualization/custominput/CMakeLists.txt51
-rw-r--r--examples/datavisualization/customitems/CMakeLists.txt64
-rw-r--r--examples/datavisualization/customproxy/CMakeLists.txt51
-rw-r--r--examples/datavisualization/customproxy/variantbardataproxy.h2
-rw-r--r--examples/datavisualization/draggableaxes/CMakeLists.txt40
-rw-r--r--examples/datavisualization/itemmodel/CMakeLists.txt38
-rw-r--r--examples/datavisualization/qmlaxisdrag/CMakeLists.txt77
-rw-r--r--examples/datavisualization/qmlaxisformatter/CMakeLists.txt53
-rw-r--r--examples/datavisualization/qmlbars/CMakeLists.txt57
-rw-r--r--examples/datavisualization/qmlcustominput/CMakeLists.txt52
-rw-r--r--examples/datavisualization/qmllegend/CMakeLists.txt53
-rw-r--r--examples/datavisualization/qmlmultigraph/CMakeLists.txt52
-rw-r--r--examples/datavisualization/qmloscilloscope/CMakeLists.txt52
-rw-r--r--examples/datavisualization/qmlscatter/CMakeLists.txt52
-rw-r--r--examples/datavisualization/qmlspectrogram/CMakeLists.txt52
-rw-r--r--examples/datavisualization/qmlsurface/CMakeLists.txt65
-rw-r--r--examples/datavisualization/qmlsurfacelayers/CMakeLists.txt63
-rw-r--r--examples/datavisualization/rotations/CMakeLists.txt51
-rw-r--r--examples/datavisualization/scatter/CMakeLists.txt39
-rw-r--r--examples/datavisualization/surface/CMakeLists.txt53
-rw-r--r--examples/datavisualization/texturesurface/CMakeLists.txt60
-rw-r--r--examples/datavisualization/volumetric/CMakeLists.txt52
26 files changed, 1241 insertions, 1 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
index 00000000..5b2f563c
--- /dev/null
+++ b/examples/CMakeLists.txt
@@ -0,0 +1,5 @@
+qt_examples_build_begin()
+
+add_subdirectory(datavisualization)
+
+qt_examples_build_end()
diff --git a/examples/datavisualization/CMakeLists.txt b/examples/datavisualization/CMakeLists.txt
new file mode 100644
index 00000000..b70b3b53
--- /dev/null
+++ b/examples/datavisualization/CMakeLists.txt
@@ -0,0 +1,29 @@
+if(TARGET Qt::Quick)
+ add_subdirectory(qmlbars)
+ add_subdirectory(qmlscatter)
+ add_subdirectory(qmlsurface)
+ add_subdirectory(qmlcustominput)
+ add_subdirectory(qmllegend)
+ add_subdirectory(qmlmultigraph)
+ add_subdirectory(qmloscilloscope)
+ add_subdirectory(qmlsurfacelayers)
+ add_subdirectory(qmlaxisformatter)
+ add_subdirectory(qmlaxisdrag)
+ add_subdirectory(qmlspectrogram)
+endif()
+if(NOT ANDROID AND NOT IOS AND NOT WINRT)
+ add_subdirectory(bars)
+ add_subdirectory(custominput)
+ add_subdirectory(customproxy)
+ add_subdirectory(itemmodel)
+ add_subdirectory(scatter)
+ add_subdirectory(surface)
+ add_subdirectory(rotations)
+ add_subdirectory(draggableaxes)
+ add_subdirectory(customitems)
+ add_subdirectory(texturesurface)
+ add_subdirectory(volumetric)
+endif()
+if(TARGET Qt::Multimedia AND NOT ANDROID AND NOT IOS AND NOT WINRT)
+ add_subdirectory(audiolevels)
+endif()
diff --git a/examples/datavisualization/audiolevels/CMakeLists.txt b/examples/datavisualization/audiolevels/CMakeLists.txt
new file mode 100644
index 00000000..8c5ba61c
--- /dev/null
+++ b/examples/datavisualization/audiolevels/CMakeLists.txt
@@ -0,0 +1,39 @@
+cmake_minimum_required(VERSION 3.14)
+project(audiolevels 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Multimedia)
+
+qt_add_executable(audiolevels
+ audiolevels.cpp audiolevels.h
+ audiolevelsiodevice.cpp audiolevelsiodevice.h
+ main.cpp
+)
+set_target_properties(audiolevels PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(audiolevels PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Multimedia
+)
+
+install(TARGETS audiolevels
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/bars/CMakeLists.txt b/examples/datavisualization/bars/CMakeLists.txt
new file mode 100644
index 00000000..d4245128
--- /dev/null
+++ b/examples/datavisualization/bars/CMakeLists.txt
@@ -0,0 +1,40 @@
+cmake_minimum_required(VERSION 3.14)
+project(bars 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Quick)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(bars
+ graphmodifier.cpp graphmodifier.h
+ main.cpp
+)
+set_target_properties(bars PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(bars PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+install(TARGETS bars
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/custominput/CMakeLists.txt b/examples/datavisualization/custominput/CMakeLists.txt
new file mode 100644
index 00000000..307cc63e
--- /dev/null
+++ b/examples/datavisualization/custominput/CMakeLists.txt
@@ -0,0 +1,51 @@
+cmake_minimum_required(VERSION 3.14)
+project(custominput 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(custominput
+ custominputhandler.cpp custominputhandler.h
+ main.cpp
+ scatterdatamodifier.cpp scatterdatamodifier.h
+)
+set_target_properties(custominput PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(custominput PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+set(custominput_resource_files
+ "data/data.txt"
+)
+
+qt6_add_resources(custominput "custominput"
+ PREFIX
+ "/"
+ FILES
+ ${custominput_resource_files}
+)
+
+install(TARGETS custominput
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/customitems/CMakeLists.txt b/examples/datavisualization/customitems/CMakeLists.txt
new file mode 100644
index 00000000..c4f5c7bd
--- /dev/null
+++ b/examples/datavisualization/customitems/CMakeLists.txt
@@ -0,0 +1,64 @@
+cmake_minimum_required(VERSION 3.14)
+project(customitems 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(customitems
+ customitemgraph.cpp customitemgraph.h
+ main.cpp
+)
+set_target_properties(customitems PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(customitems PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+set(customitems_resource_files
+ "layer_1.png"
+ "layer_2.png"
+ "layer_3.png"
+)
+
+qt6_add_resources(customitems "customitems"
+ PREFIX
+ "/maps"
+ FILES
+ ${customitems_resource_files}
+)
+set(customitems1_resource_files
+ "oilrig.obj"
+ "pipe.obj"
+ "refinery.obj"
+)
+
+qt6_add_resources(customitems "customitems1"
+ PREFIX
+ "/items"
+ FILES
+ ${customitems1_resource_files}
+)
+
+install(TARGETS customitems
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/customproxy/CMakeLists.txt b/examples/datavisualization/customproxy/CMakeLists.txt
new file mode 100644
index 00000000..29643c4b
--- /dev/null
+++ b/examples/datavisualization/customproxy/CMakeLists.txt
@@ -0,0 +1,51 @@
+cmake_minimum_required(VERSION 3.14)
+project(customproxy 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+qt_add_executable(customproxy
+ main.cpp
+ rainfallgraph.cpp rainfallgraph.h
+ variantbardatamapping.cpp variantbardatamapping.h
+ variantbardataproxy.cpp variantbardataproxy.h
+ variantdataset.cpp variantdataset.h
+)
+set_target_properties(customproxy PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(customproxy PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::DataVisualization
+)
+
+set(customproxy_resource_files
+ "data/raindata.txt"
+)
+
+qt6_add_resources(customproxy "customproxy"
+ PREFIX
+ "/"
+ FILES
+ ${customproxy_resource_files}
+)
+
+install(TARGETS customproxy
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/customproxy/variantbardataproxy.h b/examples/datavisualization/customproxy/variantbardataproxy.h
index 762b5afc..7cbb85a1 100644
--- a/examples/datavisualization/customproxy/variantbardataproxy.h
+++ b/examples/datavisualization/customproxy/variantbardataproxy.h
@@ -30,7 +30,7 @@
#ifndef VARIANTBARDATAPROXY_H
#define VARIANTBARDATAPROXY_H
-#include "qbardataproxy.h"
+#include <QtDataVisualization/qbardataproxy.h>
#include "variantdataset.h"
#include "variantbardatamapping.h"
#include <QtCore/QStringList>
diff --git a/examples/datavisualization/draggableaxes/CMakeLists.txt b/examples/datavisualization/draggableaxes/CMakeLists.txt
new file mode 100644
index 00000000..6e0a4046
--- /dev/null
+++ b/examples/datavisualization/draggableaxes/CMakeLists.txt
@@ -0,0 +1,40 @@
+cmake_minimum_required(VERSION 3.14)
+project(draggableaxes 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(draggableaxes
+ axesinputhandler.cpp axesinputhandler.h
+ data.cpp data.h
+ main.cpp
+)
+set_target_properties(draggableaxes PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(draggableaxes PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+install(TARGETS draggableaxes
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/itemmodel/CMakeLists.txt b/examples/datavisualization/itemmodel/CMakeLists.txt
new file mode 100644
index 00000000..dadd03a5
--- /dev/null
+++ b/examples/datavisualization/itemmodel/CMakeLists.txt
@@ -0,0 +1,38 @@
+cmake_minimum_required(VERSION 3.14)
+project(itemmodel 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(itemmodel
+ main.cpp
+)
+set_target_properties(itemmodel PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(itemmodel PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+install(TARGETS itemmodel
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlaxisdrag/CMakeLists.txt b/examples/datavisualization/qmlaxisdrag/CMakeLists.txt
new file mode 100644
index 00000000..f82eaf15
--- /dev/null
+++ b/examples/datavisualization/qmlaxisdrag/CMakeLists.txt
@@ -0,0 +1,77 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlaxisdrag 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlaxisdrag
+ main.cpp
+)
+set_target_properties(qmlaxisdrag PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmlaxisdrag PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlaxisdrag_resource_files
+ "qml/qmlaxisdrag/main.qml"
+)
+
+qt6_add_resources(qmlaxisdrag "qmlaxisdrag"
+ PREFIX
+ "/"
+ FILES
+ ${qmlaxisdrag_resource_files}
+)
+set_source_files_properties("qml/qmlaxisdrag/cube.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "cube"
+)
+set(qmlaxisdrag1_resource_files
+ "qml/qmlaxisdrag/cube.obj"
+)
+
+qt6_add_resources(qmlaxisdrag "qmlaxisdrag1"
+ PREFIX
+ "/mesh"
+ FILES
+ ${qmlaxisdrag1_resource_files}
+)
+set_source_files_properties("qml/qmlaxisdrag/cubetexture.png"
+ PROPERTIES QT_RESOURCE_ALIAS "texture"
+)
+set(qmlaxisdrag2_resource_files
+ "qml/qmlaxisdrag/cubetexture.png"
+)
+
+qt6_add_resources(qmlaxisdrag "qmlaxisdrag2"
+ PREFIX
+ "/texture"
+ FILES
+ ${qmlaxisdrag2_resource_files}
+)
+
+install(TARGETS qmlaxisdrag
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlaxisformatter/CMakeLists.txt b/examples/datavisualization/qmlaxisformatter/CMakeLists.txt
new file mode 100644
index 00000000..aacd2cde
--- /dev/null
+++ b/examples/datavisualization/qmlaxisformatter/CMakeLists.txt
@@ -0,0 +1,53 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlaxisformatter 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlaxisformatter
+ customformatter.cpp customformatter.h
+ main.cpp
+)
+set_target_properties(qmlaxisformatter PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmlaxisformatter PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlaxisformatter_resource_files
+ "qml/qmlaxisformatter/Data.qml"
+ "qml/qmlaxisformatter/main.qml"
+)
+
+qt6_add_resources(qmlaxisformatter "qmlaxisformatter"
+ PREFIX
+ "/"
+ FILES
+ ${qmlaxisformatter_resource_files}
+)
+
+install(TARGETS qmlaxisformatter
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlbars/CMakeLists.txt b/examples/datavisualization/qmlbars/CMakeLists.txt
new file mode 100644
index 00000000..3156e991
--- /dev/null
+++ b/examples/datavisualization/qmlbars/CMakeLists.txt
@@ -0,0 +1,57 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlbars 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlbars
+ main.cpp
+)
+set_target_properties(qmlbars PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_compile_definitions(qmlbars PUBLIC
+ QT_DISABLE_DEPRECATED_BEFORE=0x050F00
+)
+
+target_link_libraries(qmlbars PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlbars_resource_files
+ "qml/qmlbars/Axes.qml"
+ "qml/qmlbars/Data.qml"
+ "qml/qmlbars/main.qml"
+)
+
+qt6_add_resources(qmlbars "qmlbars"
+ PREFIX
+ "/"
+ FILES
+ ${qmlbars_resource_files}
+)
+
+install(TARGETS qmlbars
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlcustominput/CMakeLists.txt b/examples/datavisualization/qmlcustominput/CMakeLists.txt
new file mode 100644
index 00000000..a618c835
--- /dev/null
+++ b/examples/datavisualization/qmlcustominput/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlcustominput 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlcustominput
+ main.cpp
+)
+set_target_properties(qmlcustominput PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmlcustominput PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlcustominput_resource_files
+ "qml/qmlcustominput/Data.qml"
+ "qml/qmlcustominput/main.qml"
+)
+
+qt6_add_resources(qmlcustominput "qmlcustominput"
+ PREFIX
+ "/"
+ FILES
+ ${qmlcustominput_resource_files}
+)
+
+install(TARGETS qmlcustominput
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmllegend/CMakeLists.txt b/examples/datavisualization/qmllegend/CMakeLists.txt
new file mode 100644
index 00000000..68cbd7f3
--- /dev/null
+++ b/examples/datavisualization/qmllegend/CMakeLists.txt
@@ -0,0 +1,53 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmllegend 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmllegend
+ main.cpp
+)
+set_target_properties(qmllegend PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmllegend PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmllegend_resource_files
+ "qml/qmllegend/Data.qml"
+ "qml/qmllegend/LegendItem.qml"
+ "qml/qmllegend/main.qml"
+)
+
+qt6_add_resources(qmllegend "qmllegend"
+ PREFIX
+ "/"
+ FILES
+ ${qmllegend_resource_files}
+)
+
+install(TARGETS qmllegend
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlmultigraph/CMakeLists.txt b/examples/datavisualization/qmlmultigraph/CMakeLists.txt
new file mode 100644
index 00000000..3bca854c
--- /dev/null
+++ b/examples/datavisualization/qmlmultigraph/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlmultigraph 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlmultigraph
+ main.cpp
+)
+set_target_properties(qmlmultigraph PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmlmultigraph PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlmultigraph_resource_files
+ "qml/qmlmultigraph/Data.qml"
+ "qml/qmlmultigraph/main.qml"
+)
+
+qt6_add_resources(qmlmultigraph "qmlmultigraph"
+ PREFIX
+ "/"
+ FILES
+ ${qmlmultigraph_resource_files}
+)
+
+install(TARGETS qmlmultigraph
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmloscilloscope/CMakeLists.txt b/examples/datavisualization/qmloscilloscope/CMakeLists.txt
new file mode 100644
index 00000000..9fdfbc70
--- /dev/null
+++ b/examples/datavisualization/qmloscilloscope/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmloscilloscope 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmloscilloscope
+ datasource.cpp datasource.h
+ main.cpp
+)
+set_target_properties(qmloscilloscope PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmloscilloscope PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmloscilloscope_resource_files
+ "qml/qmloscilloscope/main.qml"
+)
+
+qt6_add_resources(qmloscilloscope "qmloscilloscope"
+ PREFIX
+ "/"
+ FILES
+ ${qmloscilloscope_resource_files}
+)
+
+install(TARGETS qmloscilloscope
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlscatter/CMakeLists.txt b/examples/datavisualization/qmlscatter/CMakeLists.txt
new file mode 100644
index 00000000..3895f7f5
--- /dev/null
+++ b/examples/datavisualization/qmlscatter/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlscatter 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlscatter
+ main.cpp
+)
+set_target_properties(qmlscatter PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmlscatter PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlscatter_resource_files
+ "qml/qmlscatter/Data.qml"
+ "qml/qmlscatter/main.qml"
+)
+
+qt6_add_resources(qmlscatter "qmlscatter"
+ PREFIX
+ "/"
+ FILES
+ ${qmlscatter_resource_files}
+)
+
+install(TARGETS qmlscatter
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlspectrogram/CMakeLists.txt b/examples/datavisualization/qmlspectrogram/CMakeLists.txt
new file mode 100644
index 00000000..5086ea1f
--- /dev/null
+++ b/examples/datavisualization/qmlspectrogram/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlspectrogram 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlspectrogram
+ main.cpp
+)
+set_target_properties(qmlspectrogram PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmlspectrogram PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlspectrogram_resource_files
+ "qml/qmlspectrogram/Data.qml"
+ "qml/qmlspectrogram/main.qml"
+)
+
+qt6_add_resources(qmlspectrogram "qmlspectrogram"
+ PREFIX
+ "/qml"
+ FILES
+ ${qmlspectrogram_resource_files}
+)
+
+install(TARGETS qmlspectrogram
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlsurface/CMakeLists.txt b/examples/datavisualization/qmlsurface/CMakeLists.txt
new file mode 100644
index 00000000..71203d42
--- /dev/null
+++ b/examples/datavisualization/qmlsurface/CMakeLists.txt
@@ -0,0 +1,65 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlsurface 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlsurface
+ main.cpp
+)
+set_target_properties(qmlsurface PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmlsurface PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlsurface_resource_files
+ "qml/qmlsurface/Data.qml"
+ "qml/qmlsurface/main.qml"
+)
+
+qt6_add_resources(qmlsurface "qmlsurface"
+ PREFIX
+ "/qml"
+ FILES
+ ${qmlsurface_resource_files}
+)
+set_source_files_properties("heightmap.png"
+ PROPERTIES QT_RESOURCE_ALIAS "image"
+)
+set(qmlsurface1_resource_files
+ "heightmap.png"
+)
+
+qt6_add_resources(qmlsurface "qmlsurface1"
+ PREFIX
+ "/heightmaps"
+ FILES
+ ${qmlsurface1_resource_files}
+)
+
+install(TARGETS qmlsurface
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/qmlsurfacelayers/CMakeLists.txt b/examples/datavisualization/qmlsurfacelayers/CMakeLists.txt
new file mode 100644
index 00000000..6287ccfd
--- /dev/null
+++ b/examples/datavisualization/qmlsurfacelayers/CMakeLists.txt
@@ -0,0 +1,63 @@
+cmake_minimum_required(VERSION 3.14)
+project(qmlsurfacelayers 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+qt_add_executable(qmlsurfacelayers
+ main.cpp
+)
+set_target_properties(qmlsurfacelayers PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(qmlsurfacelayers PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::DataVisualization
+)
+
+set(qmlsurfacelayers_resource_files
+ "qml/qmlsurfacelayers/main.qml"
+)
+
+qt6_add_resources(qmlsurfacelayers "qmlsurfacelayers"
+ PREFIX
+ "/"
+ FILES
+ ${qmlsurfacelayers_resource_files}
+)
+set(qmlsurfacelayers1_resource_files
+ "layer_1.png"
+ "layer_2.png"
+ "layer_3.png"
+)
+
+qt6_add_resources(qmlsurfacelayers "qmlsurfacelayers1"
+ PREFIX
+ "/heightmaps"
+ FILES
+ ${qmlsurfacelayers1_resource_files}
+)
+
+install(TARGETS qmlsurfacelayers
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/rotations/CMakeLists.txt b/examples/datavisualization/rotations/CMakeLists.txt
new file mode 100644
index 00000000..a987b8bb
--- /dev/null
+++ b/examples/datavisualization/rotations/CMakeLists.txt
@@ -0,0 +1,51 @@
+cmake_minimum_required(VERSION 3.14)
+project(rotations 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(rotations
+ main.cpp
+ scatterdatamodifier.cpp scatterdatamodifier.h
+)
+set_target_properties(rotations PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(rotations PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+set(rotations_resource_files
+ "mesh/largesphere.obj"
+ "mesh/narrowarrow.obj"
+)
+
+qt6_add_resources(rotations "rotations"
+ PREFIX
+ "/"
+ FILES
+ ${rotations_resource_files}
+)
+
+install(TARGETS rotations
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/scatter/CMakeLists.txt b/examples/datavisualization/scatter/CMakeLists.txt
new file mode 100644
index 00000000..c54c7fbd
--- /dev/null
+++ b/examples/datavisualization/scatter/CMakeLists.txt
@@ -0,0 +1,39 @@
+cmake_minimum_required(VERSION 3.14)
+project(scatter 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(scatter
+ main.cpp
+ scatterdatamodifier.cpp scatterdatamodifier.h
+)
+set_target_properties(scatter PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(scatter PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+install(TARGETS scatter
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/surface/CMakeLists.txt b/examples/datavisualization/surface/CMakeLists.txt
new file mode 100644
index 00000000..50512010
--- /dev/null
+++ b/examples/datavisualization/surface/CMakeLists.txt
@@ -0,0 +1,53 @@
+cmake_minimum_required(VERSION 3.14)
+project(surface 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(surface
+ main.cpp
+ surfacegraph.cpp surfacegraph.h
+)
+set_target_properties(surface PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(surface PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+set_source_files_properties("mountain.png"
+ PROPERTIES QT_RESOURCE_ALIAS "mountain"
+)
+set(surface_resource_files
+ "mountain.png"
+)
+
+qt6_add_resources(surface "surface"
+ PREFIX
+ "/maps"
+ FILES
+ ${surface_resource_files}
+)
+
+install(TARGETS surface
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/texturesurface/CMakeLists.txt b/examples/datavisualization/texturesurface/CMakeLists.txt
new file mode 100644
index 00000000..ebeb0cfc
--- /dev/null
+++ b/examples/datavisualization/texturesurface/CMakeLists.txt
@@ -0,0 +1,60 @@
+cmake_minimum_required(VERSION 3.14)
+project(texturesurface 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(texturesurface
+ custominputhandler.cpp custominputhandler.h
+ highlightseries.cpp highlightseries.h
+ main.cpp
+ surfacegraph.cpp surfacegraph.h
+ topographicseries.cpp topographicseries.h
+)
+set_target_properties(texturesurface PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(texturesurface PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+set_source_files_properties("maptexture.jpg"
+ PROPERTIES QT_RESOURCE_ALIAS "maptexture"
+)
+set_source_files_properties("topography.png"
+ PROPERTIES QT_RESOURCE_ALIAS "topography"
+)
+set(texturedsurface_resource_files
+ "maptexture.jpg"
+ "topography.png"
+)
+
+qt6_add_resources(texturesurface "texturedsurface"
+ PREFIX
+ "/maps"
+ FILES
+ ${texturedsurface_resource_files}
+)
+
+install(TARGETS texturesurface
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/datavisualization/volumetric/CMakeLists.txt b/examples/datavisualization/volumetric/CMakeLists.txt
new file mode 100644
index 00000000..36c270c6
--- /dev/null
+++ b/examples/datavisualization/volumetric/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 3.14)
+project(volumetric 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}")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(volumetric
+ main.cpp
+ volumetric.cpp volumetric.h
+)
+set_target_properties(volumetric PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(volumetric PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ Qt::DataVisualization
+)
+
+set(volumetric_resource_files
+ "layer_ground.png"
+ "layer_magma.png"
+ "layer_water.png"
+)
+
+qt6_add_resources(volumetric "volumetric"
+ PREFIX
+ "/heightmaps"
+ FILES
+ ${volumetric_resource_files}
+)
+
+install(TARGETS volumetric
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)