mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-03 03:58:54 +00:00
* implement python opeartor * format code * remove dup * limit type * format code * cancel default logging func * add comment * fix compile err * fix comments * switch to c++ style cast * implement interop framework * fix format * move includes * cancel needless linking * fix comment * add UT * exclude def
43 lines
1.7 KiB
CMake
43 lines
1.7 KiB
CMake
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License.
|
|
|
|
FIND_PACKAGE(PythonLibs)
|
|
FIND_PACKAGE(NumPy)
|
|
|
|
if(NOT PYTHON_INCLUDE_DIR)
|
|
set(PYTHON_NOT_FOUND false)
|
|
exec_program("${PYTHON_EXECUTABLE}"
|
|
ARGS "-c \"import distutils.sysconfig; print(distutils.sysconfig.get_python_inc())\""
|
|
OUTPUT_VARIABLE PYTHON_INCLUDE_DIR
|
|
RETURN_VALUE PYTHON_NOT_FOUND)
|
|
if(${PYTHON_NOT_FOUND})
|
|
message(FATAL_ERROR "Cannot get Python include directory. Is distutils installed?")
|
|
endif(${PYTHON_NOT_FOUND})
|
|
endif(NOT PYTHON_INCLUDE_DIR)
|
|
|
|
if(NOT NUMPY_INCLUDE_DIR)
|
|
set(NUMPY_NOT_FOUND false)
|
|
exec_program("${PYTHON_EXECUTABLE}"
|
|
ARGS "-c \"import numpy; print(numpy.get_include())\""
|
|
OUTPUT_VARIABLE NUMPY_INCLUDE_DIR
|
|
RETURN_VALUE NUMPY_NOT_FOUND)
|
|
if(${NUMPY_NOT_FOUND})
|
|
message(FATAL_ERROR "Cannot get NumPy include directory: Is NumPy installed?")
|
|
endif(${NUMPY_NOT_FOUND})
|
|
endif(NOT NUMPY_INCLUDE_DIR)
|
|
|
|
include_directories(${PYTHON_INCLUDE_DIR})
|
|
include_directories(${NUMPY_INCLUDE_DIR})
|
|
|
|
file(GLOB onnxruntime_pywrapper_srcs "${ONNXRUNTIME_ROOT}/core/language_interop_ops/pyop/pywrapper.cc")
|
|
add_library(onnxruntime_pywrapper SHARED ${onnxruntime_pywrapper_srcs})
|
|
if (WIN32)
|
|
set_target_properties(onnxruntime_pywrapper PROPERTIES LINK_FLAGS "/ignore:4199")
|
|
endif()
|
|
target_link_libraries(onnxruntime_pywrapper PUBLIC ${PYTHON_LIBRARIES})
|
|
|
|
file(GLOB onnxruntime_pyop_srcs "${ONNXRUNTIME_ROOT}/core/language_interop_ops/pyop/pyop.cc")
|
|
add_library(onnxruntime_pyop ${onnxruntime_pyop_srcs})
|
|
onnxruntime_add_include_to_target(onnxruntime_pyop onnxruntime_common onnxruntime_framework gsl onnx onnx_proto protobuf::libprotobuf)
|
|
target_include_directories(onnxruntime_pyop PRIVATE ${ONNXRUNTIME_ROOT} ${eigen_INCLUDE_DIRS})
|
|
|