56 lines
1.3 KiB
CMake
56 lines
1.3 KiB
CMake
# Copyright (C) 2022 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
cmake_minimum_required(VERSION 3.16)
|
|
project(custommaterial_declarative LANGUAGES CXX)
|
|
|
|
find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml Quick ShaderTools)
|
|
|
|
qt_standard_project_setup()
|
|
|
|
qt_add_executable(custommaterial_declarative WIN32 MACOSX_BUNDLE
|
|
customitem.cpp customitem.h
|
|
main.cpp
|
|
)
|
|
|
|
target_link_libraries(custommaterial_declarative PRIVATE
|
|
Qt6::Core
|
|
Qt6::Gui
|
|
Qt6::Qml
|
|
Qt6::Quick
|
|
)
|
|
|
|
qt_add_qml_module(custommaterial_declarative
|
|
URI ExampleCustomMaterial
|
|
QML_FILES
|
|
main.qml
|
|
RESOURCE_PREFIX /scenegraph/custommaterial
|
|
NO_RESOURCE_TARGET_PATH
|
|
)
|
|
|
|
qt6_add_shaders(custommaterial_declarative "shaders"
|
|
BATCHABLE
|
|
PRECOMPILE
|
|
OPTIMIZED
|
|
PREFIX
|
|
"/scenegraph/custommaterial"
|
|
FILES
|
|
"shaders/mandelbrot.vert"
|
|
"shaders/mandelbrot.frag"
|
|
)
|
|
|
|
install(TARGETS custommaterial_declarative
|
|
BUNDLE DESTINATION .
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
)
|
|
|
|
qt_generate_deploy_qml_app_script(
|
|
TARGET custommaterial_declarative
|
|
OUTPUT_SCRIPT deploy_script
|
|
MACOS_BUNDLE_POST_BUILD
|
|
NO_UNSUPPORTED_PLATFORM_ERROR
|
|
DEPLOY_USER_QML_MODULES_ON_UNSUPPORTED_PLATFORM
|
|
)
|
|
install(SCRIPT ${deploy_script})
|