mirror of https://github.com/llvm/torch-mlir
64 lines
2.2 KiB
CMake
64 lines
2.2 KiB
CMake
###########################################################################
|
|
# Setup PyTorch
|
|
###########################################################################
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/python/torch_mlir/cmake/modules")
|
|
include(TorchMLIRPyTorch)
|
|
TorchMLIRProbeForPyTorchInstall()
|
|
find_package(Torch 1.11 REQUIRED)
|
|
|
|
TorchMLIRConfigurePyTorch()
|
|
|
|
###########################################################################
|
|
# Setup Python development
|
|
###########################################################################
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/external/llvm-project/mlir/cmake/modules")
|
|
include(MLIRDetectPythonEnv)
|
|
mlir_configure_python_dev_packages()
|
|
|
|
###########################################################################
|
|
# Library definition
|
|
###########################################################################
|
|
|
|
include_directories(BEFORE
|
|
${TORCH_INCLUDE_DIRS}
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${Python3_INCLUDE_DIRS}
|
|
${PYTHON_H_DIR}
|
|
${PROJECT_SOURCE_DIR}/python
|
|
)
|
|
link_directories("${TORCH_INSTALL_PREFIX}/lib")
|
|
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/ltc_backend/lib)
|
|
add_link_options(-Wl,-rpath,$ORIGIN/ltc_backend/lib)
|
|
|
|
file(GLOB LTC_BACKEND_CSRC CONFIGURE_DEPENDS
|
|
"ltc_backend/csrc/*.h"
|
|
"ltc_backend/csrc/*.cc"
|
|
"ltc_backend/csrc/*.cpp"
|
|
"ltc_backend/csrc/*/*.h"
|
|
"ltc_backend/csrc/*/*.cc"
|
|
"ltc_backend/csrc/*/*.cpp"
|
|
)
|
|
add_library(example_mlir_ltc_backend SHARED ${LTC_BACKEND_CSRC})
|
|
add_dependencies(example_mlir_ltc_backend
|
|
torch_mlir_ltc_backend
|
|
)
|
|
target_link_libraries(example_mlir_ltc_backend
|
|
${TORCH_LIBRARIES}
|
|
${Python3_LIBRARIES}
|
|
torch_python
|
|
torch_mlir_ltc_backend
|
|
)
|
|
|
|
message(STATUS "TORCH_CXXFLAGS=${TORCH_CXXFLAGS} -Wno-pedantic")
|
|
set_target_properties(example_mlir_ltc_backend PROPERTIES
|
|
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/ltc_backend/"
|
|
OUTPUT_NAME _EXAMPLE_MLIR_BACKEND
|
|
PREFIX "${PYTHON_MODULE_PREFIX}"
|
|
SUFFIX "${PYTHON_MODULE_EXTENSION}"
|
|
CXX_VISIBILITY_PRESET "hidden"
|
|
COMPILE_FLAGS "${TORCH_CXXFLAGS} -Wno-pedantic"
|
|
)
|