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:
parent
a594629602
commit
331d1cf9fd
@ -45,7 +45,7 @@ if(TARGET Qt::Gui)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(QT_FEATURE_vulkan)
|
if(QT_FEATURE_vulkan)
|
||||||
# add_subdirectory(vulkan) # special case: removed
|
add_subdirectory(vulkan)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
11
examples/vulkan/CMakeLists.txt
Normal file
11
examples/vulkan/CMakeLists.txt
Normal 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()
|
63
examples/vulkan/hellovulkancubes/CMakeLists.txt
Normal file
63
examples/vulkan/hellovulkancubes/CMakeLists.txt
Normal 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}"
|
||||||
|
)
|
45
examples/vulkan/hellovulkantexture/CMakeLists.txt
Normal file
45
examples/vulkan/hellovulkantexture/CMakeLists.txt
Normal 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}"
|
||||||
|
)
|
50
examples/vulkan/hellovulkantriangle/CMakeLists.txt
Normal file
50
examples/vulkan/hellovulkantriangle/CMakeLists.txt
Normal 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}"
|
||||||
|
)
|
53
examples/vulkan/hellovulkanwidget/CMakeLists.txt
Normal file
53
examples/vulkan/hellovulkanwidget/CMakeLists.txt
Normal 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}"
|
||||||
|
)
|
30
examples/vulkan/hellovulkanwindow/CMakeLists.txt
Normal file
30
examples/vulkan/hellovulkanwindow/CMakeLists.txt
Normal 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}"
|
||||||
|
)
|
Loading…
x
Reference in New Issue
Block a user