summaryrefslogtreecommitdiffstats
path: root/examples/opengl/cube/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'examples/opengl/cube/CMakeLists.txt')
-rw-r--r--examples/opengl/cube/CMakeLists.txt65
1 files changed, 65 insertions, 0 deletions
diff --git a/examples/opengl/cube/CMakeLists.txt b/examples/opengl/cube/CMakeLists.txt
new file mode 100644
index 0000000000..7486d058a4
--- /dev/null
+++ b/examples/opengl/cube/CMakeLists.txt
@@ -0,0 +1,65 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+project(cube LANGUAGES CXX)
+
+find_package(Qt6 REQUIRED COMPONENTS Core Gui OpenGL OpenGLWidgets Widgets)
+
+qt_standard_project_setup()
+
+qt_add_executable(cube
+ geometryengine.cpp geometryengine.h
+ main.cpp
+ mainwidget.cpp mainwidget.h
+)
+
+set_target_properties(cube PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+
+target_link_libraries(cube PRIVATE
+ Qt6::Core
+ Qt6::Gui
+ Qt6::OpenGL
+ Qt6::OpenGLWidgets
+ Qt6::Widgets
+)
+
+# Resources:
+set(shaders_resource_files
+ "fshader.glsl"
+ "vshader.glsl"
+)
+
+qt6_add_resources(cube "shaders"
+ PREFIX
+ "/"
+ FILES
+ ${shaders_resource_files}
+)
+
+set(textures_resource_files
+ "cube.png"
+)
+
+qt6_add_resources(cube "textures"
+ PREFIX
+ "/"
+ FILES
+ ${textures_resource_files}
+)
+
+install(TARGETS cube
+ BUNDLE DESTINATION .
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
+
+qt_generate_deploy_app_script(
+ TARGET cube
+ OUTPUT_SCRIPT deploy_script
+ NO_UNSUPPORTED_PLATFORM_ERROR
+)
+install(SCRIPT ${deploy_script})