llvm-project/mlir/cmake/modules/IRDLToCpp.cmake
arthurqiu 03cfba484f
[MLIR][IRDL][CMake] CMake fixes for cross-compilation (#145672)
The PR fixes a misconfigured dependency that causes CMake error "No rule
to make target 'NATIVE/bin/mlir-irdl-to-cpp'" for cross-compilation.
2025-07-04 13:04:33 +02:00

13 lines
633 B
CMake

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()