mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-17 21:10:43 +00:00
### Description <!-- Describe your changes. --> Add Swift Package Manager (SPM) support for ORT based on #14621 - uses the existing objective-c bindings - some re-organization of the directory structure was required but the contents of the files are unchanged, apart from adjustments due to file movements Add tool for updating ORT native pod used in the SPM package Update CIs to use ORT native pod from build, and build/test using SPM ### Motivation and Context <!-- - Why is this change required? What problem does it solve? - If it fixes an open issue, please link to the issue here. --> iOS developers are using SPM as much as cocoapods, so adding SPM means both are catered for.
41 lines
1.1 KiB
C
41 lines
1.1 KiB
C
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
// wrapper for ORT C/C++ API headers
|
|
|
|
#if defined(__clang__)
|
|
#pragma clang diagnostic push
|
|
// ignore clang documentation-related warnings
|
|
// instead, we will rely on Doxygen warnings for the C/C++ API headers
|
|
#pragma clang diagnostic ignored "-Wdocumentation"
|
|
#endif // defined(__clang__)
|
|
|
|
// paths are different when building the Swift Package Manager package as the headers come from the iOS pod archive
|
|
#ifdef SPM_BUILD
|
|
#include "onnxruntime/onnxruntime_c_api.h"
|
|
#include "onnxruntime/onnxruntime_cxx_api.h"
|
|
|
|
#if __has_include("onnxruntime/coreml_provider_factory.h")
|
|
#define ORT_OBJC_API_COREML_EP_AVAILABLE 1
|
|
#include "onnxruntime/coreml_provider_factory.h"
|
|
#else
|
|
#define ORT_OBJC_API_COREML_EP_AVAILABLE 0
|
|
#endif
|
|
|
|
#else
|
|
#include "onnxruntime_c_api.h"
|
|
#include "onnxruntime_cxx_api.h"
|
|
|
|
#if __has_include("coreml_provider_factory.h")
|
|
#define ORT_OBJC_API_COREML_EP_AVAILABLE 1
|
|
#include "coreml_provider_factory.h"
|
|
#else
|
|
#define ORT_OBJC_API_COREML_EP_AVAILABLE 0
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if defined(__clang__)
|
|
#pragma clang diagnostic pop
|
|
#endif // defined(__clang__)
|