function(add_irdl_to_cpp_target target irdl_file) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${irdl_file}.cpp.inc COMMAND ${MLIR_IRDL_TO_CPP_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/${irdl_file} -o ${CMAKE_CURRENT_BINARY_DIR}/${irdl_file}.cpp.inc # The command output depends on the executable to ensure IRDL sources are properly rebuilt # if the tool changes. DEPENDS ${MLIR_IRDL_TO_CPP_TARGET} ${MLIR_IRDL_TO_CPP_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/${irdl_file} COMMENT "Building ${irdl_file}..." ) add_custom_target(${target} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${irdl_file}.cpp.inc) endfunction()