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()
|
||||
|
||||
if(QT_FEATURE_vulkan)
|
||||
# add_subdirectory(vulkan) # special case: removed
|
||||
add_subdirectory(vulkan)
|
||||
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