early-access version 2853
This commit is contained in:
86
externals/vcpkg/ports/onnx/fix-cmakelists.patch
vendored
Executable file
86
externals/vcpkg/ports/onnx/fix-cmakelists.patch
vendored
Executable file
@@ -0,0 +1,86 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 628dcaa..300e4ea 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -111,8 +111,8 @@ endif()
|
||||
# find_package Python has replaced PythonInterp and PythonLibs since cmake 3.12
|
||||
# Use the following command in the future; now this is only compatible with the latest pybind11
|
||||
# find_package(Python ${PY_VERSION} COMPONENTS Interpreter Development REQUIRED)
|
||||
-find_package(PythonInterp ${PY_VERSION} REQUIRED)
|
||||
-find_package(PythonLibs ${PY_VERSION})
|
||||
+find_package(Python3 ${PY_VERSION} COMPONENTS Interpreter REQUIRED)
|
||||
+set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
|
||||
set(CMAKE_NO_SYSTEM_FROM_IMPORTED 1)
|
||||
@@ -422,6 +422,7 @@ target_link_libraries(onnx PUBLIC onnx_proto)
|
||||
add_onnx_global_defines(onnx)
|
||||
|
||||
if(BUILD_ONNX_PYTHON)
|
||||
+ find_package(Python3 ${PY_VERSION} COMPONENTS Development REQUIRED)
|
||||
if("${PY_EXT_SUFFIX}" STREQUAL "")
|
||||
if(MSVC)
|
||||
set(PY_EXT_SUFFIX ".pyd")
|
||||
@@ -441,10 +442,13 @@ if(BUILD_ONNX_PYTHON)
|
||||
$<BUILD_INTERFACE:${ONNX_ROOT}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
- ${PYTHON_INCLUDE_DIR})
|
||||
-
|
||||
+ ${Python3_INCLUDE_DIRS})
|
||||
+ target_link_directories(onnx_cpp2py_export PRIVATE
|
||||
+ ${Python3_LIBRARY_DIRS})
|
||||
+ target_link_libraries(onnx_cpp2py_export PRIVATE
|
||||
+ ${Python3_LIBRARIES})
|
||||
# pybind11 is a header only lib
|
||||
- find_package(pybind11 2.2)
|
||||
+ find_package(pybind11 2.2 CONFIG REQUIRED)
|
||||
if(pybind11_FOUND)
|
||||
target_include_directories(onnx_cpp2py_export PUBLIC
|
||||
${pybind11_INCLUDE_DIRS})
|
||||
@@ -687,6 +691,27 @@ endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
+# install protobuf files
|
||||
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx-data.proto
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx-data.proto3
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx-ml.proto
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx-ml.proto3
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx-operators-ml.proto
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx-operators-ml.proto3
|
||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnx
|
||||
+)
|
||||
+# install python files
|
||||
+if(BUILD_ONNX_PYTHON)
|
||||
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_data_pb.py
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_data_pb2.py
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_ml_pb2.py
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_operators_ml_pb2.py
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_operators_pb.py
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_pb.py
|
||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnx
|
||||
+ )
|
||||
+endif()
|
||||
+
|
||||
install(DIRECTORY ${ONNX_ROOT}/onnx
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
FILES_MATCHING
|
||||
@@ -639,7 +639,7 @@ endif()
|
||||
|
||||
if (NOT ANDROID AND NOT IOS)
|
||||
# ---[ ONNXIFI wrapper
|
||||
- add_library(onnxifi_wrapper MODULE onnx/onnxifi_wrapper.c)
|
||||
+ add_library(onnxifi_wrapper onnx/onnxifi_wrapper.c)
|
||||
if(MSVC)
|
||||
add_msvc_runtime_flag(onnxifi_wrapper)
|
||||
endif()
|
||||
@@ -669,7 +669,7 @@ if (NOT ANDROID AND NOT IOS)
|
||||
endif()
|
||||
|
||||
# ---[ ONNXIFI dummy backend
|
||||
-add_library(onnxifi_dummy SHARED onnx/onnxifi_dummy.c)
|
||||
+add_library(onnxifi_dummy onnx/onnxifi_dummy.c)
|
||||
|
||||
if(ONNXIFI_ENABLE_EXT)
|
||||
add_definitions(-DONNXIFI_ENABLE_EXT=ON)
|
||||
12
externals/vcpkg/ports/onnx/fix-dependency-protobuf.patch
vendored
Executable file
12
externals/vcpkg/ports/onnx/fix-dependency-protobuf.patch
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 1295eab..0fb9f17 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -126,6 +126,7 @@ if(ONNX_BUILD_TESTS)
|
||||
include(googletest)
|
||||
endif()
|
||||
|
||||
+find_package(protobuf CONFIG REQUIRED)
|
||||
if((ONNX_USE_LITE_PROTO AND TARGET protobuf::libprotobuf-lite) OR ((NOT ONNX_USE_LITE_PROTO) AND TARGET protobuf::libprotobuf))
|
||||
# Sometimes we need to use protoc compiled for host architecture while linking
|
||||
# libprotobuf against target architecture. See https://github.com/caffe2/caffe
|
||||
95
externals/vcpkg/ports/onnx/portfile.cmake
vendored
Executable file
95
externals/vcpkg/ports/onnx/portfile.cmake
vendored
Executable file
@@ -0,0 +1,95 @@
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO onnx/onnx
|
||||
REF v1.10.2
|
||||
SHA512 7519d326cd2b2b13a269ec0d01af07c32115d183dae6e1eaae55f5b23b6c92b2aadbb2b1e555557f4201bbcf921fa563d09d45d7f1d3bd2399c1a94a6ef63303
|
||||
PATCHES
|
||||
fix-cmakelists.patch
|
||||
fix-dependency-protobuf.patch
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_RUNTIME)
|
||||
|
||||
# ONNX_USE_PROTOBUF_SHARED_LIBS: find the library and check its file extension
|
||||
find_library(PROTOBUF_LIBPATH NAMES protobuf PATHS "${CURRENT_INSTALLED_DIR}/bin" "${CURRENT_INSTALLED_DIR}/lib" REQUIRED)
|
||||
get_filename_component(PROTOBUF_LIBNAME "${PROTOBUF_LIBPATH}" NAME)
|
||||
if(PROTOBUF_LIBNAME MATCHES "${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
set(USE_PROTOBUF_SHARED ON)
|
||||
else()
|
||||
set(USE_PROTOBUF_SHARED OFF)
|
||||
endif()
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
pybind11 BUILD_ONNX_PYTHON
|
||||
)
|
||||
|
||||
# Like protoc, python is required for codegen.
|
||||
vcpkg_find_acquire_program(PYTHON3)
|
||||
|
||||
# PATH for .bat scripts so it can find 'python'
|
||||
get_filename_component(PYTHON_DIR "${PYTHON3}" PATH)
|
||||
vcpkg_add_to_path(PREPEND "${PYTHON_DIR}")
|
||||
|
||||
if("pybind11" IN_LIST FEATURES)
|
||||
# When BUILD_ONNX_PYTHON, we need Development component. Give a hint for FindPython3
|
||||
list(APPEND FEATURE_OPTIONS
|
||||
"-DPython3_ROOT_DIR=${CURRENT_INSTALLED_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${FEATURE_OPTIONS}
|
||||
-DPython3_EXECUTABLE=${PYTHON3}
|
||||
-DONNX_ML=ON
|
||||
-DONNX_GEN_PB_TYPE_STUBS=ON
|
||||
-DONNX_USE_PROTOBUF_SHARED_LIBS=${USE_PROTOBUF_SHARED}
|
||||
-DONNX_USE_LITE_PROTO=OFF
|
||||
-DONNX_USE_MSVC_STATIC_RUNTIME=${USE_STATIC_RUNTIME}
|
||||
-DONNX_BUILD_TESTS=OFF
|
||||
-DONNX_BUILD_BENCHMARKS=OFF
|
||||
MAYBE_UNUSED_VARIABLES
|
||||
ONNX_USE_MSVC_STATIC_RUNTIME
|
||||
)
|
||||
|
||||
if("pybind11" IN_LIST FEATURES)
|
||||
# This target is not in install/export
|
||||
vcpkg_cmake_build(TARGET onnx_cpp2py_export)
|
||||
endif()
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ONNX)
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
|
||||
file(REMOVE_RECURSE
|
||||
"${CURRENT_PACKAGES_DIR}/debug/include"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/share"
|
||||
# the others are empty
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/backend"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/bin"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/controlflow"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/generator"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/logical"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/math"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/nn"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/object_detection"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/optional"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/quantization"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/reduction"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/rnn"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/sequence"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/traditionalml"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/defs/training"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/examples"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/frontend"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/onnx_cpp2py_export"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/test"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/tools"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/onnx_ml"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/onnx_data"
|
||||
"${CURRENT_PACKAGES_DIR}/include/onnx/onnx_operators_ml"
|
||||
)
|
||||
36
externals/vcpkg/ports/onnx/vcpkg.json
vendored
Executable file
36
externals/vcpkg/ports/onnx/vcpkg.json
vendored
Executable file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "onnx",
|
||||
"version-semver": "1.10.2",
|
||||
"port-version": 1,
|
||||
"description": "Open standard for machine learning interoperability",
|
||||
"homepage": "https://onnx.ai",
|
||||
"license": "Apache-2.0",
|
||||
"supports": "!uwp",
|
||||
"dependencies": [
|
||||
"protobuf",
|
||||
{
|
||||
"name": "protobuf",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "python3",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"pybind11": {
|
||||
"description": "Build Python binaries",
|
||||
"dependencies": [
|
||||
"pybind11"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user