set(SRCS
	BoundingBox.cpp
	CommandBufferManager.cpp
	FramebufferManager.cpp
	ObjectCache.cpp
	PaletteTextureConverter.cpp
	PerfQuery.cpp
	RasterFont.cpp
	Renderer.cpp
	ShaderCompiler.cpp
	StateTracker.cpp
	StagingBuffer.cpp
	StagingTexture2D.cpp
	StreamBuffer.cpp
	SwapChain.cpp
	Texture2D.cpp
	TextureCache.cpp
	TextureEncoder.cpp
	Util.cpp
	VertexFormat.cpp
	VertexManager.cpp
    VulkanContext.cpp
	VulkanLoader.cpp
	main.cpp
)

set(LIBS
	videocommon
	common
)

# Only include the Vulkan headers when building the Vulkan backend
include_directories(${CMAKE_SOURCE_DIR}/Externals/Vulkan/Include)

# Silence warnings on glslang by flagging it as a system include
include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/Externals/glslang/glslang/Public)
include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/Externals/glslang/SPIRV)

# Link against glslang, the other necessary libraries are referenced by the executable.
add_dolphin_library(videovulkan "${SRCS}" "${LIBS}")
target_link_libraries(videovulkan glslang)

