blob: 3a0f77d856b4406dedce0478534d6847b90a0e16 [file] [log] [blame]
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 $<TARGET_FILE:mlir-irdl-to-cpp>)
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 "")