add_library(gfxrecon_decode STATIC "") target_sources(gfxrecon_decode PRIVATE ${GFXRECON_SOURCE_DIR}/framework/decode/annotation_handler.h ${GFXRECON_SOURCE_DIR}/framework/decode/api_decoder.h ${GFXRECON_SOURCE_DIR}/framework/decode/copy_shaders.h ${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_decoders.h ${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_decoders.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_decoders_forward.h ${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_handle_mappers.h ${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_handle_mappers.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/decode_allocator.h ${GFXRECON_SOURCE_DIR}/framework/decode/decode_allocator.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/descriptor_update_template_decoder.h ${GFXRECON_SOURCE_DIR}/framework/decode/descriptor_update_template_decoder.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/file_processor.h ${GFXRECON_SOURCE_DIR}/framework/decode/file_processor.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/file_transformer.h ${GFXRECON_SOURCE_DIR}/framework/decode/file_transformer.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/handle_pointer_decoder.h ${GFXRECON_SOURCE_DIR}/framework/decode/pnext_node.h ${GFXRECON_SOURCE_DIR}/framework/decode/pnext_typed_node.h ${GFXRECON_SOURCE_DIR}/framework/decode/pointer_decoder_base.h ${GFXRECON_SOURCE_DIR}/framework/decode/pointer_decoder.h ${GFXRECON_SOURCE_DIR}/framework/decode/portability.h ${GFXRECON_SOURCE_DIR}/framework/decode/portability.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/referenced_resource_table.h ${GFXRECON_SOURCE_DIR}/framework/decode/referenced_resource_table.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/replay_options.h ${GFXRECON_SOURCE_DIR}/framework/decode/resource_util.h ${GFXRECON_SOURCE_DIR}/framework/decode/resource_util.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/screenshot_handler.h ${GFXRECON_SOURCE_DIR}/framework/decode/screenshot_handler.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/screenshot_handler_base.h ${GFXRECON_SOURCE_DIR}/framework/decode/screenshot_handler_base.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/string_array_decoder.h ${GFXRECON_SOURCE_DIR}/framework/decode/string_decoder.h ${GFXRECON_SOURCE_DIR}/framework/decode/struct_pointer_decoder.h ${GFXRECON_SOURCE_DIR}/framework/decode/swapchain_image_tracker.h ${GFXRECON_SOURCE_DIR}/framework/decode/value_decoder.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_ascii_consumer_base.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_ascii_consumer_base.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_consumer_base.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_decoder_base.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_decoder_base.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_default_allocator.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_default_allocator.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_captured_swapchain.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_captured_swapchain.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_enum_util.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_feature_util.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_feature_util.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_handle_mapping_util.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_handle_mapping_util.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_cleanup_util.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_cleanup_util.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_info.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_info_table.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_info_table_base.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_realign_allocator.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_realign_allocator.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_rebind_allocator.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_rebind_allocator.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_referenced_resource_consumer_base.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_referenced_resource_consumer_base.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_remap_allocator.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_remap_allocator.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_consumer_base.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_consumer_base.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_options.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_allocator.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_initializer.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_initializer.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_tracking_consumer.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_tracking_consumer.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_swapchain.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_tracked_object_info.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_tracked_object_info_table.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_tracked_object_info.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_tracked_object_info_table.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_virtual_swapchain.h ${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_virtual_swapchain.cpp ${GFXRECON_SOURCE_DIR}/framework/decode/window.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_ascii_consumer.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_ascii_consumer.cpp ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_consumer.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_decoder.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_decoder.cpp ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_feature_util.cpp ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_referenced_resource_consumer.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_referenced_resource_consumer.cpp ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_replay_consumer.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_replay_consumer.cpp ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_decoders_forward.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_decoders.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_decoders.cpp ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_handle_mappers.h ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_handle_mappers.cpp ${GFXRECON_SOURCE_DIR}/framework/generated/generated_decode_pnext_struct.cpp ${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_object_info_table_base2.h ) target_include_directories(gfxrecon_decode PUBLIC ${GFXRECON_SOURCE_DIR}/framework) target_link_libraries(gfxrecon_decode gfxrecon_graphics gfxrecon_format gfxrecon_util vulkan_registry vulkan_memory_allocator platform_specific)