# Copyright 2020 The Tint Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

function(tint_spvtools_compile_options TARGET)
  # We'll use the optimizer for its nice SPIR-V in-memory representation
  target_link_libraries(${TARGET} SPIRV-Tools-opt SPIRV-Tools)

  # We'll be cheating: using internal interfaces to the SPIRV-Tools
  # optimizer.
  target_include_directories(${TARGET} PRIVATE
    ${spirv-tools_SOURCE_DIR}
    ${spirv-tools_BINARY_DIR}
  )
endfunction()

set(TINT_LIB_SRCS)
set(TINT_BENCHMARK_SRCS)
set(TINT_TEST_SRCS)

# Add a generated file set into the build.
#
# Params:
#  TARGET - the target name to add (without extension)
#  BENCH  - set if the target has a benchmark file
#  TEST   - set if the target has a test file
#
function(tint_generated TARGET)
  cmake_parse_arguments(PARSE_ARGV 0 TINT_GEN "BENCH;TEST" "" "")

   list(APPEND TINT_LIB_SRCS
      ${TARGET}.cc
      ${TARGET}.h
    )
    set(TINT_LIB_SRCS ${TINT_LIB_SRCS} PARENT_SCOPE)

    if(${TINT_GEN_BENCH})
        list(APPEND TINT_BENCHMARK_SRCS ${TARGET}_bench.cc)
        set(TINT_BENCHMARK_SRCS ${TINT_BENCHMARK_SRCS} PARENT_SCOPE)
    endif()
    if(${TINT_GEN_TEST})
        list(APPEND TINT_TEST_SRCS ${TARGET}_test.cc)
        set(TINT_TEST_SRCS ${TINT_TEST_SRCS} PARENT_SCOPE)
    endif()
endfunction()

## Tint diagnostic utilities. Used by libtint and tint_utils_io.
add_library(tint_diagnostic_utils
  debug.cc
  debug.h
  core/diagnostic/diagnostic.cc
  core/diagnostic/diagnostic.h
  core/diagnostic/formatter.cc
  core/diagnostic/formatter.h
  core/diagnostic/printer.cc
  core/diagnostic/printer.h
  source.cc
  source.h
  core/debugger.cc
  core/debugger.h
  core/unicode.cc
  core/unicode.h
)
tint_default_compile_options(tint_diagnostic_utils)

if (TINT_ENABLE_BREAK_IN_DEBUGGER)
  set_source_files_properties(core/debugger.cc
    PROPERTIES COMPILE_DEFINITIONS "TINT_ENABLE_BREAK_IN_DEBUGGER=1" )
endif()

