summaryrefslogtreecommitdiffstats
path: root/examples/vulkan/hellovulkantriangle
diff options
context:
space:
mode:
Diffstat (limited to 'examples/vulkan/hellovulkantriangle')
-rw-r--r--examples/vulkan/hellovulkantriangle/CMakeLists.txt32
-rw-r--r--examples/vulkan/hellovulkantriangle/main.cpp7
2 files changed, 24 insertions, 15 deletions
diff --git a/examples/vulkan/hellovulkantriangle/CMakeLists.txt b/examples/vulkan/hellovulkantriangle/CMakeLists.txt
index 79979c416c..23789d4717 100644
--- a/examples/vulkan/hellovulkantriangle/CMakeLists.txt
+++ b/examples/vulkan/hellovulkantriangle/CMakeLists.txt
@@ -1,16 +1,13 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
cmake_minimum_required(VERSION 3.16)
project(hellovulkantriangle LANGUAGES CXX)
-set(CMAKE_AUTOMOC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/vulkan/hellovulkantriangle")
-
find_package(Qt6 REQUIRED COMPONENTS Core Gui)
+qt_standard_project_setup()
+
qt_add_executable(hellovulkantriangle
../shared/trianglerenderer.cpp ../shared/trianglerenderer.h
main.cpp
@@ -21,9 +18,9 @@ set_target_properties(hellovulkantriangle PROPERTIES
MACOSX_BUNDLE TRUE
)
-target_link_libraries(hellovulkantriangle PUBLIC
- Qt::Core
- Qt::Gui
+target_link_libraries(hellovulkantriangle PRIVATE
+ Qt6::Core
+ Qt6::Gui
)
# Resources:
@@ -48,7 +45,14 @@ qt_add_resources(hellovulkantriangle "hellovulkantriangle"
)
install(TARGETS hellovulkantriangle
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION .
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
+
+qt_generate_deploy_app_script(
+ TARGET hellovulkantriangle
+ OUTPUT_SCRIPT deploy_script
+ NO_UNSUPPORTED_PLATFORM_ERROR
)
+install(SCRIPT ${deploy_script})
diff --git a/examples/vulkan/hellovulkantriangle/main.cpp b/examples/vulkan/hellovulkantriangle/main.cpp
index 35ab28f235..3bf45e6b3a 100644
--- a/examples/vulkan/hellovulkantriangle/main.cpp
+++ b/examples/vulkan/hellovulkantriangle/main.cpp
@@ -8,11 +8,13 @@
Q_LOGGING_CATEGORY(lcVk, "qt.vulkan")
+//! [2]
class VulkanWindow : public QVulkanWindow
{
public:
QVulkanWindowRenderer *createRenderer() override;
};
+//! [2]
QVulkanWindowRenderer *VulkanWindow::createRenderer()
{
@@ -25,17 +27,20 @@ int main(int argc, char *argv[])
QLoggingCategory::setFilterRules(QStringLiteral("qt.vulkan=true"));
+//! [0]
QVulkanInstance inst;
inst.setLayers({ "VK_LAYER_KHRONOS_validation" });
-
if (!inst.create())
qFatal("Failed to create Vulkan instance: %d", inst.errorCode());
+//! [0]
+//! [1]
VulkanWindow w;
w.setVulkanInstance(&inst);
w.resize(1024, 768);
w.show();
+//! [1]
return app.exec();
}