Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
prism/engine/gfx/CMakeLists.txt
Joshua Goins a3704eb7a9 Improve surface and gfx context creation
This is laying some groundwork for a much better way
of determining the best GFX api to use at runtime, and
making it easier to support more GFX backends in the future.
2022-02-21 11:03:34 -05:00

36 lines
808 B
CMake
Executable file

set(CMAKE_FOLDER "${CMAKE_FOLDER}/GFX Backends")
add_library(GFX INTERFACE)
target_include_directories(GFX INTERFACE public)
target_link_libraries(GFX INTERFACE Utility ShaderCompiler)
add_custom_target(GFXInterface SOURCES
public/gfx.hpp
public/gfx_buffer.hpp
public/gfx_pipeline.hpp
public/gfx_commandbuffer.hpp
public/gfx_texture.hpp
public/gfx_framebuffer.hpp
public/gfx_renderpass.hpp
public/gfx_object.hpp
public/gfx_sampler.hpp
public/gfx_context.hpp)
set_target_properties(GFXInterface PROPERTIES CMAKE_FOLDER "GFX")
add_subdirectory(dummy)
if(ENABLE_DX12)
add_subdirectory(dx12)
endif()
if(ENABLE_METAL)
add_subdirectory(metal)
endif()
if(ENABLE_VULKAN)
add_subdirectory(vulkan)
endif()
if(ENABLE_WEBGPU)
add_subdirectory(webgpu)
endif()