list(APPEND TINT_LIB_SRCS
  ../../include/tint/tint.h
  lang/wgsl/ast/accessor_expression.cc
  lang/wgsl/ast/accessor_expression.h
  lang/wgsl/ast/alias.cc
  lang/wgsl/ast/alias.h
  lang/wgsl/ast/assignment_statement.cc
  lang/wgsl/ast/assignment_statement.h
  lang/wgsl/ast/attribute.cc
  lang/wgsl/ast/attribute.h
  lang/wgsl/ast/binary_expression.cc
  lang/wgsl/ast/binary_expression.h
  lang/wgsl/ast/binding_attribute.cc
  lang/wgsl/ast/binding_attribute.h
  lang/wgsl/ast/bitcast_expression.cc
  lang/wgsl/ast/bitcast_expression.h
  lang/wgsl/ast/block_statement.cc
  lang/wgsl/ast/block_statement.h
  lang/wgsl/ast/bool_literal_expression.cc
  lang/wgsl/ast/bool_literal_expression.h
  lang/wgsl/ast/break_if_statement.cc
  lang/wgsl/ast/break_if_statement.h
  lang/wgsl/ast/break_statement.cc
  lang/wgsl/ast/break_statement.h
  lang/wgsl/ast/builtin_attribute.cc
  lang/wgsl/ast/builtin_attribute.h
  lang/wgsl/ast/call_expression.cc
  lang/wgsl/ast/call_expression.h
  lang/wgsl/ast/call_statement.cc
  lang/wgsl/ast/call_statement.h
  lang/wgsl/ast/case_selector.cc
  lang/wgsl/ast/case_selector.h
  lang/wgsl/ast/case_statement.cc
  lang/wgsl/ast/case_statement.h
  lang/wgsl/ast/compound_assignment_statement.cc
  lang/wgsl/ast/compound_assignment_statement.h
  lang/wgsl/ast/const.cc
  lang/wgsl/ast/const.h
  lang/wgsl/ast/const_assert.cc
  lang/wgsl/ast/const_assert.h
  lang/wgsl/ast/continue_statement.cc
  lang/wgsl/ast/continue_statement.h
  lang/wgsl/ast/diagnostic_attribute.cc
  lang/wgsl/ast/diagnostic_attribute.h
  lang/wgsl/ast/diagnostic_control.cc
  lang/wgsl/ast/diagnostic_control.h
  lang/wgsl/ast/diagnostic_directive.cc
  lang/wgsl/ast/diagnostic_directive.h
  lang/wgsl/ast/diagnostic_rule_name.cc
  lang/wgsl/ast/diagnostic_rule_name.h
  lang/wgsl/ast/disable_validation_attribute.cc
  lang/wgsl/ast/disable_validation_attribute.h
  lang/wgsl/ast/discard_statement.cc
  lang/wgsl/ast/discard_statement.h
  lang/wgsl/ast/enable.cc
  lang/wgsl/ast/enable.h
  lang/wgsl/ast/expression.cc
  lang/wgsl/ast/expression.h
  lang/wgsl/ast/extension.cc
  lang/wgsl/ast/extension.h
  lang/wgsl/ast/float_literal_expression.cc
  lang/wgsl/ast/float_literal_expression.h
  lang/wgsl/ast/for_loop_statement.cc
  lang/wgsl/ast/for_loop_statement.h
  lang/wgsl/ast/function.cc
  lang/wgsl/ast/function.h
  lang/wgsl/ast/group_attribute.cc
  lang/wgsl/ast/group_attribute.h
  lang/wgsl/ast/id_attribute.cc
  lang/wgsl/ast/id_attribute.h
  lang/wgsl/ast/identifier.cc
  lang/wgsl/ast/identifier.h
  lang/wgsl/ast/identifier_expression.cc
  lang/wgsl/ast/identifier_expression.h
  lang/wgsl/ast/if_statement.cc
  lang/wgsl/ast/if_statement.h
  lang/wgsl/ast/increment_decrement_statement.cc
  lang/wgsl/ast/increment_decrement_statement.h
  lang/wgsl/ast/index_accessor_expression.cc
  lang/wgsl/ast/index_accessor_expression.h
  lang/wgsl/ast/index_attribute.cc
  lang/wgsl/ast/index_attribute.h
  lang/wgsl/ast/int_literal_expression.cc
  lang/wgsl/ast/int_literal_expression.h
  lang/wgsl/ast/internal_attribute.cc
  lang/wgsl/ast/internal_attribute.h
  lang/wgsl/ast/interpolate_attribute.cc
  lang/wgsl/ast/interpolate_attribute.h
  lang/wgsl/ast/invariant_attribute.cc
  lang/wgsl/ast/invariant_attribute.h
  lang/wgsl/ast/let.cc
  lang/wgsl/ast/let.h
  lang/wgsl/ast/literal_expression.cc
  lang/wgsl/ast/literal_expression.h
  lang/wgsl/ast/location_attribute.cc
  lang/wgsl/ast/location_attribute.h
  lang/wgsl/ast/loop_statement.cc
  lang/wgsl/ast/loop_statement.h
  lang/wgsl/ast/member_accessor_expression.cc
  lang/wgsl/ast/member_accessor_expression.h
  lang/wgsl/ast/module.cc
  lang/wgsl/ast/module.h
  lang/wgsl/ast/must_use_attribute.cc
  lang/wgsl/ast/must_use_attribute.h
  lang/wgsl/ast/node_id.h
  lang/wgsl/ast/node.cc
  lang/wgsl/ast/node.h
  lang/wgsl/ast/override.cc
  lang/wgsl/ast/override.h
  lang/wgsl/ast/parameter.cc
  lang/wgsl/ast/parameter.h
  lang/wgsl/ast/phony_expression.cc
  lang/wgsl/ast/phony_expression.h
  lang/wgsl/ast/pipeline_stage.cc
  lang/wgsl/ast/pipeline_stage.h
  lang/wgsl/ast/return_statement.cc
  lang/wgsl/ast/return_statement.h
  lang/wgsl/ast/stage_attribute.cc
  lang/wgsl/ast/stage_attribute.h
  lang/wgsl/ast/statement.cc
  lang/wgsl/ast/statement.h
  lang/wgsl/ast/stride_attribute.cc
  lang/wgsl/ast/stride_attribute.h
  lang/wgsl/ast/struct_member_align_attribute.cc
  lang/wgsl/ast/struct_member_align_attribute.h
  lang/wgsl/ast/struct_member_offset_attribute.cc
  lang/wgsl/ast/struct_member_offset_attribute.h
  lang/wgsl/ast/struct_member_size_attribute.cc
  lang/wgsl/ast/struct_member_size_attribute.h
  lang/wgsl/ast/struct_member.cc
  lang/wgsl/ast/struct_member.h
  lang/wgsl/ast/struct.cc
  lang/wgsl/ast/struct.h
  lang/wgsl/ast/switch_statement.cc
  lang/wgsl/ast/switch_statement.h
  lang/wgsl/ast/templated_identifier.cc
  lang/wgsl/ast/templated_identifier.h
  lang/wgsl/ast/traverse_expressions.h
  lang/wgsl/ast/type.cc
  lang/wgsl/ast/type.h
  lang/wgsl/ast/type_decl.cc
  lang/wgsl/ast/type_decl.h
  lang/wgsl/ast/unary_op_expression.cc
  lang/wgsl/ast/unary_op_expression.h
  lang/wgsl/ast/unary_op.cc
  lang/wgsl/ast/unary_op.h
  lang/wgsl/ast/var.cc
  lang/wgsl/ast/var.h
  lang/wgsl/ast/variable_decl_statement.cc
  lang/wgsl/ast/variable_decl_statement.h
  lang/wgsl/ast/variable.cc
  lang/wgsl/ast/variable.h
  lang/wgsl/ast/while_statement.cc
  lang/wgsl/ast/while_statement.h
  lang/wgsl/ast/workgroup_attribute.cc
  lang/wgsl/ast/workgroup_attribute.h
  lang/base/builtin/fluent_types.h
  lang/base/builtin/number.cc
  lang/base/builtin/number.h
  clone_context.cc
  clone_context.h
  lang/base/constant/clone_context.h
  lang/base/constant/composite.cc
  lang/base/constant/composite.h
  lang/base/constant/manager.cc
  lang/base/constant/manager.h
  lang/base/constant/scalar.cc
  lang/base/constant/scalar.h
  lang/base/constant/splat.cc
  lang/base/constant/splat.h
  lang/base/constant/node.cc
  lang/base/constant/node.h
  lang/base/constant/value.cc
  lang/base/constant/value.h
  lang/wgsl/inspector/entry_point.cc
  lang/wgsl/inspector/entry_point.h
  lang/wgsl/inspector/inspector.cc
  lang/wgsl/inspector/inspector.h
  lang/wgsl/inspector/resource_binding.cc
  lang/wgsl/inspector/resource_binding.h
  lang/wgsl/inspector/scalar.cc
  lang/wgsl/inspector/scalar.h
  lang/wgsl/program/program_builder.cc
  lang/wgsl/program/program_builder.h
  program_id.cc
  program_id.h
  lang/wgsl/program/program.cc
  lang/wgsl/program/program.h
  reflection.h
  reader/reader.cc
  reader/reader.h
  resolver/const_eval.cc
  resolver/const_eval.h
  resolver/dependency_graph.cc
  resolver/dependency_graph.h
  resolver/intrinsic_table.cc
  resolver/intrinsic_table.h
  resolver/intrinsic_table.inl
  resolver/resolver.cc
  resolver/resolver.h
  resolver/sem_helper.cc
  resolver/sem_helper.h
  resolver/uniformity.cc
  resolver/uniformity.h
  resolver/validator.cc
  resolver/validator.h
  scope_stack.h
  switch.h
  lang/wgsl/sem/accessor_expression.cc
  lang/wgsl/sem/accessor_expression.h
  lang/wgsl/sem/array_count.cc
  lang/wgsl/sem/array_count.h
  lang/wgsl/sem/behavior.cc
  lang/wgsl/sem/behavior.h
  lang/wgsl/sem/binding_point.h
  lang/wgsl/sem/block_statement.cc
  lang/wgsl/sem/block_statement.h
  lang/wgsl/sem/break_if_statement.cc
  lang/wgsl/sem/break_if_statement.h
  lang/wgsl/sem/builtin.cc
  lang/wgsl/sem/builtin.h
  lang/wgsl/sem/builtin_enum_expression.cc
  lang/wgsl/sem/builtin_enum_expression.h
  lang/wgsl/sem/call_target.cc
  lang/wgsl/sem/call_target.h
  lang/wgsl/sem/call.cc
  lang/wgsl/sem/call.h
  lang/wgsl/sem/evaluation_stage.h
  lang/wgsl/sem/expression.cc
  lang/wgsl/sem/expression.h
  lang/wgsl/sem/external_texture.h
  lang/wgsl/sem/for_loop_statement.cc
  lang/wgsl/sem/for_loop_statement.h
  lang/wgsl/sem/function_expression.cc
  lang/wgsl/sem/function_expression.h
  lang/wgsl/sem/function.cc
  lang/wgsl/sem/if_statement.cc
  lang/wgsl/sem/if_statement.h
  lang/wgsl/sem/index_accessor_expression.cc
  lang/wgsl/sem/index_accessor_expression.h
  lang/wgsl/sem/info.cc
  lang/wgsl/sem/info.h
  lang/wgsl/sem/load.cc
  lang/wgsl/sem/load.h
  lang/wgsl/sem/loop_statement.cc
  lang/wgsl/sem/loop_statement.h
  lang/wgsl/sem/materialize.cc
  lang/wgsl/sem/materialize.h
  lang/wgsl/sem/member_accessor_expression.cc
  lang/wgsl/sem/module.cc
  lang/wgsl/sem/module.h
  lang/wgsl/sem/node.cc
  lang/wgsl/sem/node.h
  lang/wgsl/sem/pipeline_stage_set.h
  lang/wgsl/sem/sampler_texture_pair.h
  lang/wgsl/sem/statement.cc
  lang/wgsl/sem/struct.cc
  lang/wgsl/sem/struct.h
  lang/wgsl/sem/switch_statement.cc
  lang/wgsl/sem/switch_statement.h
  lang/wgsl/sem/type_expression.cc
  lang/wgsl/sem/type_expression.h
  lang/wgsl/sem/type_mappings.h
  lang/wgsl/sem/variable.cc
  lang/wgsl/sem/value_constructor.cc
  lang/wgsl/sem/value_constructor.h
  lang/wgsl/sem/value_conversion.cc
  lang/wgsl/sem/value_conversion.h
  lang/wgsl/sem/value_expression.cc
  lang/wgsl/sem/value_expression.h
  lang/wgsl/sem/while_statement.cc
  lang/wgsl/sem/while_statement.h
  symbol_table.cc
  symbol_table.h
  symbol.cc
  symbol.h
  tint.cc
  lang/wgsl/ast/transform/add_empty_entry_point.cc
  lang/wgsl/ast/transform/add_empty_entry_point.h
  lang/wgsl/ast/transform/add_block_attribute.cc
  lang/wgsl/ast/transform/add_block_attribute.h
  lang/wgsl/ast/transform/array_length_from_uniform.cc
  lang/wgsl/ast/transform/array_length_from_uniform.h
  lang/wgsl/ast/transform/binding_remapper.cc
  lang/wgsl/ast/transform/binding_remapper.h
  lang/wgsl/ast/transform/builtin_polyfill.cc
  lang/wgsl/ast/transform/builtin_polyfill.h
  lang/wgsl/ast/transform/calculate_array_length.cc
  lang/wgsl/ast/transform/calculate_array_length.h
  lang/wgsl/ast/transform/clamp_frag_depth.cc
  lang/wgsl/ast/transform/clamp_frag_depth.h
  lang/wgsl/ast/transform/canonicalize_entry_point_io.cc
  lang/wgsl/ast/transform/canonicalize_entry_point_io.h
  lang/wgsl/ast/transform/combine_samplers.cc
  lang/wgsl/ast/transform/combine_samplers.h
  lang/wgsl/ast/transform/decompose_memory_access.cc
  lang/wgsl/ast/transform/decompose_memory_access.h
  lang/wgsl/ast/transform/decompose_strided_array.cc
  lang/wgsl/ast/transform/decompose_strided_array.h
  lang/wgsl/ast/transform/decompose_strided_matrix.cc
  lang/wgsl/ast/transform/decompose_strided_matrix.h
  lang/wgsl/ast/transform/demote_to_helper.cc
  lang/wgsl/ast/transform/demote_to_helper.h
  lang/wgsl/ast/transform/direct_variable_access.cc
  lang/wgsl/ast/transform/direct_variable_access.h
  lang/wgsl/ast/transform/disable_uniformity_analysis.cc
  lang/wgsl/ast/transform/disable_uniformity_analysis.h
  lang/wgsl/ast/transform/expand_compound_assignment.cc
  lang/wgsl/ast/transform/expand_compound_assignment.h
  lang/wgsl/ast/transform/first_index_offset.cc
  lang/wgsl/ast/transform/first_index_offset.h
  lang/wgsl/ast/transform/fold_trivial_lets.cc
  lang/wgsl/ast/transform/fold_trivial_lets.h
  lang/wgsl/ast/transform/for_loop_to_loop.cc
  lang/wgsl/ast/transform/for_loop_to_loop.h
  lang/wgsl/ast/transform/localize_struct_array_assignment.cc
  lang/wgsl/ast/transform/localize_struct_array_assignment.h
  lang/wgsl/ast/transform/merge_return.cc
  lang/wgsl/ast/transform/merge_return.h
  lang/wgsl/ast/transform/module_scope_var_to_entry_point_param.cc
  lang/wgsl/ast/transform/module_scope_var_to_entry_point_param.h
  lang/wgsl/ast/transform/multiplanar_external_texture.cc
  lang/wgsl/ast/transform/multiplanar_external_texture.h
  lang/wgsl/ast/transform/num_workgroups_from_uniform.cc
  lang/wgsl/ast/transform/num_workgroups_from_uniform.h
  lang/wgsl/ast/transform/packed_vec3.cc
  lang/wgsl/ast/transform/packed_vec3.h
  lang/wgsl/ast/transform/pad_structs.cc
  lang/wgsl/ast/transform/pad_structs.h
  lang/wgsl/ast/transform/preserve_padding.cc
  lang/wgsl/ast/transform/preserve_padding.h
  lang/wgsl/ast/transform/promote_initializers_to_let.cc
  lang/wgsl/ast/transform/promote_initializers_to_let.h
  lang/wgsl/ast/transform/promote_side_effects_to_decl.cc
  lang/wgsl/ast/transform/promote_side_effects_to_decl.h
  lang/wgsl/ast/transform/remove_continue_in_switch.cc
  lang/wgsl/ast/transform/remove_continue_in_switch.h
  lang/wgsl/ast/transform/remove_phonies.cc
  lang/wgsl/ast/transform/remove_phonies.h
  lang/wgsl/ast/transform/remove_unreachable_statements.cc
  lang/wgsl/ast/transform/remove_unreachable_statements.h
  lang/wgsl/ast/transform/renamer.cc
  lang/wgsl/ast/transform/renamer.h
  lang/wgsl/ast/transform/robustness.cc
  lang/wgsl/ast/transform/robustness.h
  lang/wgsl/ast/transform/simplify_pointers.cc
  lang/wgsl/ast/transform/simplify_pointers.h
  lang/wgsl/ast/transform/single_entry_point.cc
  lang/wgsl/ast/transform/single_entry_point.h
  lang/wgsl/ast/transform/spirv_atomic.cc
  lang/wgsl/ast/transform/spirv_atomic.h
  lang/wgsl/ast/transform/std140.cc
  lang/wgsl/ast/transform/std140.h
  lang/wgsl/ast/transform/substitute_override.cc
  lang/wgsl/ast/transform/substitute_override.h
  lang/wgsl/ast/transform/texture_1d_to_2d.cc
  lang/wgsl/ast/transform/texture_1d_to_2d.h
  lang/wgsl/ast/transform/transform.cc
  lang/wgsl/ast/transform/transform.h
  lang/wgsl/ast/transform/truncate_interstage_variables.cc
  lang/wgsl/ast/transform/truncate_interstage_variables.h
  lang/wgsl/ast/transform/unshadow.cc
  lang/wgsl/ast/transform/unshadow.h
  lang/wgsl/ast/transform/utils/get_insertion_point.cc
  lang/wgsl/ast/transform/utils/get_insertion_point.h
  lang/wgsl/ast/transform/utils/hoist_to_decl_before.cc
  lang/wgsl/ast/transform/utils/hoist_to_decl_before.h
  lang/wgsl/ast/transform/var_for_dynamic_index.cc
  lang/wgsl/ast/transform/var_for_dynamic_index.h
  lang/wgsl/ast/transform/vectorize_matrix_conversions.cc
  lang/wgsl/ast/transform/vectorize_matrix_conversions.h
  lang/wgsl/ast/transform/vectorize_scalar_matrix_initializers.cc
  lang/wgsl/ast/transform/vectorize_scalar_matrix_initializers.h
  lang/wgsl/ast/transform/vertex_pulling.cc
  lang/wgsl/ast/transform/vertex_pulling.h
  lang/wgsl/ast/transform/while_to_loop.cc
  lang/wgsl/ast/transform/while_to_loop.h
  lang/wgsl/ast/transform/zero_init_workgroup_memory.cc
  lang/wgsl/ast/transform/zero_init_workgroup_memory.h
  transform/manager.cc
  transform/manager.h
  transform/transform.cc
  transform/transform.h
  lang/base/type/abstract_float.cc
  lang/base/type/abstract_float.h
  lang/base/type/abstract_int.cc
  lang/base/type/abstract_int.h
  lang/base/type/abstract_numeric.cc
  lang/base/type/abstract_numeric.h
  lang/base/type/array.cc
  lang/base/type/array.h
  lang/base/type/array_count.cc
  lang/base/type/array_count.h
  lang/base/type/atomic.cc
  lang/base/type/atomic.h
  lang/base/type/bool.cc
  lang/base/type/bool.h
  lang/base/type/builtin_structs.cc
  lang/base/type/builtin_structs.h
  lang/base/type/clone_context.h
  lang/base/type/depth_multisampled_texture.cc
  lang/base/type/depth_multisampled_texture.h
  lang/base/type/depth_texture.cc
  lang/base/type/depth_texture.h
  lang/base/type/external_texture.cc
  lang/base/type/external_texture.h
  lang/base/type/f16.cc
  lang/base/type/f16.h
  lang/base/type/f32.cc
  lang/base/type/f32.h
  lang/base/type/i32.cc
  lang/base/type/i32.h
  lang/base/type/manager.cc
  lang/base/type/manager.h
  lang/base/type/matrix.cc
  lang/base/type/matrix.h
  lang/base/type/multisampled_texture.cc
  lang/base/type/multisampled_texture.h
  lang/base/type/node.cc
  lang/base/type/node.h
  lang/base/type/numeric_scalar.cc
  lang/base/type/numeric_scalar.h
  lang/base/type/pointer.cc
  lang/base/type/pointer.h
  lang/base/type/reference.cc
  lang/base/type/reference.h
  lang/base/type/sampled_texture.cc
  lang/base/type/sampled_texture.h
  lang/base/type/sampler.cc
  lang/base/type/sampler.h
  lang/base/type/sampler_kind.cc
  lang/base/type/sampler_kind.h
  lang/base/type/scalar.cc
  lang/base/type/scalar.h
  lang/base/type/storage_texture.cc
  lang/base/type/storage_texture.h
  lang/base/type/struct.cc
  lang/base/type/struct.h
  lang/base/type/texture.cc
  lang/base/type/texture.h
  lang/base/type/texture_dimension.cc
  lang/base/type/texture_dimension.h
  lang/base/type/type.cc
  lang/base/type/type.h
  lang/base/type/u32.cc
  lang/base/type/u32.h
  lang/base/type/unique_node.cc
  lang/base/type/unique_node.h
  lang/base/type/vector.cc
  lang/base/type/vector.h
  lang/base/type/void.cc
  lang/base/type/void.h
  core/bitcast.h
  core/bitset.h
  core/block_allocator.h
  core/bump_allocator.h
  core/castable.cc
  core/castable.h
  core/cli.cc
  core/cli.h
  core/compiler_macros.h
  core/concat.h
  core/crc32.h
  core/enum_set.h
  core/foreach_macro.h
  core/hash.h
  core/hashmap_base.h
  core/hashmap.h
  core/hashset.h
  core/map.h
  core/math.h
  core/parse_num.cc
  core/parse_num.h
  core/predicates.h
  core/scoped_assignment.h
  core/slice.h
  core/string.cc
  core/string.h
  core/string_stream.cc
  core/string_stream.h
  core/traits.h
  core/unique_allocator.h
  core/unique_vector.h
  core/vector.h
  lang/wgsl/helpers/append_vector.cc
  lang/wgsl/helpers/append_vector.h
  writer/array_length_from_uniform_options.cc
  writer/array_length_from_uniform_options.h
  writer/ast_text_generator.cc
  writer/ast_text_generator.h
  writer/binding_point.h
  writer/binding_remapper_options.cc
  writer/binding_remapper_options.h
  lang/wgsl/helpers/check_supported_extensions.cc
  lang/wgsl/helpers/check_supported_extensions.h
  writer/external_texture_options.cc
  writer/external_texture_options.h
  lang/wgsl/helpers/flatten_bindings.cc
  lang/wgsl/helpers/flatten_bindings.h
  writer/float_to_string.cc
  writer/float_to_string.h
  writer/ir_text_generator.cc
  writer/ir_text_generator.h
  writer/text_generator.cc
  writer/text_generator.h
  writer/text.cc
  writer/text.h
  writer/writer.cc
  writer/writer.h
)

