cmake: add examples/vulkan

Fixes: QTBUG-78216
Change-Id: Id7d936ab0b3febc6b7ad3170ec2ea67836484217
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
This commit is contained in:
Frederik Gladhorn 2019-10-04 10:39:26 +02:00
parent a594629602
commit 331d1cf9fd
7 changed files with 253 additions and 1 deletions

View File

@ -45,7 +45,7 @@ if(TARGET Qt::Gui)
endif()
if(QT_FEATURE_vulkan)
# add_subdirectory(vulkan) # special case: removed
add_subdirectory(vulkan)
endif()
endif()

View File

@ -0,0 +1,11 @@
# Generated from vulkan.pro.
add_subdirectory(hellovulkanwindow)
add_subdirectory(hellovulkantriangle)
add_subdirectory(hellovulkantexture)
if(TARGET Qt::Widgets)
add_subdirectory(hellovulkanwidget)
endif()
if(TARGET Qt::Concurrent AND TARGET Qt::Widgets)
add_subdirectory(hellovulkancubes)
endif()

View File

@ -0,0 +1,63 @@
# Generated from hellovulkancubes.pro.
cmake_minimum_required(VERSION 3.14)
project(hellovulkancubes LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(INSTALL_EXAMPLEDIR "examples")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Widgets)
find_package(Qt6 COMPONENTS Concurrent)
add_qt_gui_executable(hellovulkancubes
camera.cpp camera.h
main.cpp
mainwindow.cpp mainwindow.h
mesh.cpp mesh.h
renderer.cpp renderer.h
shader.cpp shader.h
vulkanwindow.cpp vulkanwindow.h
)
target_link_libraries(hellovulkancubes PUBLIC
Qt::Concurrent
Qt::Core
Qt::Gui
Qt::Widgets
)
# Resources:
set_source_files_properties("../shared/block.buf"
PROPERTIES QT_RESOURCE_ALIAS "block.buf"
)
set_source_files_properties("../shared/qt_logo.buf"
PROPERTIES QT_RESOURCE_ALIAS "qt_logo.buf"
)
set(hellovulkancubes_resource_files
"../shared/block.buf"
"../shared/qt_logo.buf"
"color_frag.spv"
"color_phong_frag.spv"
"color_phong_vert.spv"
"color_vert.spv"
)
qt6_add_resources(hellovulkancubes "hellovulkancubes"
PREFIX
"/"
FILES
${hellovulkancubes_resource_files}
)
install(TARGETS hellovulkancubes
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -0,0 +1,45 @@
# Generated from hellovulkantexture.pro.
cmake_minimum_required(VERSION 3.14)
project(hellovulkantexture LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(INSTALL_EXAMPLEDIR "examples")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
add_qt_gui_executable(hellovulkantexture
hellovulkantexture.cpp hellovulkantexture.h
main.cpp
)
target_link_libraries(hellovulkantexture PUBLIC
Qt::Core
Qt::Gui
)
# Resources:
set(hellovulkantexture_resource_files
"qt256.png"
"texture_frag.spv"
"texture_vert.spv"
)
qt6_add_resources(hellovulkantexture "hellovulkantexture"
PREFIX
"/"
FILES
${hellovulkantexture_resource_files}
)
install(TARGETS hellovulkantexture
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -0,0 +1,50 @@
# Generated from hellovulkantriangle.pro.
cmake_minimum_required(VERSION 3.14)
project(hellovulkantriangle LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(INSTALL_EXAMPLEDIR "examples")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
add_qt_gui_executable(hellovulkantriangle
../shared/trianglerenderer.cpp ../shared/trianglerenderer.h
main.cpp
)
target_link_libraries(hellovulkantriangle PUBLIC
Qt::Core
Qt::Gui
)
# Resources:
set_source_files_properties("../shared/color_frag.spv"
PROPERTIES QT_RESOURCE_ALIAS "color_frag.spv"
)
set_source_files_properties("../shared/color_vert.spv"
PROPERTIES QT_RESOURCE_ALIAS "color_vert.spv"
)
set(hellovulkantriangle_resource_files
"../shared/color_frag.spv"
"../shared/color_vert.spv"
)
qt6_add_resources(hellovulkantriangle "hellovulkantriangle"
PREFIX
"/"
FILES
${hellovulkantriangle_resource_files}
)
install(TARGETS hellovulkantriangle
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -0,0 +1,53 @@
# Generated from hellovulkanwidget.pro.
cmake_minimum_required(VERSION 3.14)
project(hellovulkanwidget LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(INSTALL_EXAMPLEDIR "examples")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Widgets)
add_qt_gui_executable(hellovulkanwidget
../shared/trianglerenderer.cpp ../shared/trianglerenderer.h
hellovulkanwidget.cpp hellovulkanwidget.h
main.cpp
)
target_link_libraries(hellovulkanwidget PUBLIC
Qt::Core
Qt::Gui
Qt::Widgets
)
# Resources:
set_source_files_properties("../shared/color_frag.spv"
PROPERTIES QT_RESOURCE_ALIAS "color_frag.spv"
)
set_source_files_properties("../shared/color_vert.spv"
PROPERTIES QT_RESOURCE_ALIAS "color_vert.spv"
)
set(hellovulkanwidget_resource_files
"../shared/color_frag.spv"
"../shared/color_vert.spv"
)
qt6_add_resources(hellovulkanwidget "hellovulkanwidget"
PREFIX
"/"
FILES
${hellovulkanwidget_resource_files}
)
install(TARGETS hellovulkanwidget
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -0,0 +1,30 @@
# Generated from hellovulkanwindow.pro.
cmake_minimum_required(VERSION 3.14)
project(hellovulkanwindow LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(INSTALL_EXAMPLEDIR "examples")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
add_qt_gui_executable(hellovulkanwindow
hellovulkanwindow.cpp hellovulkanwindow.h
main.cpp
)
target_link_libraries(hellovulkanwindow PUBLIC
Qt::Core
Qt::Gui
)
install(TARGETS hellovulkanwindow
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)