The "mlir_xxx_utils" naming scheme is reserved/intended for shared libraries, whereas this library must be static due to issues of linking DLLs on Windows. So we rename the library to avoid any potential confusion. In addition we also rename the ExecutionEngine/SparseTensorUtils.{h,cpp} files to match the new library name.
Reviewed By: aartbik, stella.stamenova
Differential Revision: https://reviews.llvm.org/D135613
28 lines
1.0 KiB
CMake
28 lines
1.0 KiB
CMake
# Unlike mlir_float16_utils, mlir_c_runner_utils, etc, we do *not* make
|
|
# this a shared library: because doing so causes issues when building
|
|
# on Windows. In particular, various functions take/return `std::vector`
|
|
# but that class is not designed with dllimport/dllexport pragma,
|
|
# therefore it cannot be safely/correctly used across DLL boundaries.
|
|
# Consequently, we avoid using the "mlir_xxx_utils" naming scheme, since
|
|
# that is reserved/intended for shared libraries only.
|
|
add_mlir_library(MLIRSparseTensorRuntime
|
|
File.cpp
|
|
NNZ.cpp
|
|
Storage.cpp
|
|
|
|
EXCLUDE_FROM_LIBMLIR
|
|
|
|
LINK_LIBS PUBLIC
|
|
mlir_float16_utils
|
|
)
|
|
set_property(TARGET MLIRSparseTensorRuntime PROPERTY CXX_STANDARD 17)
|
|
|
|
# To make sure we adhere to the style guide:
|
|
# <https://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers>
|
|
check_cxx_compiler_flag(-Wweak-vtables
|
|
COMPILER_SUPPORTS_WARNING_WEAK_VTABLES)
|
|
if(COMPILER_SUPPORTS_WARNING_WEAK_VTABLES)
|
|
target_compile_options(MLIRSparseTensorRuntime PUBLIC
|
|
"-Wweak-vtables")
|
|
endif()
|