tint_generated(lang/base/builtin/access BENCH TEST)
tint_generated(lang/base/builtin/address_space BENCH TEST)
tint_generated(lang/base/builtin/attribute BENCH TEST)
tint_generated(lang/base/builtin/builtin BENCH TEST)
tint_generated(lang/base/builtin/builtin_value BENCH TEST)
tint_generated(lang/base/builtin/diagnostic_rule BENCH TEST)
tint_generated(lang/base/builtin/diagnostic_severity BENCH TEST)
tint_generated(lang/base/builtin/extension BENCH TEST)
tint_generated(lang/base/builtin/function)
tint_generated(lang/base/builtin/interpolation_sampling BENCH TEST)
tint_generated(lang/base/builtin/interpolation_type BENCH TEST)
tint_generated(lang/base/builtin/texel_format BENCH TEST)

tint_generated(resolver/ctor_conv_intrinsic)
tint_generated(lang/wgsl/sem/parameter_usage)

if(UNIX)
  list(APPEND TINT_LIB_SRCS core/diagnostic/printer_posix.cc)
elseif(WIN32)
  list(APPEND TINT_LIB_SRCS core/diagnostic/printer_windows.cc)
else()
  list(APPEND TINT_LIB_SRCS core/diagnostic/printer_other.cc)
endif()

if(${TINT_BUILD_SPV_READER})
  list(APPEND TINT_LIB_SRCS
    lang/spirv/reader/attributes.h
    lang/spirv/reader/construct.h
    lang/spirv/reader/construct.cc
    lang/spirv/reader/entry_point_info.h
    lang/spirv/reader/entry_point_info.cc
    lang/spirv/reader/enum_converter.h
    lang/spirv/reader/enum_converter.cc
    lang/spirv/reader/fail_stream.h
    lang/spirv/reader/function.cc
    lang/spirv/reader/function.h
    lang/spirv/reader/namer.cc
    lang/spirv/reader/namer.h
    lang/spirv/reader/parser_type.cc
    lang/spirv/reader/parser_type.h
    lang/spirv/reader/parser.cc
    lang/spirv/reader/parser.h
    lang/spirv/reader/parser_impl.cc
    lang/spirv/reader/parser_impl.h
    lang/spirv/reader/usage.cc
    lang/spirv/reader/usage.h
  )
endif()

if(${TINT_BUILD_WGSL_READER})
  list(APPEND TINT_LIB_SRCS
    lang/wgsl/reader/classify_template_args.cc
    lang/wgsl/reader/classify_template_args.h
    lang/wgsl/reader/lexer.cc
    lang/wgsl/reader/lexer.h
    lang/wgsl/reader/parser.cc
    lang/wgsl/reader/parser.h
    lang/wgsl/reader/parser_impl.cc
    lang/wgsl/reader/parser_impl.h
    lang/wgsl/reader/parser_impl_detail.h
    lang/wgsl/reader/token.cc
    lang/wgsl/reader/token.h
  )
endif()

if(${TINT_BUILD_SPV_WRITER})
  list(APPEND TINT_LIB_SRCS
    lang/spirv/ast_writer/binary_writer.cc
    lang/spirv/ast_writer/binary_writer.h
    lang/spirv/ast_writer/builder.cc
    lang/spirv/ast_writer/builder.h
    lang/spirv/ast_writer/function.cc
    lang/spirv/ast_writer/function.h
    lang/spirv/ast_writer/generator.cc
    lang/spirv/ast_writer/generator.h
    lang/spirv/ast_writer/generator_impl.cc
    lang/spirv/ast_writer/generator_impl.h
    lang/spirv/ast_writer/instruction.cc
    lang/spirv/ast_writer/instruction.h
    lang/spirv/ast_writer/module.cc
    lang/spirv/ast_writer/module.h
    lang/spirv/ast_writer/operand.cc
    lang/spirv/ast_writer/operand.h
    lang/spirv/ast_writer/scalar_constant.h
  )

  if(${TINT_BUILD_IR})
    list(APPEND TINT_LIB_SRCS
      ir/transform/builtin_polyfill_spirv.cc
      ir/transform/builtin_polyfill_spirv.h
      ir/transform/expand_implicit_splats.cc
      ir/transform/expand_implicit_splats.h
      ir/transform/handle_matrix_arithmetic.cc
      ir/transform/handle_matrix_arithmetic.h
      ir/transform/merge_return.cc
      ir/transform/merge_return.h
      ir/transform/shader_io_spirv.cc
      ir/transform/shader_io_spirv.h
      ir/transform/var_for_dynamic_index.cc
      ir/transform/var_for_dynamic_index.h
      lang/spirv/writer/generator_impl_ir.cc
      lang/spirv/writer/generator_impl_ir.h
    )
  endif()
endif()

if(${TINT_BUILD_WGSL_WRITER})
  list(APPEND TINT_LIB_SRCS
    lang/wgsl/ast_writer/generator.cc
    lang/wgsl/ast_writer/generator.h
    lang/wgsl/ast_writer/generator_impl.cc
    lang/wgsl/ast_writer/generator_impl.h
  )
endif()

