2023-08-06 08:48:11 -04:00
|
|
|
# SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
|
|
|
|
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
|
2024-04-20 17:29:29 -04:00
|
|
|
find_package(spirv_cross_core REQUIRED)
|
|
|
|
find_package(spirv_cross_glsl REQUIRED)
|
|
|
|
find_package(SPIRV-Headers REQUIRED)
|
|
|
|
|
2023-10-10 17:16:11 -04:00
|
|
|
add_library(renderer STATIC)
|
2023-12-10 06:51:33 -05:00
|
|
|
target_sources(renderer
|
|
|
|
PRIVATE
|
2023-12-09 22:35:59 -05:00
|
|
|
include/renderer.hpp
|
2023-12-10 06:51:33 -05:00
|
|
|
|
2023-10-10 17:16:11 -04:00
|
|
|
src/renderer.cpp
|
|
|
|
src/imguipass.cpp
|
2024-04-20 17:29:29 -04:00
|
|
|
src/imguipass.h
|
|
|
|
src/rendersystem.cpp
|
|
|
|
include/rendersystem.h)
|
2023-12-10 06:51:33 -05:00
|
|
|
qt_add_resources(renderer
|
|
|
|
"shaders"
|
2023-10-10 17:16:11 -04:00
|
|
|
PREFIX "/"
|
|
|
|
FILES
|
|
|
|
shaders/imgui.frag.spv
|
|
|
|
shaders/imgui.vert.spv
|
|
|
|
shaders/mesh.frag.spv
|
2024-02-02 14:37:58 -05:00
|
|
|
shaders/mesh.vert.spv
|
|
|
|
shaders/skinned.vert.spv)
|
2023-12-09 22:35:59 -05:00
|
|
|
target_include_directories(renderer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
2023-12-10 06:51:33 -05:00
|
|
|
target_link_libraries(renderer
|
|
|
|
PUBLIC
|
2023-12-09 21:51:57 -05:00
|
|
|
Qt6::Core
|
|
|
|
Vulkan::Vulkan
|
|
|
|
Physis::Physis
|
|
|
|
glm::glm
|
2024-04-20 17:29:29 -04:00
|
|
|
imgui
|
|
|
|
dxbc
|
|
|
|
spirv-cross-core
|
|
|
|
spirv-cross-glsl)
|
2024-04-21 09:01:02 -04:00
|
|
|
target_compile_definitions(renderer PUBLIC GLM_FORCE_RADIANS GLM_FORCE_DEPTH_ZERO_TO_ONE GLM_ENABLE_EXPERIMENTAL GLM_FORCE_LEFT_HANDED)
|
2024-04-21 07:02:34 -04:00
|
|
|
target_compile_options(renderer PUBLIC -fexceptions) # needed for spirv-cross and dxbc
|
2023-12-09 21:51:57 -05:00
|
|
|
|
|
|
|
add_library(Novus::Renderer ALIAS renderer)
|