- Qt 6.7
- Qt Quick 3D
- Qt Quick 3D Examples and Tutorials
- Qt Quick 3D - Particles 3D Testbed Example
- Qt Quick 3D | Commercial or GPLv3

# Qt Quick 3D - Particles 3D Testbed Example

     # Copyright (C) 2022 The Qt Company Ltd.
     # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

     cmake_minimum_required(VERSION 3.16)
     project(particles3d LANGUAGES CXX)

     set(CMAKE_AUTOMOC ON)

     if(NOT DEFINED INSTALL_EXAMPLESDIR)
         set(INSTALL_EXAMPLESDIR "examples")
     endif()

     set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick3d/particles3d")

     find_package(Qt6 REQUIRED COMPONENTS Core Gui Quick Quick3D)

     qt_add_executable(particles3d
         main.cpp
     )

     set_target_properties(particles3d PROPERTIES
         WIN32_EXECUTABLE TRUE
         MACOSX_BUNDLE TRUE
     )

     target_link_libraries(particles3d PUBLIC
         Qt::Core
         Qt::Gui
         Qt::Quick
         Qt::Quick3D
     )

     set_source_files_properties(AppSettings.qml PROPERTIES
         QT_QML_SINGLETON_TYPE TRUE
     )

     qt_add_qml_module(particles3d
         URI Example
         VERSION 1.0
         QML_FILES
             AlignedParticles.qml
             AnimatedSprite.qml
             AttractorShapes.qml
             ColorfulParticles.qml
             CustomCheckBox.qml
             CustomLabel.qml
             CustomSlider.qml
             CustomSelectionBox.qml
             DynamicBursts.qml
             EmitAndBurst.qml
             EmitterCustomShapes.qml
             EmitterShapes.qml
             FadingInOut.qml
             Fire.qml
             HeartTrail.qml
             Lights.qml
             LoggingView.qml
             ModelBlendParticles.qml
             OceanSpider.qml
             QtLogoAnimation.qml
             SettingsView.qml
             Snowing.qml
             Sorting.qml
             Speedometer.qml
             StartupView.qml
             SystemPlayPause.qml
             TrailEmitterBurst.qml
             ModelShape.qml
             main.qml
             LineParticles.qml
             AppSettings.qml
         RESOURCES
             images/arrow_icon.png
             images/bear_black.png
             images/colorTable.png
             images/color_table2.png
             images/color_table3.png
             images/color_table4.png
             images/color_table5.png
             images/dot.png
             images/dust.png
             images/explosion_01_strip13.png
             images/icon_interval.png
             images/icon_logging.png
             images/icon_pause.png
             images/icon_play.png
             images/icon_settings.png
             images/leather_n.png
             images/qt_logo.png
             images/qt_logo2.png
             images/qt_logo2_n.png
             images/smoke.png
             images/smoke_sprite.png
             images/snowflake.png
             images/speedometer_labels.png
             images/sphere.png
             images/sprite_09.png
             images/star.png
             images/star2.png
             images/star3.png
             meshes/meter_background.mesh
             meshes/meter_edge.mesh
             meshes/oldqtlogo.mesh
             meshes/suzanne.mesh
             data/qt_logo_in_4096.cbor
             data/qt_logo_out_4096.cbor
             data/heart_4096.cbor
         NO_RESOURCE_TARGET_PATH
     )

     install(TARGETS particles3d
         RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
         BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
         LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
     )