if(${TINT_BUILD_MSL_WRITER})
  list(APPEND TINT_LIB_SRCS
    lang/msl/ast_writer/generator.cc
    lang/msl/ast_writer/generator.h
    lang/msl/ast_writer/generator_impl.cc
    lang/msl/ast_writer/generator_impl.h
    lang/msl/ast_writer/generator_support.cc
    lang/msl/ast_writer/generator_support.h
  )

  if(${TINT_BUILD_IR})
    list(APPEND TINT_LIB_SRCS
      lang/msl/writer/generator_impl_ir.cc
      lang/msl/writer/generator_impl_ir.h
    )
  endif()
endif()

if(${TINT_BUILD_GLSL_WRITER})
  list(APPEND TINT_LIB_SRCS
    lang/glsl/ast_writer/generator.cc
    lang/glsl/ast_writer/generator.h
    lang/glsl/ast_writer/generator_impl.cc
    lang/glsl/ast_writer/generator_impl.h
    lang/glsl/ast_writer/version.h
  )
endif()

if(${TINT_BUILD_HLSL_WRITER})
  list(APPEND TINT_LIB_SRCS
    lang/hlsl/ast_writer/generator.cc
    lang/hlsl/ast_writer/generator.h
    lang/hlsl/ast_writer/generator_impl.cc
    lang/hlsl/ast_writer/generator_impl.h
  )
endif()

if(${TINT_BUILD_SYNTAX_TREE_WRITER})
    list(APPEND TINT_LIB_SRCS
      lang/wgsl/syntax_tree_writer/generator.cc
      lang/wgsl/syntax_tree_writer/generator.h
      lang/wgsl/syntax_tree_writer/generator_impl.cc
      lang/wgsl/syntax_tree_writer/generator_impl.h
    )
endif()

if(${TINT_BUILD_IR})
  list(APPEND TINT_LIB_SRCS
    ir/access.cc
    ir/access.h
    ir/binary.cc
    ir/binary.h
    ir/binding_point.h
    ir/bitcast.cc
    ir/bitcast.h
    ir/block.cc
    ir/block.h
    ir/block_param.cc
    ir/block_param.h
    ir/break_if.cc
    ir/break_if.h
    ir/builder.cc
    ir/builder.h
    ir/builtin_call.cc
    ir/builtin_call.h
    ir/call.cc
    ir/call.h
    ir/constant.cc
    ir/constant.h
    ir/construct.cc
    ir/construct.h
    ir/continue.cc
    ir/continue.h
    ir/control_instruction.cc
    ir/control_instruction.h
    ir/convert.cc
    ir/convert.h
    ir/core_builtin_call.cc
    ir/core_builtin_call.h
    ir/disassembler.cc
    ir/disassembler.h
    ir/discard.cc
    ir/discard.h
    ir/exit_if.cc
    ir/exit_if.h
    ir/exit_loop.cc
    ir/exit_loop.h
    ir/exit_switch.cc
    ir/exit_switch.h
    ir/exit.cc
    ir/exit.h
    ir/from_program.cc
    ir/from_program.h
    ir/function.cc
    ir/function.h
    ir/function_param.cc
    ir/function_param.h
    ir/if.cc
    ir/if.h
    ir/instruction.cc
    ir/instruction.h
    ir/instruction_result.cc
    ir/instruction_result.h
    ir/intrinsic_call.cc
    ir/intrinsic_call.h
    ir/let.cc
    ir/let.h
    ir/load.cc
    ir/load.h
    ir/load_vector_element.cc
    ir/load_vector_element.h
    ir/location.h
    ir/loop.cc
    ir/loop.h
    ir/module.cc
    ir/module.h
    ir/multi_in_block.cc
    ir/multi_in_block.h
    ir/next_iteration.cc
    ir/next_iteration.h
    ir/operand_instruction.cc
    ir/operand_instruction.h
    ir/return.cc
    ir/return.h
    ir/store.cc
    ir/store.h
    ir/store_vector_element.cc
    ir/store_vector_element.h
    ir/switch.cc
    ir/switch.h
    ir/swizzle.cc
    ir/swizzle.h
    ir/terminate_invocation.cc
    ir/terminate_invocation.h
    ir/terminator.cc
    ir/terminator.h
    ir/to_program.cc
    ir/to_program.h
    ir/unary.cc
    ir/unary.h
    ir/unreachable.cc
    ir/unreachable.h
    ir/user_call.cc
    ir/user_call.h
    ir/validator.cc
    ir/validator.h
    ir/value.cc
    ir/value.h
    ir/var.cc
    ir/var.h
    ir/transform/add_empty_entry_point.cc
    ir/transform/add_empty_entry_point.h
    ir/transform/block_decorated_structs.cc
    ir/transform/block_decorated_structs.h
    ir/transform/demote_to_helper.cc
    ir/transform/demote_to_helper.h
    ir/transform/shader_io.cc
    ir/transform/shader_io.h
    ir/transform/transform.cc
    ir/transform/transform.h
  )
endif()

if(MSVC)
  list(APPEND TINT_LIB_SRCS
    tint.natvis
  )
endif()

## Tint IO utilities. Used by tint_val.
add_library(tint_utils_io
  core/io/command_${TINT_OS_CC_SUFFIX}.cc
  core/io/command.h
  core/io/tmpfile_${TINT_OS_CC_SUFFIX}.cc
  core/io/tmpfile.h
)
tint_default_compile_options(tint_utils_io)
target_link_libraries(tint_utils_io tint_diagnostic_utils)

## Tint validation utilities. Used by tests and the tint executable.
add_library(tint_val
  lang/hlsl/validate/hlsl.cc
  lang/hlsl/validate/val.h
  lang/msl/validate/msl.cc
  lang/msl/validate/val.h
)

# If we're building on mac / ios and we have CoreGraphics, then we can use the
# metal API to validate our shaders. This is roughly 4x faster than invoking
# the metal shader compiler executable.
if(APPLE)
  find_library(LIB_CORE_GRAPHICS CoreGraphics)
  if(LIB_CORE_GRAPHICS)
    target_sources(tint_val PRIVATE "lang/msl/validate/msl_metal.mm")
    target_compile_definitions(tint_val PUBLIC "-DTINT_ENABLE_MSL_VALIDATION_USING_METAL_API=1")
    target_compile_options(tint_val PRIVATE "-fmodules" "-fcxx-modules")
    target_link_options(tint_val PUBLIC "-framework" "CoreGraphics")
  endif()
endif()

tint_default_compile_options(tint_val)
target_link_libraries(tint_val tint_utils_io)

## Tint library
add_library(libtint ${TINT_LIB_SRCS})
tint_default_compile_options(libtint)
target_link_libraries(libtint tint_diagnostic_utils absl_strings)
set_target_properties(libtint PROPERTIES OUTPUT_NAME "tint")

if (${TINT_BUILD_FUZZERS})
  # Tint library with fuzzer instrumentation
  add_library(libtint-fuzz ${TINT_LIB_SRCS})
  tint_default_compile_options(libtint-fuzz)
  target_link_libraries(libtint-fuzz tint_diagnostic_utils absl_strings)
  if (${COMPILER_IS_LIKE_GNU})
    target_compile_options(libtint-fuzz PRIVATE -fvisibility=hidden)
  endif()

  if (NOT ${TINT_LIB_FUZZING_ENGINE_LINK_OPTIONS} STREQUAL "")
    # This is set when the fuzzers are being built by OSS-Fuzz. In this case the
    # variable provides the necessary linker flags, and OSS-Fuzz will take care
    # of passing suitable compiler flags.
    target_link_options(libtint-fuzz PUBLIC ${TINT_LIB_FUZZING_ENGINE_LINK_OPTIONS})
  else()
    # When the fuzzers are being built outside of OSS-Fuzz, specific libFuzzer
    # arguments to enable fuzzing are used.
    target_compile_options(libtint-fuzz PUBLIC -fsanitize=fuzzer -fsanitize-coverage=trace-cmp)
    target_link_options(libtint-fuzz PUBLIC -fsanitize=fuzzer -fsanitize-coverage=trace-cmp)
  endif()
endif()

if(${TINT_BUILD_SPV_READER} OR ${TINT_BUILD_SPV_WRITER})
  tint_spvtools_compile_options(libtint)
  if (${TINT_BUILD_FUZZERS})
    tint_spvtools_compile_options(libtint-fuzz)
  endif()
endif()


