Qt Quick Demo - Photo Surface | Qt 6.2

- Qt 6.2
- Qt Quick Demo - Photo Surface
- Qt 6.2.3 Reference Documentation

# Qt Quick Demo - Photo Surface

     # Generated from photosurface.pro.
     # special case skip regeneration

     cmake_minimum_required(VERSION 3.16)
     project(photosurface 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}/demos/photosurface")

     find_package(Qt6 COMPONENTS Core)
     find_package(Qt6 COMPONENTS Gui)
     find_package(Qt6 COMPONENTS Qml)
     find_package(Qt6 COMPONENTS Quick)

     if (WIN32)
         set(app_icon_resource_windows "${CMAKE_CURRENT_SOURCE_DIR}/resources/photosurface.rc")
         qt_add_executable(photosurface main.cpp ${app_icon_resource_windows})
     elseif (APPLE)
         # The MACOSX_BUNDLE_ICON_FILE variable is added to the Info.plist
         # generated by CMake. This variable contains the .icns file name,
         # without the path.
         set(MACOSX_BUNDLE_ICON_FILE photosurface.icns)

         # And the following tells CMake where to find and install the file itself.
         set(app_icon_macos "${CMAKE_CURRENT_SOURCE_DIR}/resources/photosurface.icns")
         set_source_files_properties(${app_icon_macos} PROPERTIES
                MACOSX_PACKAGE_LOCATION "Resources")

         qt_add_executable(photosurface MACOSX_BUNDLE main.cpp ${app_icon_macos})
     else()
         qt_add_executable(photosurface main.cpp)
     endif()

     target_link_libraries(photosurface PUBLIC
         Qt::Core
         Qt::Gui
         Qt::Qml
         Qt::Quick
     )

     # Resources:
     set(photosurface_resource_files
         "photosurface.qml"
         "resources/folder.png"
     )

     qt6_add_resources(photosurface "photosurface"
         PREFIX
             "/"
         FILES
             ${photosurface_resource_files}
     )

     if(TARGET Qt::Widgets)
         target_link_libraries(photosurface PUBLIC
             Qt::Widgets
         )
     endif()

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