add_library(elementwise_program STATIC elementwise_program.cpp) target_include_directories(elementwise_program PUBLIC $) target_link_libraries(elementwise_program PRIVATE Halide::Runtime) add_library(interpreter_lower STATIC lower.cpp) target_include_directories(interpreter_lower PUBLIC $) target_link_libraries(interpreter_lower PRIVATE Halide::Runtime) add_library(interpreter STATIC allocation_planner.cpp interpreter.cpp interval.cpp model.cpp ops.cpp tensor.cpp transforms.cpp) target_include_directories(interpreter PUBLIC $) target_link_libraries(interpreter PRIVATE elementwise_program halide_op_implementations interpreter_lower Halide::Runtime) foreach (LIB IN ITEMS elementwise_program interpreter_lower interpreter) target_compile_options(${LIB} PRIVATE $<$:-Woverloaded-virtual> $<$:-Wsuggest-override> $<$:-Winconsistent-missing-destructor-override> $<$:-Winconsistent-missing-override>) endforeach ()