Add basic Renderer and RenderDriver classes

This commit is contained in:
2025-02-12 00:59:07 +10:00
parent 5f718ff966
commit 3009a4c6d9
9 changed files with 186 additions and 23 deletions

View File

@@ -1,11 +1,15 @@
# Copyright (c) 2025, Jayden Grubb <contact@jaydengrubb.com>
# SPDX-License-Identifier: BSD-3-Clause
set(SRC
test.cpp
find_package(Vulkan REQUIRED)
include(FetchContent)
set(ENGINE_SRC
drivers/vulkan/render_driver.cpp
render/renderer.cpp
)
list(TRANSFORM SRC PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/src/)
list(TRANSFORM ENGINE_SRC PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/src/)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
@@ -13,12 +17,22 @@ include_directories(
${Vulkan_INCLUDE_DIRS}
)
set(ENGINE_LIBS
Vulkan::Vulkan
)
if (NOVA_ENGINE_SHARED)
add_library(nova SHARED ${SRC})
add_library(nova SHARED ${ENGINE_SRC})
target_compile_definitions(nova PRIVATE
NOVA_DLL_EXPORT
)
target_link_libraries(nova PRIVATE
${ENGINE_LIBS}
)
endif ()
if (NOVA_ENGINE_STATIC)
add_library(nova_static STATIC ${SRC})
add_library(nova_static STATIC ${ENGINE_SRC})
target_link_libraries(nova_static PRIVATE
${ENGINE_LIBS}
)
endif ()