|  | #------------------------------------------------------------------------------- | 
|  | # The MPACT Compiler Python Modules | 
|  | #------------------------------------------------------------------------------- | 
|  |  | 
|  | # Disables generation of "version soname" (i.e. libFoo.so.<version>). | 
|  | set(CMAKE_PLATFORM_NO_VERSIONED_SONAME ON) | 
|  |  | 
|  | # The directory at which the Python import tree begins. | 
|  | set(MPACT_PYTHON_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/mpact") | 
|  |  | 
|  | # We vendor our own MLIR instance in the `mpact` namespace. | 
|  | add_compile_definitions("MLIR_PYTHON_PACKAGE_PREFIX=mpact.") | 
|  |  | 
|  | declare_mlir_python_sources(MPACTPythonSources) | 
|  | declare_mlir_python_sources(MPACTPythonExtensions) | 
|  |  | 
|  | declare_mlir_python_sources(MPACTPythonSources.PublicAPI | 
|  | ROOT_DIR "${MPACT_PYTHON_ROOT_DIR}" | 
|  | ADD_TO_PARENT MPACTPythonSources | 
|  | SOURCES | 
|  | mpactbackend.py | 
|  | ) | 
|  |  | 
|  | declare_mlir_python_sources(MPACTPythonSources.SampleModels | 
|  | ROOT_DIR "${MPACT_PYTHON_ROOT_DIR}" | 
|  | ADD_TO_PARENT MPACTPythonSources | 
|  | SOURCES_GLOB | 
|  | models/*.py | 
|  | ) | 
|  |  | 
|  | #------------------------------------------------------------------------------- | 
|  | # Extensions | 
|  | #------------------------------------------------------------------------------- | 
|  |  | 
|  | declare_mlir_python_extension(MPACTPythonExtensions.Main | 
|  | MODULE_NAME _mpact | 
|  | ADD_TO_PARENT MPACTPythonExtensions | 
|  | SOURCES | 
|  | MPACTModule.cpp | 
|  | EMBED_CAPI_LINK_LIBS | 
|  | MPACTCAPI | 
|  | PRIVATE_LINK_LIBS | 
|  | LLVMSupport | 
|  | ) | 
|  |  | 
|  | #------------------------------------------------------------------------------- | 
|  | # Python Modules | 
|  | #------------------------------------------------------------------------------- | 
|  |  | 
|  | set(_source_components | 
|  | MLIRPythonSources | 
|  | MLIRPythonExtension.Core | 
|  | MLIRPythonExtension.RegisterEverything | 
|  |  | 
|  | # We need various modules from torch-mlir. | 
|  | TorchMLIRPythonSources.Importers | 
|  | TorchMLIRPythonSources.Dialects | 
|  | TorchMLIRPythonSources.PublicAPI | 
|  | TorchMLIRPythonExtensions | 
|  |  | 
|  | MPACTPythonSources | 
|  | MPACTPythonExtensions | 
|  | ) | 
|  |  | 
|  | add_mlir_python_common_capi_library(MPACTAggregateCAPI | 
|  | INSTALL_COMPONENT MPACTPythonModules | 
|  | INSTALL_DESTINATION python_packages/mpact/mpact/_mlir_libs | 
|  | OUTPUT_DIRECTORY "${MPACT_PYTHON_PACKAGES_DIR}/mpact/mpact/_mlir_libs" | 
|  | RELATIVE_INSTALL_ROOT ".." | 
|  | DECLARED_SOURCES ${_source_components} | 
|  | ) | 
|  |  | 
|  | add_mlir_python_modules(MPACTPythonModules | 
|  | ROOT_PREFIX "${MPACT_PYTHON_PACKAGES_DIR}/mpact/mpact" | 
|  | INSTALL_PREFIX "python_packages/mpact/mpact" | 
|  | DECLARED_SOURCES ${_source_components} | 
|  | COMMON_CAPI_LINK_LIBS | 
|  | MPACTAggregateCAPI | 
|  | ) |