
include_directories(
	..
	../amber
	)

set(DEQP_VK_PIPELINE_SRCS
	vktPipelineBlendTests.cpp
	vktPipelineBlendTests.hpp
	vktPipelineClearUtil.cpp
	vktPipelineClearUtil.hpp
	vktPipelineCombinationsIterator.hpp
	vktPipelineDepthTests.cpp
	vktPipelineDepthTests.hpp
	vktPipelineDerivativeTests.cpp
	vktPipelineDerivativeTests.hpp
	vktPipelineDynamicOffsetTests.cpp
	vktPipelineDynamicOffsetTests.hpp
	vktPipelineEarlyDestroyTests.cpp
	vktPipelineEarlyDestroyTests.hpp
	vktPipelineImageSamplingInstance.cpp
	vktPipelineImageSamplingInstance.hpp
	vktPipelineImageTests.cpp
	vktPipelineImageTests.hpp
	vktPipelinePushConstantTests.cpp
	vktPipelinePushConstantTests.hpp
	vktPipelinePushDescriptorTests.cpp
	vktPipelinePushDescriptorTests.hpp
	vktPipelineSampleLocationsUtil.cpp
	vktPipelineSampleLocationsUtil.hpp
	vktPipelineSpecConstantTests.hpp
	vktPipelineSpecConstantTests.cpp
	vktPipelineSpecConstantUtil.hpp
	vktPipelineSpecConstantUtil.cpp
	vktPipelineImageUtil.cpp
	vktPipelineImageUtil.hpp
	vktPipelineImageViewTests.cpp
	vktPipelineImageViewTests.hpp
	vktPipelineMatchedAttachmentsTests.cpp
	vktPipelineMatchedAttachmentsTests.hpp
	vktPipelineMultisampleTestsUtil.cpp
	vktPipelineMultisampleTestsUtil.hpp
	vktPipelineMultisampleTests.cpp
	vktPipelineMultisampleTests.hpp
	vktPipelineMultisampleBase.cpp
	vktPipelineMultisampleBase.hpp
	vktPipelineMultisampleBaseResolve.cpp
	vktPipelineMultisampleBaseResolve.hpp
	vktPipelineMultisampleBaseResolveAndPerSampleFetch.cpp
	vktPipelineMultisampleBaseResolveAndPerSampleFetch.hpp
	vktPipelineMultisampleInterpolationTests.cpp
	vktPipelineMultisampleInterpolationTests.hpp
	vktPipelineMultisampleShaderBuiltInTests.cpp
	vktPipelineMultisampleShaderBuiltInTests.hpp
	vktPipelineMultisampleImageTests.cpp
	vktPipelineMultisampleImageTests.hpp
	vktPipelineMultisampleMixedAttachmentSamplesTests.cpp
	vktPipelineMultisampleMixedAttachmentSamplesTests.hpp
	vktPipelineMultisampleSampleLocationsExtTests.cpp
	vktPipelineMultisampleSampleLocationsExtTests.hpp
	vktPipelineMultisampleShaderFragmentMaskTests.cpp
	vktPipelineMultisampleShaderFragmentMaskTests.hpp
	vktPipelineInputAssemblyTests.cpp
	vktPipelineInputAssemblyTests.hpp
	vktPipelineReferenceRenderer.cpp
	vktPipelineReferenceRenderer.hpp
	vktPipelineRenderToImageTests.cpp
	vktPipelineRenderToImageTests.hpp
	vktPipelineFramebufferAttachmentTests.cpp
	vktPipelineFramebufferAttachmentTests.hpp
	vktPipelineSamplerTests.cpp
	vktPipelineSamplerTests.hpp
	vktPipelineStencilExportTests.cpp
	vktPipelineStencilExportTests.hpp
	vktPipelineStencilTests.cpp
	vktPipelineStencilTests.hpp
	vktPipelineTests.cpp
	vktPipelineTests.hpp
	vktPipelineUniqueRandomIterator.hpp
	vktPipelineVertexInputTests.cpp
	vktPipelineVertexInputTests.hpp
	vktPipelineTimestampTests.cpp
	vktPipelineTimestampTests.hpp
	vktPipelineVertexOnlyTests.cpp
	vktPipelineVertexOnlyTests.hpp
	vktPipelineVertexUtil.cpp
	vktPipelineVertexUtil.hpp
	vktPipelineCacheTests.cpp
	vktPipelineCacheTests.hpp
	vktPipelineMakeUtil.cpp
	vktPipelineMakeUtil.hpp
	vktPipelineCreationFeedbackTests.cpp
	vktPipelineCreationFeedbackTests.hpp
	vktPipelineDepthRangeUnrestrictedTests.cpp
	vktPipelineDepthRangeUnrestrictedTests.hpp
	vktPipelineExecutablePropertiesTests.cpp
	vktPipelineExecutablePropertiesTests.hpp
	vktPipelineMaxVaryingsTests.cpp
	vktPipelineMaxVaryingsTests.hpp
	vktPipelineBlendOperationAdvancedTests.cpp
	vktPipelineBlendOperationAdvancedTests.hpp
	)

set(DEQP_VK_PIPELINE_LIBS
	tcutil
	vkutil
	referencerenderer
	libamber
	)

PCH(DEQP_VK_PIPELINE_SRCS ../pch.cpp)
include_directories("../../../../amber/src/include")
include_directories("../amber")

add_library(deqp-vk-pipeline STATIC ${DEQP_VK_PIPELINE_SRCS})
target_link_libraries(deqp-vk-pipeline ${DEQP_VK_PIPELINE_LIBS})
