mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
### Description 1. Remove Linux jobs for ORT-Extension combined build 2. Add a macOS build job for ORT-Extension combined build 3. Adjust the yaml file so that it can support two different ADO instances. ### Motivation and Context To test our code better. And it will enable us to run such tests for every commit in the main branch. It would be easier for us to figure out which change caused a build break. See [AB#13435](https://aiinfra.visualstudio.com/6a833879-cd9b-44a4-a9de-adc2d818f13c/_workitems/edit/13435)
62 lines
2.5 KiB
CMake
62 lines
2.5 KiB
CMake
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License.
|
|
|
|
message(STATUS "[onnxruntime-extensions] Building onnxruntime-extensions: ${onnxruntime_EXTENSIONS_PATH}")
|
|
|
|
# add compile definition to enable custom operators in onnxruntime-extensions
|
|
add_compile_definitions(ENABLE_EXTENSION_CUSTOM_OPS)
|
|
|
|
# set options for onnxruntime-extensions
|
|
set(OCOS_ENABLE_CTEST OFF CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_STATIC_LIB ON CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_SPM_TOKENIZER OFF CACHE INTERNAL "")
|
|
|
|
# disable exceptions
|
|
if (onnxruntime_DISABLE_EXCEPTIONS)
|
|
set(OCOS_ENABLE_CPP_EXCEPTIONS OFF CACHE INTERNAL "")
|
|
endif()
|
|
|
|
# customize operators used
|
|
if (onnxruntime_REDUCED_OPS_BUILD)
|
|
set(OCOS_ENABLE_SELECTED_OPLIST ON CACHE INTERNAL "")
|
|
endif()
|
|
|
|
if (onnxruntime_WEBASSEMBLY_DEFAULT_EXTENSION_FLAGS)
|
|
set(OCOS_ENABLE_SPM_TOKENIZER ON CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_GPT2_TOKENIZER ON CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_WORDPIECE_TOKENIZER ON CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_BERT_TOKENIZER ON CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_TF_STRING ON CACHE INTERNAL "")
|
|
set(SPM_USE_BUILTIN_PROTOBUF OFF CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_STATIC_LIB ON CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_BLINGFIRE OFF CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_CV2 OFF CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_OPENCV_CODECS OFF CACHE INTERNAL "")
|
|
set(OCOS_ENABLE_VISION OFF CACHE INTERNAL "")
|
|
endif()
|
|
|
|
# onnxruntime-extensions
|
|
if (NOT onnxruntime_EXTENSIONS_OVERRIDDEN)
|
|
FetchContent_Declare(
|
|
extensions
|
|
URL ${DEP_URL_extensions}
|
|
URL_HASH SHA1=${DEP_SHA1_extensions}
|
|
)
|
|
onnxruntime_fetchcontent_makeavailable(extensions)
|
|
else()
|
|
# when onnxruntime-extensions is not a subdirectory of onnxruntime,
|
|
# output binary directory must be explicitly specified.
|
|
# and the output binary path is the same as CMake FetchContent pattern
|
|
add_subdirectory(${onnxruntime_EXTENSIONS_PATH} ${CMAKE_BINARY_DIR}/_deps/extensions-subbuild EXCLUDE_FROM_ALL)
|
|
endif()
|
|
|
|
# target library or executable are defined in CMakeLists.txt of onnxruntime-extensions
|
|
target_include_directories(ocos_operators PRIVATE ${RE2_INCLUDE_DIR} ${json_SOURCE_DIR}/include)
|
|
target_include_directories(ortcustomops PUBLIC ${onnxruntime_EXTENSIONS_PATH}/includes)
|
|
if(OCOS_ENABLE_SPM_TOKENIZER)
|
|
onnxruntime_add_include_to_target(sentencepiece-static ${PROTOBUF_LIB})
|
|
endif()
|
|
onnxruntime_add_include_to_target(ocos_operators ${PROTOBUF_LIB})
|
|
add_dependencies(ocos_operators ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
|
add_dependencies(ortcustomops ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
|
|