cinn_proto_library(schedule_desc_proto SRCS schedule_desc.proto)

core_gather_headers()

gather_srcs(cinnapi_src SRCS
    ir.cc
    ir_base.cc
    ir_schedule.cc
    ir_schedule_util.cc
    ir_visitor.cc
    ir_printer.cc
    ir_mutator.cc
    function_definition.cc
    lowered_func.cc
    ir_operators.cc
    ir_verify.cc
    buffer.cc
    function_base.cc
    operation.cc
    collect_ir_nodes.cc
    registry.cc
    tensor.cc
    module.cc
    intrinsic_ops.cc
    layout.cc
    schedule_desc.cc
    ir_compare.cc
    )

# cinn_cc_test(test_ir SRCS ir_test.cc DEPS core)
# cinn_cc_test(test_ir_printer SRCS ir_printer_test.cc DEPS core)
# cinn_cc_test(test_ir_operators SRCS ir_operators_test.cc DEPS core)
cinn_cc_test(test_collect_ir_nodes SRCS collect_ir_nodes_test.cc DEPS cinncore)
# cinn_cc_test(test_tensor SRCS tensor_test.cc DEPS core)
cinn_cc_test(test_buffer SRCS buffer_test.cc DEPS cinncore ARGS ${global_test_args})
cinn_cc_test(test_tensor SRCS tensor_test.cc DEPS cinncore)
cinn_cc_test(test_intrinsic_ops SRCS intrinsic_ops_test.cc DEPS cinncore)
cinn_cc_test(test_ir_verify SRCS ir_verify_test.cc DEPS cinncore)
cinn_cc_test(test_schedule_desc SRCS schedule_desc_test.cc DEPS cinncore)
cinn_cc_test(test_ir_compare SRCS ir_compare_test.cc DEPS cinncore)

foreach(header ${schedule_desc_proto_HDRS})
  set(core_proto_includes "${core_proto_includes};${header}" CACHE INTERNAL "")
endforeach()
