add_llvm_executable(mlir-irdl-to-cpp mlir-irdl-to-cpp.cpp ) mlir_target_link_libraries(mlir-irdl-to-cpp PRIVATE MLIRTargetIRDLToCpp ) # Set up a native build when cross-compiling. if(LLVM_USE_HOST_TOOLS) build_native_tool( mlir-irdl-to-cpp MLIR_IRDL_TO_CPP_EXE # Native tool must depend on target tool so that the native tool gets # properly rebuilt when the target tool changes. DEPENDS mlir-irdl-to-cpp ) add_custom_target(mlir-irdl-to-cpp-host DEPENDS ${MLIR_IRDL_TO_CPP_EXE}) set(MLIR_IRDL_TO_CPP_TARGET mlir-irdl-to-cpp-host) else() set(MLIR_IRDL_TO_CPP_EXE $) set(MLIR_IRDL_TO_CPP_TARGET mlir-irdl-to-cpp) endif() # Save the executable path and target name to the cache to expose it globally. set(MLIR_IRDL_TO_CPP_EXE "${MLIR_IRDL_TO_CPP_EXE}" CACHE INTERNAL "") set(MLIR_IRDL_TO_CPP_TARGET "${MLIR_IRDL_TO_CPP_TARGET}" CACHE INTERNAL "")