################################################################################
# Tests
################################################################################
if(TINT_BUILD_TESTS)
  list(APPEND TINT_TEST_SRCS
    lang/wgsl/ast/alias_test.cc
    lang/wgsl/ast/assignment_statement_test.cc
    lang/wgsl/ast/binary_expression_test.cc
    lang/wgsl/ast/binding_attribute_test.cc
    lang/wgsl/ast/bitcast_expression_test.cc
    lang/wgsl/ast/block_statement_test.cc
    lang/wgsl/ast/bool_literal_expression_test.cc
    lang/wgsl/ast/break_if_statement_test.cc
    lang/wgsl/ast/break_statement_test.cc
    lang/wgsl/ast/builtin_attribute_test.cc
    lang/wgsl/ast/builtin_texture_helper_test.cc
    lang/wgsl/ast/builtin_texture_helper_test.h
    lang/wgsl/ast/call_expression_test.cc
    lang/wgsl/ast/call_statement_test.cc
    lang/wgsl/ast/case_selector_test.cc
    lang/wgsl/ast/case_statement_test.cc
    lang/wgsl/ast/compound_assignment_statement_test.cc
    lang/wgsl/ast/const_assert_test.cc
    lang/wgsl/ast/continue_statement_test.cc
    lang/wgsl/ast/diagnostic_attribute_test.cc
    lang/wgsl/ast/diagnostic_control_test.cc
    lang/wgsl/ast/diagnostic_directive_test.cc
    lang/wgsl/ast/diagnostic_rule_name_test.cc
    lang/wgsl/ast/discard_statement_test.cc
    lang/wgsl/ast/enable_test.cc
    lang/wgsl/ast/float_literal_expression_test.cc
    lang/wgsl/ast/for_loop_statement_test.cc
    lang/wgsl/ast/function_test.cc
    lang/wgsl/ast/group_attribute_test.cc
    lang/wgsl/ast/id_attribute_test.cc
    lang/wgsl/ast/identifier_test.cc
    lang/wgsl/ast/identifier_expression_test.cc
    lang/wgsl/ast/if_statement_test.cc
    lang/wgsl/ast/increment_decrement_statement_test.cc
    lang/wgsl/ast/index_accessor_expression_test.cc
    lang/wgsl/ast/index_attribute_test.cc
    lang/wgsl/ast/int_literal_expression_test.cc
    lang/wgsl/ast/interpolate_attribute_test.cc
    lang/wgsl/ast/location_attribute_test.cc
    lang/wgsl/ast/loop_statement_test.cc
    lang/wgsl/ast/member_accessor_expression_test.cc
    lang/wgsl/ast/module_test.cc
    lang/wgsl/ast/phony_expression_test.cc
    lang/wgsl/ast/return_statement_test.cc
    lang/wgsl/ast/stage_attribute_test.cc
    lang/wgsl/ast/stride_attribute_test.cc
    lang/wgsl/ast/struct_member_align_attribute_test.cc
    lang/wgsl/ast/struct_member_offset_attribute_test.cc
    lang/wgsl/ast/struct_member_size_attribute_test.cc
    lang/wgsl/ast/struct_member_test.cc
    lang/wgsl/ast/struct_test.cc
    lang/wgsl/ast/switch_statement_test.cc
    lang/wgsl/ast/templated_identifier_test.cc
    lang/wgsl/ast/test_helper.h
    lang/wgsl/ast/test_helper_test.cc
    lang/wgsl/ast/traverse_expressions_test.cc
    lang/wgsl/ast/unary_op_expression_test.cc
    lang/wgsl/ast/variable_decl_statement_test.cc
    lang/wgsl/ast/variable_test.cc
    lang/wgsl/ast/while_statement_test.cc
    lang/wgsl/ast/workgroup_attribute_test.cc
    lang/base/builtin/number_test.cc
    clone_context_test.cc
    lang/base/constant/composite_test.cc
    lang/base/constant/manager_test.cc
    lang/base/constant/scalar_test.cc
    lang/base/constant/splat_test.cc
    lang/base/constant/value_test.cc
    debug_test.cc
    core/diagnostic/diagnostic_test.cc
    core/diagnostic/formatter_test.cc
    core/diagnostic/printer_test.cc
    lang/wgsl/program/program_builder_test.cc
    lang/wgsl/program/program_test.cc
    reflection_test.cc
    resolver/alias_analysis_test.cc
    resolver/array_accessor_test.cc
    resolver/assignment_validation_test.cc
    resolver/atomics_test.cc
    resolver/atomics_validation_test.cc
    resolver/attribute_validation_test.cc
    resolver/bitcast_validation_test.cc
    resolver/builtin_enum_test.cc
    resolver/builtin_structs_test.cc
    resolver/builtin_test.cc
    resolver/builtin_validation_test.cc
    resolver/builtins_validation_test.cc
    resolver/call_test.cc
    resolver/call_validation_test.cc
    resolver/compound_assignment_validation_test.cc
    resolver/compound_statement_test.cc
    resolver/const_assert_test.cc
    resolver/const_eval_binary_op_test.cc
    resolver/const_eval_bitcast_test.cc
    resolver/const_eval_builtin_test.cc
    resolver/const_eval_construction_test.cc
    resolver/const_eval_conversion_test.cc
    resolver/const_eval_indexing_test.cc
    resolver/const_eval_member_access_test.cc
    resolver/const_eval_runtime_semantics_test.cc
    resolver/const_eval_test.h
    resolver/const_eval_unary_op_test.cc
    resolver/control_block_validation_test.cc
    resolver/dependency_graph_test.cc
    resolver/diagnostic_control_test.cc
    resolver/dual_source_blending_extension_test.cc
    resolver/entry_point_validation_test.cc
    resolver/evaluation_stage_test.cc
    resolver/expression_kind_test.cc
    resolver/f16_extension_test.cc
    resolver/function_validation_test.cc
    resolver/host_shareable_validation_test.cc
    resolver/increment_decrement_validation_test.cc
    resolver/inferred_type_test.cc
    resolver/intrinsic_table_test.cc
    resolver/is_host_shareable_test.cc
    resolver/is_storeable_test.cc
    resolver/load_test.cc
    resolver/materialize_test.cc
    resolver/override_test.cc
    resolver/ptr_ref_test.cc
    resolver/ptr_ref_validation_test.cc
    resolver/resolver_behavior_test.cc
    resolver/resolver_test_helper.cc
    resolver/resolver_test_helper.h
    resolver/resolver_test.cc
    resolver/side_effects_test.cc
    resolver/root_identifier_test.cc
    resolver/address_space_layout_validation_test.cc
    resolver/address_space_validation_test.cc
    resolver/struct_layout_test.cc
    resolver/struct_pipeline_stage_use_test.cc
    resolver/struct_address_space_use_test.cc
    resolver/type_validation_test.cc
    resolver/unresolved_identifier_test.cc
    resolver/validation_test.cc
    resolver/validator_is_storeable_test.cc
    resolver/value_constructor_validation_test.cc
    resolver/variable_test.cc
    resolver/variable_validation_test.cc
    scope_stack_test.cc
    lang/wgsl/sem/builtin_test.cc
    lang/wgsl/sem/diagnostic_severity_test.cc
    lang/wgsl/sem/struct_test.cc
    lang/wgsl/sem/value_expression_test.cc
    source_test.cc
    switch_test.cc
    symbol_table_test.cc
    symbol_test.cc
    test_main.cc
    lang/wgsl/ast/transform/transform_test.cc
    transform/manager_test.cc
    lang/base/type/array_test.cc
    lang/base/type/atomic_test.cc
    lang/base/type/bool_test.cc
    lang/base/type/builtin_structs_test.cc
    lang/base/type/depth_multisampled_texture_test.cc
    lang/base/type/depth_texture_test.cc
    lang/base/type/external_texture_test.cc
    lang/base/type/f16_test.cc
    lang/base/type/f32_test.cc
    lang/base/type/i32_test.cc
    lang/base/type/manager_test.cc
    lang/base/type/matrix_test.cc
    lang/base/type/multisampled_texture_test.cc
    lang/base/type/pointer_test.cc
    lang/base/type/reference_test.cc
    lang/base/type/sampled_texture_test.cc
    lang/base/type/sampler_test.cc
    lang/base/type/storage_texture_test.cc
    lang/base/type/struct_test.cc
    lang/base/type/texture_test.cc
    lang/base/type/type_test.cc
    lang/base/type/u32_test.cc
    lang/base/type/vector_test.cc
    core/bitcast_test.cc
    core/bitset_test.cc
    core/block_allocator_test.cc
    core/bump_allocator_test.cc
    core/cli_test.cc
    core/castable_test.cc
    core/crc32_test.cc
    core/defer_test.cc
    core/enum_set_test.cc
    core/hash_test.cc
    core/io/command_test.cc
    core/io/tmpfile_test.cc
    core/hashmap_test.cc
    core/hashset_test.cc
    core/map_test.cc
    core/math_test.cc
    core/predicates_test.cc
    core/result_test.cc
    core/reverse_test.cc
    core/scoped_assignment_test.cc
    core/slice_test.cc
    core/string_stream_test.cc
    core/string_test.cc
    core/traits_test.cc
    core/transform_test.cc
    core/unicode_test.cc
    core/unique_allocator_test.cc
    core/unique_vector_test.cc
    core/vector_test.cc
    lang/wgsl/helpers/append_vector_test.cc
    writer/ast_text_generator_test.cc
    lang/wgsl/helpers/check_supported_extensions_test.cc
    lang/wgsl/helpers/flatten_bindings_test.cc
    writer/float_to_string_test.cc
  )

  # Noet, the source files are included here otherwise the cmd sources would not be included in the
  # test binary.
  list(APPEND TINT_TEST_SRCS
    cmd/generate_external_texture_bindings.cc
    cmd/generate_external_texture_bindings.h
    cmd/generate_external_texture_bindings_test.cc
  )

  # Uniformity analysis tests depend on WGSL reader
  if(${TINT_BUILD_WGSL_READER})
    list(APPEND TINT_TEST_SRCS
      resolver/uniformity_test.cc
    )
  endif()

  # Inspector tests depend on WGSL reader
  if(${TINT_BUILD_WGSL_READER})
    list(APPEND TINT_TEST_SRCS
      lang/wgsl/inspector/inspector_test.cc
      lang/wgsl/inspector/test_inspector_builder.cc
      lang/wgsl/inspector/test_inspector_builder.h
      lang/wgsl/inspector/test_inspector_runner.cc
      lang/wgsl/inspector/test_inspector_runner.h
    )
  endif()

  if(${TINT_BUILD_SPV_READER} AND ${TINT_BUILD_WGSL_WRITER})
    list(APPEND TINT_TEST_SRCS
      lang/spirv/reader/enum_converter_test.cc
      lang/spirv/reader/fail_stream_test.cc
      lang/spirv/reader/function_arithmetic_test.cc
      lang/spirv/reader/function_bit_test.cc
      lang/spirv/reader/function_cfg_test.cc
      lang/spirv/reader/function_call_test.cc
      lang/spirv/reader/function_composite_test.cc
      lang/spirv/reader/function_conversion_test.cc
      lang/spirv/reader/function_decl_test.cc
      lang/spirv/reader/function_glsl_std_450_test.cc
      lang/spirv/reader/function_logical_test.cc
      lang/spirv/reader/function_memory_test.cc
      lang/spirv/reader/function_misc_test.cc
      lang/spirv/reader/function_var_test.cc
      lang/spirv/reader/namer_test.cc
      lang/spirv/reader/parser_impl_barrier_test.cc
      lang/spirv/reader/parser_impl_constant_test.cc
      lang/spirv/reader/parser_impl_convert_member_decoration_test.cc
      lang/spirv/reader/parser_impl_convert_type_test.cc
      lang/spirv/reader/parser_impl_function_decl_test.cc
      lang/spirv/reader/parser_impl_get_decorations_test.cc
      lang/spirv/reader/parser_impl_handle_test.cc
      lang/spirv/reader/parser_impl_import_test.cc
      lang/spirv/reader/parser_impl_module_var_test.cc
      lang/spirv/reader/parser_impl_named_types_test.cc
      lang/spirv/reader/parser_impl_test_helper.cc
      lang/spirv/reader/parser_impl_test_helper.h
      lang/spirv/reader/parser_impl_test.cc
      lang/spirv/reader/parser_impl_user_name_test.cc
      lang/spirv/reader/parser_type_test.cc
      lang/spirv/reader/parser_test.cc
      lang/spirv/reader/spirv_tools_helpers_test.cc
      lang/spirv/reader/spirv_tools_helpers_test.h
      lang/spirv/reader/usage_test.cc
    )
  endif()

  if(${TINT_BUILD_WGSL_READER})
    list(APPEND TINT_TEST_SRCS
      lang/wgsl/reader/classify_template_args_test.cc
      lang/wgsl/reader/lexer_test.cc
      lang/wgsl/reader/parser_test.cc
      lang/wgsl/reader/parser_impl_additive_expression_test.cc
      lang/wgsl/reader/parser_impl_argument_expression_list_test.cc
      lang/wgsl/reader/parser_impl_assignment_stmt_test.cc
      lang/wgsl/reader/parser_impl_bitwise_expression_test.cc
      lang/wgsl/reader/parser_impl_break_stmt_test.cc
      lang/wgsl/reader/parser_impl_bug_cases_test.cc
      lang/wgsl/reader/parser_impl_call_stmt_test.cc
      lang/wgsl/reader/parser_impl_compound_stmt_test.cc
      lang/wgsl/reader/parser_impl_const_literal_test.cc
      lang/wgsl/reader/parser_impl_continue_stmt_test.cc
      lang/wgsl/reader/parser_impl_continuing_stmt_test.cc
      lang/wgsl/reader/parser_impl_core_lhs_expression_test.cc
      lang/wgsl/reader/parser_impl_diagnostic_attribute_test.cc
      lang/wgsl/reader/parser_impl_diagnostic_control_test.cc
      lang/wgsl/reader/parser_impl_diagnostic_directive_test.cc
      lang/wgsl/reader/parser_impl_enable_directive_test.cc
      lang/wgsl/reader/parser_impl_error_msg_test.cc
      lang/wgsl/reader/parser_impl_error_resync_test.cc
      lang/wgsl/reader/parser_impl_expression_test.cc
      lang/wgsl/reader/parser_impl_for_stmt_test.cc
      lang/wgsl/reader/parser_impl_function_decl_test.cc
      lang/wgsl/reader/parser_impl_function_attribute_list_test.cc
      lang/wgsl/reader/parser_impl_function_attribute_test.cc
      lang/wgsl/reader/parser_impl_function_header_test.cc
      lang/wgsl/reader/parser_impl_global_constant_decl_test.cc
      lang/wgsl/reader/parser_impl_global_decl_test.cc
      lang/wgsl/reader/parser_impl_global_variable_decl_test.cc
      lang/wgsl/reader/parser_impl_if_stmt_test.cc
      lang/wgsl/reader/parser_impl_increment_decrement_stmt_test.cc
      lang/wgsl/reader/parser_impl_lhs_expression_test.cc
      lang/wgsl/reader/parser_impl_loop_stmt_test.cc
      lang/wgsl/reader/parser_impl_math_expression_test.cc
      lang/wgsl/reader/parser_impl_multiplicative_expression_test.cc
      lang/wgsl/reader/parser_impl_param_list_test.cc
      lang/wgsl/reader/parser_impl_paren_expression_test.cc
      lang/wgsl/reader/parser_impl_primary_expression_test.cc
      lang/wgsl/reader/parser_impl_relational_expression_test.cc
      lang/wgsl/reader/parser_impl_reserved_keyword_test.cc
      lang/wgsl/reader/parser_impl_require_directive_test.cc
      lang/wgsl/reader/parser_impl_shift_expression_test.cc
      lang/wgsl/reader/parser_impl_singular_expression_test.cc
      lang/wgsl/reader/parser_impl_statement_test.cc
      lang/wgsl/reader/parser_impl_statements_test.cc
      lang/wgsl/reader/parser_impl_struct_body_decl_test.cc
      lang/wgsl/reader/parser_impl_struct_decl_test.cc
      lang/wgsl/reader/parser_impl_struct_attribute_decl_test.cc
      lang/wgsl/reader/parser_impl_struct_member_attribute_decl_test.cc
      lang/wgsl/reader/parser_impl_struct_member_attribute_test.cc
      lang/wgsl/reader/parser_impl_struct_member_test.cc
      lang/wgsl/reader/parser_impl_switch_body_test.cc
      lang/wgsl/reader/parser_impl_switch_stmt_test.cc
      lang/wgsl/reader/parser_impl_test.cc
      lang/wgsl/reader/parser_impl_test_helper.cc
      lang/wgsl/reader/parser_impl_test_helper.h
      lang/wgsl/reader/parser_impl_type_alias_test.cc
      lang/wgsl/reader/parser_impl_type_decl_test.cc
      lang/wgsl/reader/parser_impl_unary_expression_test.cc
      lang/wgsl/reader/parser_impl_variable_decl_test.cc
      lang/wgsl/reader/parser_impl_variable_attribute_list_test.cc
      lang/wgsl/reader/parser_impl_variable_attribute_test.cc
      lang/wgsl/reader/parser_impl_variable_ident_decl_test.cc
      lang/wgsl/reader/parser_impl_variable_stmt_test.cc
      lang/wgsl/reader/parser_impl_variable_qualifier_test.cc
      lang/wgsl/reader/parser_impl_while_stmt_test.cc
      lang/wgsl/reader/token_test.cc
    )
  endif()

  if(${TINT_BUILD_SPV_WRITER})
    list(APPEND TINT_TEST_SRCS
      lang/spirv/ast_writer/binary_writer_test.cc
      lang/spirv/ast_writer/builder_accessor_expression_test.cc
      lang/spirv/ast_writer/builder_assign_test.cc
      lang/spirv/ast_writer/builder_binary_expression_test.cc
      lang/spirv/ast_writer/builder_bitcast_expression_test.cc
      lang/spirv/ast_writer/builder_block_test.cc
      lang/spirv/ast_writer/builder_builtin_test.cc
      lang/spirv/ast_writer/builder_builtin_texture_test.cc
      lang/spirv/ast_writer/builder_call_test.cc
      lang/spirv/ast_writer/builder_const_assert_test.cc
      lang/spirv/ast_writer/builder_constructor_expression_test.cc
      lang/spirv/ast_writer/builder_discard_test.cc
      lang/spirv/ast_writer/builder_entry_point_test.cc
      lang/spirv/ast_writer/builder_format_conversion_test.cc
      lang/spirv/ast_writer/builder_function_attribute_test.cc
      lang/spirv/ast_writer/builder_function_test.cc
      lang/spirv/ast_writer/builder_function_variable_test.cc
      lang/spirv/ast_writer/builder_global_variable_test.cc
      lang/spirv/ast_writer/builder_ident_expression_test.cc
      lang/spirv/ast_writer/builder_if_test.cc
      lang/spirv/ast_writer/builder_literal_test.cc
      lang/spirv/ast_writer/builder_loop_test.cc
      lang/spirv/ast_writer/builder_return_test.cc
      lang/spirv/ast_writer/builder_switch_test.cc
      lang/spirv/ast_writer/builder_test.cc
      lang/spirv/ast_writer/builder_type_test.cc
      lang/spirv/ast_writer/builder_unary_op_expression_test.cc
      lang/spirv/ast_writer/instruction_test.cc
      lang/spirv/ast_writer/module_test.cc
      lang/spirv/ast_writer/operand_test.cc
      lang/spirv/ast_writer/scalar_constant_test.cc
      lang/spirv/ast_writer/spv_dump.cc
      lang/spirv/ast_writer/spv_dump.h
      lang/spirv/ast_writer/test_helper.h
    )

    if(${TINT_BUILD_IR})
      list(APPEND TINT_TEST_SRCS
        ir/transform/builtin_polyfill_spirv_test.cc
        ir/transform/handle_matrix_arithmetic_test.cc
        ir/transform/expand_implicit_splats_test.cc
        ir/transform/merge_return_test.cc
        ir/transform/shader_io_spirv_test.cc
        ir/transform/var_for_dynamic_index_test.cc
        lang/spirv/writer/generator_impl_ir_access_test.cc
        lang/spirv/writer/generator_impl_ir_atomic_builtin_test.cc
        lang/spirv/writer/generator_impl_ir_binary_test.cc
        lang/spirv/writer/generator_impl_ir_bitcast_test.cc
        lang/spirv/writer/generator_impl_ir_builtin_test.cc
        lang/spirv/writer/generator_impl_ir_constant_test.cc
        lang/spirv/writer/generator_impl_ir_construct_test.cc
        lang/spirv/writer/generator_impl_ir_convert_test.cc
        lang/spirv/writer/generator_impl_ir_discard_test.cc
        lang/spirv/writer/generator_impl_ir_function_test.cc
        lang/spirv/writer/generator_impl_ir_if_test.cc
        lang/spirv/writer/generator_impl_ir_let_test.cc
        lang/spirv/writer/generator_impl_ir_loop_test.cc
        lang/spirv/writer/generator_impl_ir_switch_test.cc
        lang/spirv/writer/generator_impl_ir_swizzle_test.cc
        lang/spirv/writer/generator_impl_ir_test.cc
        lang/spirv/writer/generator_impl_ir_texture_builtin_test.cc
        lang/spirv/writer/generator_impl_ir_type_test.cc
        lang/spirv/writer/generator_impl_ir_unary_test.cc
        lang/spirv/writer/generator_impl_ir_var_test.cc
        lang/spirv/writer/test_helper_ir.h
      )
    endif()
  endif()

  if(${TINT_BUILD_WGSL_WRITER})
    list(APPEND TINT_TEST_SRCS
      lang/wgsl/ast_writer/generator_impl_test.cc
      lang/wgsl/ast_writer/generator_impl_alias_type_test.cc
      lang/wgsl/ast_writer/generator_impl_array_accessor_test.cc
      lang/wgsl/ast_writer/generator_impl_assign_test.cc
      lang/wgsl/ast_writer/generator_impl_binary_test.cc
      lang/wgsl/ast_writer/generator_impl_bitcast_test.cc
      lang/wgsl/ast_writer/generator_impl_block_test.cc
      lang/wgsl/ast_writer/generator_impl_break_test.cc
      lang/wgsl/ast_writer/generator_impl_call_test.cc
      lang/wgsl/ast_writer/generator_impl_case_test.cc
      lang/wgsl/ast_writer/generator_impl_cast_test.cc
      lang/wgsl/ast_writer/generator_impl_const_assert_test.cc
      lang/wgsl/ast_writer/generator_impl_constructor_test.cc
      lang/wgsl/ast_writer/generator_impl_continue_test.cc
      lang/wgsl/ast_writer/generator_impl_diagnostic_test.cc
      lang/wgsl/ast_writer/generator_impl_discard_test.cc
      lang/wgsl/ast_writer/generator_impl_enable_test.cc
      lang/wgsl/ast_writer/generator_impl_function_test.cc
      lang/wgsl/ast_writer/generator_impl_global_decl_test.cc
      lang/wgsl/ast_writer/generator_impl_identifier_test.cc
      lang/wgsl/ast_writer/generator_impl_if_test.cc
      lang/wgsl/ast_writer/generator_impl_loop_test.cc
      lang/wgsl/ast_writer/generator_impl_literal_test.cc
      lang/wgsl/ast_writer/generator_impl_member_accessor_test.cc
      lang/wgsl/ast_writer/generator_impl_return_test.cc
      lang/wgsl/ast_writer/generator_impl_switch_test.cc
      lang/wgsl/ast_writer/generator_impl_type_test.cc
      lang/wgsl/ast_writer/generator_impl_unary_op_test.cc
      lang/wgsl/ast_writer/generator_impl_variable_decl_statement_test.cc
      lang/wgsl/ast_writer/generator_impl_variable_test.cc
      lang/wgsl/ast_writer/test_helper.h
    )
  endif()

  if(${TINT_BUILD_WGSL_READER} AND ${TINT_BUILD_WGSL_WRITER})
    list(APPEND TINT_TEST_SRCS
      lang/wgsl/ast/module_clone_test.cc
      lang/wgsl/ast/transform/add_empty_entry_point_test.cc
      lang/wgsl/ast/transform/add_block_attribute_test.cc
      lang/wgsl/ast/transform/array_length_from_uniform_test.cc
      lang/wgsl/ast/transform/binding_remapper_test.cc
      lang/wgsl/ast/transform/builtin_polyfill_test.cc
      lang/wgsl/ast/transform/calculate_array_length_test.cc
      lang/wgsl/ast/transform/clamp_frag_depth_test.cc
      lang/wgsl/ast/transform/canonicalize_entry_point_io_test.cc
      lang/wgsl/ast/transform/combine_samplers_test.cc
      lang/wgsl/ast/transform/decompose_memory_access_test.cc
      lang/wgsl/ast/transform/decompose_strided_array_test.cc
      lang/wgsl/ast/transform/decompose_strided_matrix_test.cc
      lang/wgsl/ast/transform/demote_to_helper_test.cc
      lang/wgsl/ast/transform/direct_variable_access_test.cc
      lang/wgsl/ast/transform/disable_uniformity_analysis_test.cc
      lang/wgsl/ast/transform/expand_compound_assignment_test.cc
      lang/wgsl/ast/transform/first_index_offset_test.cc
      lang/wgsl/ast/transform/fold_trivial_lets_test.cc
      lang/wgsl/ast/transform/for_loop_to_loop_test.cc
      lang/wgsl/ast/transform/expand_compound_assignment_test.cc
      lang/wgsl/ast/transform/localize_struct_array_assignment_test.cc
      lang/wgsl/ast/transform/merge_return_test.cc
      lang/wgsl/ast/transform/module_scope_var_to_entry_point_param_test.cc
      lang/wgsl/ast/transform/multiplanar_external_texture_test.cc
      lang/wgsl/ast/transform/num_workgroups_from_uniform_test.cc
      lang/wgsl/ast/transform/packed_vec3_test.cc
      lang/wgsl/ast/transform/pad_structs_test.cc
      lang/wgsl/ast/transform/preserve_padding_test.cc
      lang/wgsl/ast/transform/promote_initializers_to_let_test.cc
      lang/wgsl/ast/transform/promote_side_effects_to_decl_test.cc
      lang/wgsl/ast/transform/remove_continue_in_switch_test.cc
      lang/wgsl/ast/transform/remove_phonies_test.cc
      lang/wgsl/ast/transform/remove_unreachable_statements_test.cc
      lang/wgsl/ast/transform/renamer_test.cc
      lang/wgsl/ast/transform/robustness_test.cc
      lang/wgsl/ast/transform/simplify_pointers_test.cc
      lang/wgsl/ast/transform/single_entry_point_test.cc
      lang/wgsl/ast/transform/spirv_atomic_test.cc
      lang/wgsl/ast/transform/std140_exhaustive_test.cc
      lang/wgsl/ast/transform/std140_f16_test.cc
      lang/wgsl/ast/transform/std140_f32_test.cc
      lang/wgsl/ast/transform/std140_test.cc
      lang/wgsl/ast/transform/substitute_override_test.cc
      lang/wgsl/ast/transform/test_helper.h
      lang/wgsl/ast/transform/texture_1d_to_2d_test.cc
      lang/wgsl/ast/transform/truncate_interstage_variables_test.cc
      lang/wgsl/ast/transform/unshadow_test.cc
      lang/wgsl/ast/transform/var_for_dynamic_index_test.cc
      lang/wgsl/ast/transform/vectorize_matrix_conversions_test.cc
      lang/wgsl/ast/transform/vectorize_scalar_matrix_initializers_test.cc
      lang/wgsl/ast/transform/vertex_pulling_test.cc
      lang/wgsl/ast/transform/while_to_loop_test.cc
      lang/wgsl/ast/transform/zero_init_workgroup_memory_test.cc
      lang/wgsl/ast/transform/utils/get_insertion_point_test.cc
      lang/wgsl/ast/transform/utils/hoist_to_decl_before_test.cc
    )
  endif()

  if(${TINT_BUILD_MSL_WRITER})
    list(APPEND TINT_TEST_SRCS
      lang/msl/ast_writer/generator_impl_array_accessor_test.cc
      lang/msl/ast_writer/generator_impl_assign_test.cc
      lang/msl/ast_writer/generator_impl_binary_test.cc
      lang/msl/ast_writer/generator_impl_bitcast_test.cc
      lang/msl/ast_writer/generator_impl_block_test.cc
      lang/msl/ast_writer/generator_impl_break_test.cc
      lang/msl/ast_writer/generator_impl_builtin_test.cc
      lang/msl/ast_writer/generator_impl_builtin_texture_test.cc
      lang/msl/ast_writer/generator_impl_call_test.cc
      lang/msl/ast_writer/generator_impl_case_test.cc
      lang/msl/ast_writer/generator_impl_cast_test.cc
      lang/msl/ast_writer/generator_impl_const_assert_test.cc
      lang/msl/ast_writer/generator_impl_constructor_test.cc
      lang/msl/ast_writer/generator_impl_continue_test.cc
      lang/msl/ast_writer/generator_impl_discard_test.cc
      lang/msl/ast_writer/generator_impl_function_test.cc
      lang/msl/ast_writer/generator_impl_identifier_test.cc
      lang/msl/ast_writer/generator_impl_if_test.cc
      lang/msl/ast_writer/generator_impl_import_test.cc
      lang/msl/ast_writer/generator_impl_loop_test.cc
      lang/msl/ast_writer/generator_impl_member_accessor_test.cc
      lang/msl/ast_writer/generator_impl_module_constant_test.cc
      lang/msl/ast_writer/generator_impl_return_test.cc
      lang/msl/ast_writer/generator_impl_sanitizer_test.cc
      lang/msl/ast_writer/generator_impl_switch_test.cc
      lang/msl/ast_writer/generator_impl_test.cc
      lang/msl/ast_writer/generator_impl_type_test.cc
      lang/msl/ast_writer/generator_impl_unary_op_test.cc
      lang/msl/ast_writer/generator_impl_variable_decl_statement_test.cc
      lang/msl/ast_writer/generator_support_test.cc
      lang/msl/ast_writer/test_helper.h
    )

    if(${TINT_BUILD_IR})
      list(APPEND TINT_TEST_SRCS
        lang/msl/writer/generator_impl_ir_constant_test.cc
        lang/msl/writer/generator_impl_ir_function_test.cc
        lang/msl/writer/generator_impl_ir_type_test.cc
        lang/msl/writer/test_helper_ir.h
      )
    endif()
  endif()

  if (${TINT_BUILD_GLSL_WRITER})
    list(APPEND TINT_TEST_SRCS
      lang/glsl/ast_writer/generator_impl_array_accessor_test.cc
      lang/glsl/ast_writer/generator_impl_assign_test.cc
      lang/glsl/ast_writer/generator_impl_binary_test.cc
      lang/glsl/ast_writer/generator_impl_bitcast_test.cc
      lang/glsl/ast_writer/generator_impl_block_test.cc
      lang/glsl/ast_writer/generator_impl_break_test.cc
      lang/glsl/ast_writer/generator_impl_builtin_test.cc
      lang/glsl/ast_writer/generator_impl_builtin_texture_test.cc
      lang/glsl/ast_writer/generator_impl_call_test.cc
      lang/glsl/ast_writer/generator_impl_case_test.cc
      lang/glsl/ast_writer/generator_impl_cast_test.cc
      lang/glsl/ast_writer/generator_impl_constructor_test.cc
      lang/glsl/ast_writer/generator_impl_continue_test.cc
      lang/glsl/ast_writer/generator_impl_discard_test.cc
      lang/glsl/ast_writer/generator_impl_function_test.cc
      lang/glsl/ast_writer/generator_impl_identifier_test.cc
      lang/glsl/ast_writer/generator_impl_if_test.cc
      lang/glsl/ast_writer/generator_impl_import_test.cc
      lang/glsl/ast_writer/generator_impl_loop_test.cc
      lang/glsl/ast_writer/generator_impl_member_accessor_test.cc
      lang/glsl/ast_writer/generator_impl_module_constant_test.cc
      lang/glsl/ast_writer/generator_impl_return_test.cc
      lang/glsl/ast_writer/generator_impl_sanitizer_test.cc
      lang/glsl/ast_writer/generator_impl_storage_buffer_test.cc
      lang/glsl/ast_writer/generator_impl_switch_test.cc
      lang/glsl/ast_writer/generator_impl_test.cc
      lang/glsl/ast_writer/generator_impl_type_test.cc
      lang/glsl/ast_writer/generator_impl_unary_op_test.cc
      lang/glsl/ast_writer/generator_impl_uniform_buffer_test.cc
      lang/glsl/ast_writer/generator_impl_variable_decl_statement_test.cc
      lang/glsl/ast_writer/generator_impl_workgroup_var_test.cc
      lang/glsl/ast_writer/test_helper.h
    )
  endif()

  if (${TINT_BUILD_HLSL_WRITER})
    list(APPEND TINT_TEST_SRCS
      lang/hlsl/ast_writer/generator_impl_array_accessor_test.cc
      lang/hlsl/ast_writer/generator_impl_assign_test.cc
      lang/hlsl/ast_writer/generator_impl_binary_test.cc
      lang/hlsl/ast_writer/generator_impl_bitcast_test.cc
      lang/hlsl/ast_writer/generator_impl_block_test.cc
      lang/hlsl/ast_writer/generator_impl_break_test.cc
      lang/hlsl/ast_writer/generator_impl_builtin_test.cc
      lang/hlsl/ast_writer/generator_impl_builtin_texture_test.cc
      lang/hlsl/ast_writer/generator_impl_call_test.cc
      lang/hlsl/ast_writer/generator_impl_case_test.cc
      lang/hlsl/ast_writer/generator_impl_cast_test.cc
      lang/hlsl/ast_writer/generator_impl_const_assert_test.cc
      lang/hlsl/ast_writer/generator_impl_constructor_test.cc
      lang/hlsl/ast_writer/generator_impl_continue_test.cc
      lang/hlsl/ast_writer/generator_impl_discard_test.cc
      lang/hlsl/ast_writer/generator_impl_function_test.cc
      lang/hlsl/ast_writer/generator_impl_identifier_test.cc
      lang/hlsl/ast_writer/generator_impl_if_test.cc
      lang/hlsl/ast_writer/generator_impl_import_test.cc
      lang/hlsl/ast_writer/generator_impl_loop_test.cc
      lang/hlsl/ast_writer/generator_impl_member_accessor_test.cc
      lang/hlsl/ast_writer/generator_impl_module_constant_test.cc
      lang/hlsl/ast_writer/generator_impl_return_test.cc
      lang/hlsl/ast_writer/generator_impl_sanitizer_test.cc
      lang/hlsl/ast_writer/generator_impl_switch_test.cc
      lang/hlsl/ast_writer/generator_impl_test.cc
      lang/hlsl/ast_writer/generator_impl_type_test.cc
      lang/hlsl/ast_writer/generator_impl_unary_op_test.cc
      lang/hlsl/ast_writer/generator_impl_variable_decl_statement_test.cc
      lang/hlsl/ast_writer/generator_impl_workgroup_var_test.cc
      lang/hlsl/ast_writer/test_helper.h
    )
  endif()

  if (${TINT_BUILD_IR})
    list(APPEND TINT_TEST_SRCS
      ir/access_test.cc
      ir/binary_test.cc
      ir/bitcast_test.cc
      ir/block_param_test.cc
      ir/block_test.cc
      ir/break_if_test.cc
      ir/constant_test.cc
      ir/construct_test.cc
      ir/continue_test.cc
      ir/convert_test.cc
      ir/core_builtin_call_test.cc
      ir/discard_test.cc
      ir/exit_if_test.cc
      ir/exit_loop_test.cc
      ir/exit_switch_test.cc
      ir/from_program_accessor_test.cc
      ir/from_program_binary_test.cc
      ir/from_program_builtin_test.cc
      ir/from_program_call_test.cc
      ir/from_program_function_test.cc
      ir/from_program_let_test.cc
      ir/from_program_literal_test.cc
      ir/from_program_materialize_test.cc
      ir/from_program_store_test.cc
      ir/from_program_test.cc
      ir/from_program_unary_test.cc
      ir/from_program_var_test.cc
      ir/function_param_test.cc
      ir/function_test.cc
      ir/if_test.cc
      ir/instruction_result_test.cc
      ir/instruction_test.cc
      ir/intrinsic_call_test.cc
      ir/ir_test_helper.h
      ir/let_test.cc
      ir/load_test.cc
      ir/load_vector_element_test.cc
      ir/loop_test.cc
      ir/module_test.cc
      ir/multi_in_block_test.cc
      ir/next_iteration_test.cc
      ir/operand_instruction_test.cc
      ir/program_test_helper.h
      ir/return_test.cc
      ir/store_test.cc
      ir/store_vector_element_test.cc
      ir/switch_test.cc
      ir/swizzle_test.cc
      ir/transform/add_empty_entry_point_test.cc
      ir/transform/block_decorated_structs_test.cc
      ir/transform/demote_to_helper_test.cc
      ir/unary_test.cc
      ir/user_call_test.cc
      ir/validator_test.cc
      ir/value_test.cc
      ir/var_test.cc
    )
  endif()

  if (${TINT_BUILD_IR} AND ${TINT_BUILD_WGSL_READER} AND ${TINT_BUILD_WGSL_WRITER})
    list(APPEND TINT_TEST_SRCS
      ir/to_program_roundtrip_test.cc
    )
  endif()

  if (${TINT_BUILD_IR} AND ${TINT_BUILD_WGSL_WRITER})
    list(APPEND TINT_TEST_SRCS
      ir/to_program_inlining_test.cc
      ir/to_program_test.cc
    )
  endif()

  if (${TINT_BUILD_FUZZERS})
    list(APPEND TINT_TEST_SRCS
      fuzzers/mersenne_twister_engine.cc
      fuzzers/mersenne_twister_engine.h
      fuzzers/random_generator.cc
      fuzzers/random_generator.h
      fuzzers/random_generator_engine.cc
      fuzzers/random_generator_engine.h
      fuzzers/random_generator_test.cc
    )
  endif()

  add_executable(tint_unittests ${TINT_TEST_SRCS})
  set_target_properties(${target} PROPERTIES FOLDER "Tests")

  if(MSVC)
    # TODO(crbug.com/tint/1749): MSVC debug builds can suffer from stack
    # overflows when resolving deeply nested expression chains or statements.
    # Production builds neither use MSVC nor debug, so just bump the stack size
    # for this build combination.
    if (IS_DEBUG_BUILD)
      target_link_options(tint_unittests PRIVATE "/STACK:4194304") # 4MB, default is 1MB
    endif()
  else()
    target_compile_options(tint_unittests PRIVATE
      -Wno-global-constructors
      -Wno-weak-vtables
    )
  endif()

  ## Test executable
  target_include_directories(
      tint_unittests PRIVATE ${gmock_SOURCE_DIR}/include)
  target_link_libraries(tint_unittests libtint gmock tint_utils_io)
  tint_default_compile_options(tint_unittests)

  if(${TINT_BUILD_SPV_READER} OR ${TINT_BUILD_SPV_WRITER})
    tint_spvtools_compile_options(tint_unittests)
  endif()

  add_test(NAME tint_unittests COMMAND tint_unittests)
