onnxruntime
73 строки · 3.3 Кб
1# Copyright (c) Microsoft Corporation. All rights reserved.
2# Licensed under the MIT License.
3
4file(GLOB onnxruntime_session_srcs CONFIGURE_DEPENDS
5"${ONNXRUNTIME_INCLUDE_DIR}/core/session/*.h"
6"${ONNXRUNTIME_ROOT}/core/session/*.h"
7"${ONNXRUNTIME_ROOT}/core/session/*.cc"
8)
9
10if (onnxruntime_ENABLE_TRAINING_APIS)
11file(GLOB_RECURSE training_api_srcs CONFIGURE_DEPENDS
12"${ORTTRAINING_SOURCE_DIR}/training_api/*.cc"
13"${ORTTRAINING_SOURCE_DIR}/training_api/*.h"
14"${ORTTRAINING_SOURCE_DIR}/core/framework/checkpoint_common.cc"
15"${ORTTRAINING_SOURCE_DIR}/core/framework/checkpoint_common.h"
16)
17
18list(APPEND onnxruntime_session_srcs ${training_api_srcs})
19endif()
20
21
22if (onnxruntime_MINIMAL_BUILD)
23set(onnxruntime_session_src_exclude
24"${ONNXRUNTIME_ROOT}/core/session/provider_bridge_ort.cc"
25)
26
27list(REMOVE_ITEM onnxruntime_session_srcs ${onnxruntime_session_src_exclude})
28endif()
29
30source_group(TREE ${REPO_ROOT} FILES ${onnxruntime_session_srcs})
31
32onnxruntime_add_static_library(onnxruntime_session ${onnxruntime_session_srcs})
33onnxruntime_add_include_to_target(onnxruntime_session onnxruntime_common onnxruntime_framework onnx onnx_proto ${PROTOBUF_LIB} flatbuffers::flatbuffers Boost::mp11 safeint_interface nlohmann_json::nlohmann_json)
34if(onnxruntime_ENABLE_INSTRUMENT)
35target_compile_definitions(onnxruntime_session PUBLIC ONNXRUNTIME_ENABLE_INSTRUMENT)
36endif()
37
38if(NOT MSVC)
39set_source_files_properties(${ONNXRUNTIME_ROOT}/core/session/environment.cc PROPERTIES COMPILE_FLAGS "-Wno-parentheses")
40endif()
41target_include_directories(onnxruntime_session PRIVATE ${ONNXRUNTIME_ROOT} ${eigen_INCLUDE_DIRS})
42if (onnxruntime_USE_EXTENSIONS)
43target_link_libraries(onnxruntime_session PRIVATE onnxruntime_extensions)
44endif()
45add_dependencies(onnxruntime_session ${onnxruntime_EXTERNAL_DEPENDENCIES})
46set_target_properties(onnxruntime_session PROPERTIES FOLDER "ONNXRuntime")
47
48if (onnxruntime_USE_ROCM)
49target_compile_options(onnxruntime_session PRIVATE -Wno-sign-compare -D__HIP_PLATFORM_AMD__=1 -D__HIP_PLATFORM_HCC__=1)
50target_include_directories(onnxruntime_session PRIVATE ${onnxruntime_ROCM_HOME}/hipfft/include ${onnxruntime_ROCM_HOME}/include ${onnxruntime_ROCM_HOME}/hipcub/include ${onnxruntime_ROCM_HOME}/hiprand/include ${onnxruntime_ROCM_HOME}/rocrand/include)
51# ROCM provider sources are generated, need to add include directory for generated headers
52target_include_directories(onnxruntime_session PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/amdgpu/onnxruntime ${CMAKE_CURRENT_BINARY_DIR}/amdgpu/orttraining)
53endif()
54if (onnxruntime_ENABLE_TRAINING_OPS)
55target_include_directories(onnxruntime_session PRIVATE ${ORTTRAINING_ROOT})
56endif()
57
58if (onnxruntime_ENABLE_TRAINING_TORCH_INTEROP)
59onnxruntime_add_include_to_target(onnxruntime_session Python::Module)
60endif()
61
62if (NOT onnxruntime_BUILD_SHARED_LIB)
63install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/session DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core)
64install(TARGETS onnxruntime_session
65ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
66LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
67RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
68FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR})
69endif()
70
71if (onnxruntime_USE_NCCL AND onnxruntime_USE_ROCM)
72add_dependencies(onnxruntime_session generate_hipified_files)
73endif()
74