mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-18 21:21:17 +00:00
1. Merge Nuget CPU pipeline, Java CPU pipeline, C-API pipeline into a single one. 2. Enable compile warnings for cuda files(*.cu) on Windows. 3. Enable static code analyze for the Windows builds in these jobs. For example, this is our first time scanning the JNI code. 4. Fix some warnings in the training code. 5. Enable code sign for Java. Previously we forgot it. 6. Update TPN.txt to remove Jemalloc.
50 lines
2.5 KiB
CMake
50 lines
2.5 KiB
CMake
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License.
|
|
|
|
file(GLOB_RECURSE onnxruntime_framework_srcs CONFIGURE_DEPENDS
|
|
"${ONNXRUNTIME_INCLUDE_DIR}/core/framework/*.h"
|
|
"${ONNXRUNTIME_ROOT}/core/framework/*.h"
|
|
"${ONNXRUNTIME_ROOT}/core/framework/*.cc"
|
|
)
|
|
|
|
if (onnxruntime_MINIMAL_BUILD)
|
|
set(onnxruntime_framework_src_exclude
|
|
"${ONNXRUNTIME_ROOT}/core/framework/provider_bridge_ort.cc"
|
|
"${ONNXRUNTIME_ROOT}/core/framework/fallback_cpu_capability.h"
|
|
"${ONNXRUNTIME_ROOT}/core/framework/fallback_cpu_capability.cc"
|
|
)
|
|
|
|
list(REMOVE_ITEM onnxruntime_framework_srcs ${onnxruntime_framework_src_exclude})
|
|
endif()
|
|
|
|
source_group(TREE ${REPO_ROOT} FILES ${onnxruntime_framework_srcs})
|
|
|
|
add_library(onnxruntime_framework ${onnxruntime_framework_srcs})
|
|
if(onnxruntime_ENABLE_INSTRUMENT)
|
|
target_compile_definitions(onnxruntime_framework PRIVATE ONNXRUNTIME_ENABLE_INSTRUMENT)
|
|
endif()
|
|
if(onnxruntime_USE_TENSORRT)
|
|
# TODO: for now, core framework depends on CUDA. It should be moved to TensorRT EP
|
|
target_include_directories(onnxruntime_framework PRIVATE ${ONNXRUNTIME_ROOT} ${onnxruntime_CUDNN_HOME}/include PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
|
|
else()
|
|
target_include_directories(onnxruntime_framework PRIVATE ${ONNXRUNTIME_ROOT} PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
|
endif()
|
|
onnxruntime_add_include_to_target(onnxruntime_framework onnxruntime_common onnx onnx_proto protobuf::libprotobuf flatbuffers)
|
|
set_target_properties(onnxruntime_framework PROPERTIES FOLDER "ONNXRuntime")
|
|
# need onnx to build to create headers that this project includes
|
|
add_dependencies(onnxruntime_framework ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
|
|
|
# In order to find the shared provider libraries we need to add the origin to the rpath for all executables we build
|
|
# For the shared onnxruntime library, this is set in onnxruntime.cmake through CMAKE_SHARED_LINKER_FLAGS
|
|
# But our test files don't use the shared library so this must be set for them.
|
|
# For Win32 it generates an absolute path for shared providers based on the location of the executable/onnxruntime.dll
|
|
if (UNIX AND NOT APPLE AND NOT onnxruntime_MINIMAL_BUILD)
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath='$ORIGIN'")
|
|
endif()
|
|
|
|
if (onnxruntime_DEBUG_NODE_INPUTS_OUTPUTS)
|
|
target_compile_definitions(onnxruntime_framework PRIVATE DEBUG_NODE_INPUTS_OUTPUTS)
|
|
endif()
|
|
|
|
|
|
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/framework DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core)
|