Fix INSTALL_INTERFACE path for exported MLIRSparseTensorEnums target
to include the include directory. Otherwise, CMake attempts to find it
relatively to CMAKE_INSTALL_PREFIX rather than the include directory,
resulting in flang failing to configure with the following error:
CMake Error at /usr/lib/llvm/16/lib64/cmake/llvm/AddLLVM.cmake:581 (add_library):
Cannot find source file:
/usr/lib/llvm/16/mlir/Dialect/SparseTensor/IR/Enums.h
Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
.hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc
Call Stack (most recent call first):
cmake/modules/AddFlang.cmake:64 (llvm_add_library)
lib/Lower/CMakeLists.txt:3 (add_flang_library)
Differential Revision: https://reviews.llvm.org/D136590
foreach(hdr ${MLIRSparseTensorEnums_hdrs})
target_sources(MLIRSparseTensorEnums INTERFACE
$<BUILD_INTERFACE:${MLIR_MAIN_INCLUDE_DIR}/${hdr}>
- $<INSTALL_INTERFACE:${hdr}>)
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${hdr}>)
endforeach()
# The `add_mlir_library_install` is required for other libraries to
# depend on this one, but the conditional itself and the phony target