endif(TINT_BUILD_TESTS)

################################################################################
# Benchmarks
################################################################################
if(TINT_BUILD_BENCHMARKS)
  if(NOT TINT_BUILD_WGSL_READER)
    message(FATAL_ERROR "TINT_BUILD_BENCHMARKS requires TINT_BUILD_WGSL_READER")
  endif()

  list(APPEND TINT_BENCHMARK_SRCS
    "switch_bench.cc"
    "bench/benchmark.cc"
    "lang/wgsl/reader/parser_bench.cc"
  )

  if (${TINT_BUILD_GLSL_WRITER})
    list(APPEND TINT_BENCHMARK_SRCS lang/glsl/ast_writer/generator_bench.cc)
  endif()
  if (${TINT_BUILD_HLSL_WRITER})
    list(APPEND TINT_BENCHMARK_SRCS lang/hlsl/ast_writer/generator_bench.cc)
  endif()
  if (${TINT_BUILD_MSL_WRITER})
    list(APPEND TINT_BENCHMARK_SRCS lang/msl/ast_writer/generator_bench.cc)
  endif()
  if (${TINT_BUILD_SPV_WRITER})
    list(APPEND TINT_BENCHMARK_SRCS lang/spirv/ast_writer/generator_bench.cc)
  endif()
  if (${TINT_BUILD_WGSL_WRITER})
    list(APPEND TINT_BENCHMARK_SRCS lang/wgsl/ast_writer/generator_bench.cc)
  endif()

  add_executable(tint-benchmark ${TINT_BENCHMARK_SRCS})
  set_target_properties(${target} PROPERTIES FOLDER "Benchmarks")

  tint_core_compile_options(tint-benchmark)

  target_link_libraries(tint-benchmark PRIVATE benchmark::benchmark libtint)

  if (TINT_EXTERNAL_BENCHMARK_CORPUS_DIR)
    # Glob all the files at TINT_EXTERNAL_BENCHMARK_CORPUS_DIR, and create a header
    # that lists these with the macros:
    # TINT_BENCHMARK_EXTERNAL_WGSL_PROGRAMS()
    # TINT_BENCHMARK_EXTERNAL_SPV_PROGRAMS()
    set(TINT_BENCHMARK_GEN_DIR "${DAWN_BUILD_GEN_DIR}/src/tint/benchmark/")
    set(TINT_BENCHMARK_EXTERNAL_SHADERS_HEADER "${TINT_BENCHMARK_GEN_DIR}/external_wgsl_programs.h")
    message("Globbing ${TINT_EXTERNAL_BENCHMARK_CORPUS_DIR}...")

    file(GLOB_RECURSE
      TINT_EXTERNAL_WGSL_BENCHMARK_FILES
      RELATIVE "${TINT_EXTERNAL_BENCHMARK_CORPUS_DIR}"
      "${TINT_EXTERNAL_BENCHMARK_CORPUS_DIR}/**.wgsl")
    list(TRANSFORM TINT_EXTERNAL_WGSL_BENCHMARK_FILES REPLACE
      "(.+)"
      "    BENCHMARK_CAPTURE\(FUNC, \"\\1\", \"${TINT_EXTERNAL_BENCHMARK_CORPUS_DIR}/\\1\")")
    list(JOIN TINT_EXTERNAL_WGSL_BENCHMARK_FILES "; \\\n" TINT_EXTERNAL_WGSL_BENCHMARK_FILES)

    file(GLOB_RECURSE
      TINT_EXTERNAL_SPV_BENCHMARK_FILES
      RELATIVE "${TINT_EXTERNAL_BENCHMARK_CORPUS_DIR}"
      "${TINT_EXTERNAL_BENCHMARK_CORPUS_DIR}/**.spv")

      list(TRANSFORM TINT_EXTERNAL_SPV_BENCHMARK_FILES REPLACE
      "(.+)"
      "    BENCHMARK_CAPTURE\(FUNC, \"\\1\", \"${TINT_EXTERNAL_BENCHMARK_CORPUS_DIR}/\\1\")")
    list(JOIN TINT_EXTERNAL_SPV_BENCHMARK_FILES "; \\\n" TINT_EXTERNAL_SPV_BENCHMARK_FILES)

    file(CONFIGURE
      OUTPUT "${TINT_BENCHMARK_EXTERNAL_SHADERS_HEADER}"
      CONTENT "
#define TINT_BENCHMARK_EXTERNAL_WGSL_PROGRAMS(FUNC) \\
${TINT_EXTERNAL_WGSL_BENCHMARK_FILES};

#define TINT_BENCHMARK_EXTERNAL_SPV_PROGRAMS(FUNC) \\
${TINT_EXTERNAL_SPV_BENCHMARK_FILES};")
    # Define TINT_BENCHMARK_EXTERNAL_SHADERS_HEADER to the generated header path
    target_compile_definitions(tint-benchmark PRIVATE
      "TINT_BENCHMARK_EXTERNAL_SHADERS_HEADER=\"${TINT_BENCHMARK_EXTERNAL_SHADERS_HEADER}\"")
  endif()
endif(TINT_BUILD_BENCHMARKS)
