vcpkg/ports/openvino/portfile.cmake

164 lines
6.0 KiB
CMake

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO openvinotoolkit/openvino
REF "${VERSION}"
SHA512 2bf3f00589d825b7f4ca40d43129d81af4ba62382f98b283a3a206e7661a7a69f178c6afafdde646db8d68cb7fc54ec5280d2f4ff4fbbffe24082cf6649dda29
HEAD_REF master
PATCHES
# vcpkg specific patch, because OV creates a file in source tree, which is prohibited
001-disable-tools.patch
002-fix-onnx.patch
003-protobuf.patch
add-include-chrono.patch #https://github.com/openvinotoolkit/openvino/pull/27782
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
cpu ENABLE_INTEL_CPU
gpu ENABLE_INTEL_GPU
npu ENABLE_INTEL_NPU
auto ENABLE_AUTO
hetero ENABLE_HETERO
auto-batch ENABLE_AUTO_BATCH
ir ENABLE_OV_IR_FRONTEND
onnx ENABLE_OV_ONNX_FRONTEND
paddle ENABLE_OV_PADDLE_FRONTEND
pytorch ENABLE_OV_PYTORCH_FRONTEND
tensorflow ENABLE_OV_TF_FRONTEND
tensorflow-lite ENABLE_OV_TF_LITE_FRONTEND
)
if(ENABLE_INTEL_GPU)
# python is required for conversion of OpenCL source files into .cpp.
vcpkg_find_acquire_program(PYTHON3)
# remove 'rapidjson' directory and use vcpkg's one to comply with ODR
file(REMOVE_RECURSE "${SOURCE_PATH}/src/plugins/intel_gpu/thirdparty/rapidjson")
vcpkg_from_github(
OUT_SOURCE_PATH DEP_SOURCE_PATH
REPO oneapi-src/oneDNN
REF 4ccd07e3a10e1c08075cf824ac14708245fbc334
SHA512 c9a28f8427b5cd9c057a546b0b62303026f848045b26e0c9705e2f64d5bc84424ee15935d3bf5ee120d3c430a9dd41b7a6e26ef4fc0c53a2154ce83fcaee8b5a
)
file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_gpu/thirdparty/onednn_gpu")
list(APPEND FEATURE_OPTIONS
"-DENABLE_SYSTEM_OPENCL=ON"
"-DPython3_EXECUTABLE=${PYTHON3}")
endif()
if(ENABLE_INTEL_CPU)
vcpkg_from_github(
OUT_SOURCE_PATH DEP_SOURCE_PATH
REPO openvinotoolkit/oneDNN
REF c8ae8d96e963bd04214858319fa334968e5e73c9
SHA512 6877ca37c3678e738fa94767b70432d3fff73305342164d0902875d9bcce3fe12abaf52bfc6ae0ef288532324e746b01e604ab7e47f198e7776352b8f5b6f009
)
file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/onednn")
vcpkg_from_github(
OUT_SOURCE_PATH DEP_SOURCE_PATH
REPO openvinotoolkit/mlas
REF d1bc25ec4660cddd87804fcf03b2411b5dfb2e94
SHA512 8d6dd319924135b7b22940d623305bf200b812ae64cde79000709de4fad429fbd43794301ef16e6f10ed7132777b7a73e9f30ecae7c030aea80d57d7c0ce4500
)
file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/mlas")
if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
# scons (python tool) is required for ARM Compute Library building
vcpkg_find_acquire_program(PYTHON3)
x_vcpkg_get_python_packages(
PYTHON_VERSION 3
PYTHON_EXECUTABLE ${PYTHON3}
PACKAGES scons
OUT_PYTHON_VAR OV_PYTHON_WITH_SCONS
)
vcpkg_from_github(
OUT_SOURCE_PATH DEP_SOURCE_PATH
REPO ARM-software/ComputeLibrary
REF v24.08
SHA512 82debaf8d8345b79b112afdabf6019c7ad8a9b30161d3061320a3da3040b2ad49153cc508caafe9fb1182c2669c958785acf2c361382080af273465d1727a71c
)
file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/ComputeLibrary")
endif()
endif()
if(ENABLE_INTEL_NPU)
list(APPEND FEATURE_OPTIONS "-DENABLE_INTEL_NPU_INTERNAL=OFF")
vcpkg_from_github(
OUT_SOURCE_PATH DEP_SOURCE_PATH
REPO oneapi-src/level-zero
REF v1.17.6
SHA512 bb412e875d97d1c80a0e67087e6dac1a6ffb91fa50e22deb7649ee3250c0937679d225419b52bfd7938f71a66ac15742a6a215cee7714c27e0f935e04df5b88e
)
file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_npu/thirdparty/level-zero")
vcpkg_from_github(
OUT_SOURCE_PATH DEP_SOURCE_PATH
REPO intel/level-zero-npu-extensions
REF 16c85231a82ee1a0b06ed7ab7da3f411a0878ed7
SHA512 983468c7706dc44cfc248c491cf51d2f69181c16ae1e400ca689df39c51112e03227c2f311173b1665115cdd33fa7d51d48e75adaf8353564a980b37c16aaa66
)
file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_npu/thirdparty/level-zero-ext")
endif()
if(ENABLE_OV_TF_FRONTEND OR ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_PADDLE_FRONTEND)
list(APPEND FEATURE_OPTIONS "-DENABLE_SYSTEM_PROTOBUF=ON")
endif()
if(ENABLE_OV_TF_FRONTEND)
list(APPEND FEATURE_OPTIONS "-DENABLE_SYSTEM_SNAPPY=ON")
endif()
if(ENABLE_OV_TF_LITE_FRONTEND)
list(APPEND FEATURE_OPTIONS "-DENABLE_SYSTEM_FLATBUFFERS=ON")
endif()
if(CMAKE_HOST_WIN32)
list(APPEND FEATURE_OPTIONS "-DENABLE_API_VALIDATOR=OFF")
endif()
vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
"-DCMAKE_DISABLE_FIND_PACKAGE_OpenCV=ON"
"-DCPACK_GENERATOR=VCPKG"
"-DENABLE_CLANG_FORMAT=OFF"
"-DENABLE_CPPLINT=OFF"
"-DENABLE_JS=OFF"
"-DENABLE_NCC_STYLE=OFF"
"-DENABLE_PYTHON=OFF"
"-DENABLE_SAMPLES=OFF"
"-DENABLE_SYSTEM_PUGIXML=ON"
"-DENABLE_SYSTEM_TBB=ON"
"-DENABLE_TBBBIND_2_5=OFF"
"-DENABLE_TEMPLATE=OFF"
"-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
vcpkg_install_copyright(
FILE_LIST
"${SOURCE_PATH}/LICENSE"
"${SOURCE_PATH}/licensing/third-party-programs.txt"
"${SOURCE_PATH}/licensing/onednn_third-party-programs.txt"
"${SOURCE_PATH}/licensing/runtime-third-party-programs.txt"
COMMENT
"OpenVINO License")
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")