IF(UNIX) SET(RENDER_WINDOW_SOURCE XCBWindow.cpp) SET(RENDER_WINDOW_LIBRARY xcb) ELSEIF(WIN32) SET(RENDER_WINDOW_SOURCE WinWindow.cpp) ENDIF() SET(VULKAN_TEST_SOURCE_FILES main.cpp ${RENDER_WINDOW_SOURCE} VKFormat.cpp VKInstance.cpp VKPhysicalDevice.cpp VKImageView.cpp VKCommandBuffer.cpp VKDeviceAttribute.cpp VKDeviceCreater.cpp VKDevice.cpp VKBuffer.cpp VKDescriptorSets.cpp VKPipelineLayout.cpp VKRenderPass.cpp VKShader.cpp VKShaderModule.cpp VKShaderModuleManage.cpp VKVertexAttributeBinding.cpp VKVertexInput.cpp VKPipeline.cpp VKSemaphore.cpp VKFramebuffer.cpp VKFence.cpp #VKMaterial.cpp ) SET(VULKAN_TEST_HEADER_FILES VK.h VKFormat.h VKPrimivate.h VKInstance.h VKPhysicalDevice.h VKImageView.h VKCommandBuffer.h VKSurfaceExtensionName.h VKDeviceAttribute.h VKDevice.h VKBuffer.h VKDescriptorSets.h VKPipelineLayout.h VKRenderPass.h VKShader.h VKShaderModule.h VKShaderModuleManage.h VKVertexInput.h VKVertexAttributeBinding.h VKSemaphore.h VKPipeline.h VKFramebuffer.h VKFence.h VKMaterial.h Window.h) SET(SHADER_FILES shader_compile.bat FlatColor.vert FlatColor.frag) SOURCE_GROUP("Header Files" FILES ${VULKAN_TEST_HEADER_FILES}) SOURCE_GROUP("Source Files" FILES ${VULKAN_TEST_SOURCE_FILES}) SOURCE_GROUP("Shader Files" FILES ${SHADER_FILES}) add_executable(VulkanTest ${VULKAN_TEST_HEADER_FILES} ${VULKAN_TEST_SOURCE_FILES} ${SHADER_FILES}) target_link_libraries(VulkanTest PRIVATE ${ULRE} ${VULKAN_LIB} ${RENDER_WINDOW_LIBRARY} spirv-cross-core)