2019-02-04 23:45:12 +00:00
|
|
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
|
# Licensed under the MIT License.
|
|
|
|
|
|
2021-08-27 07:16:05 +00:00
|
|
|
set(onnxruntime_optimizer_src_patterns)
|
|
|
|
|
|
2020-08-21 21:14:53 +00:00
|
|
|
if (onnxruntime_MINIMAL_BUILD)
|
|
|
|
|
# we include a couple of files so a library is produced and we minimize other changes to the build setup.
|
2021-08-27 07:16:05 +00:00
|
|
|
# if the transformer base class is unused it will be excluded from the final binary size
|
|
|
|
|
list(APPEND onnxruntime_optimizer_src_patterns
|
2020-08-21 21:14:53 +00:00
|
|
|
"${ONNXRUNTIME_INCLUDE_DIR}/core/optimizer/graph_transformer.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/graph_transformer.cc"
|
|
|
|
|
)
|
2021-08-27 07:16:05 +00:00
|
|
|
|
2022-03-09 00:18:49 +00:00
|
|
|
if (onnxruntime_EXTENDED_MINIMAL_BUILD)
|
2022-01-26 01:13:46 +00:00
|
|
|
list(APPEND onnxruntime_optimizer_src_patterns
|
2022-01-04 20:09:07 +00:00
|
|
|
"${ONNXRUNTIME_INCLUDE_DIR}/core/optimizer/graph_transformer_utils.h"
|
2022-03-09 00:18:49 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/conv_activation_fusion.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/conv_activation_fusion.h"
|
2022-01-04 20:09:07 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/graph_transformer_utils.cc"
|
2022-03-02 03:47:55 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/initializer.cc"
|
2022-03-09 00:18:49 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/initializer.h"
|
2022-03-04 05:45:42 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/nhwc_transformer.cc"
|
2022-03-09 00:18:49 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/nhwc_transformer.h"
|
2022-03-04 05:45:42 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/qdq_final_cleanup.cc"
|
2022-03-09 00:18:49 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/qdq_final_cleanup.h"
|
2021-08-27 07:16:05 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/qdq_util.cc"
|
2022-03-09 00:18:49 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/qdq_util.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/qdq_actions.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/qdq_actions.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/qdq_selector_action_transformer.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/qdq_selector_action_transformer.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/qdq_selectors.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/qdq_selectors.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/shared/utils.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/shared/utils.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/actions.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/actions.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/helpers.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/helpers.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/helpers.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/helpers.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/selector_action_transformer_apply_contexts.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/selector_action_transformer.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/selector_action_transformer.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/transpose_optimizer/optimizer_api_impl.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/transpose_optimizer/optimizer_api.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/transpose_optimizer/optimizer_utils.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/transpose_optimizer/ort_transpose_optimizer.cc"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/transpose_optimizer/ort_transpose_optimizer.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/transpose_optimizer/transpose_optimizer.cc"
|
2022-03-02 03:47:55 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/utils.cc"
|
2022-03-09 00:18:49 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/utils.h"
|
2021-08-27 07:16:05 +00:00
|
|
|
)
|
|
|
|
|
endif()
|
2020-08-21 21:14:53 +00:00
|
|
|
else()
|
2021-08-27 07:16:05 +00:00
|
|
|
list(APPEND onnxruntime_optimizer_src_patterns
|
2019-10-09 00:37:44 +00:00
|
|
|
"${ONNXRUNTIME_INCLUDE_DIR}/core/optimizer/*.h"
|
2019-02-04 23:45:12 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/*.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/*.cc"
|
2021-03-25 16:17:23 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/*.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/*.cc"
|
2021-08-27 07:16:05 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/*.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/*.cc"
|
2022-01-12 03:41:45 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/shared/utils.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/qdq_transformer/selectors_actions/shared/utils.cc"
|
2021-07-09 06:11:43 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/*.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/selectors_actions/*.cc"
|
2021-10-28 05:10:39 +00:00
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/transpose_optimizer/*.h"
|
|
|
|
|
"${ONNXRUNTIME_ROOT}/core/optimizer/transpose_optimizer/*.cc"
|
2020-08-21 21:14:53 +00:00
|
|
|
)
|
|
|
|
|
endif()
|
2019-02-04 23:45:12 +00:00
|
|
|
|
2020-03-11 21:25:37 +00:00
|
|
|
if (onnxruntime_ENABLE_TRAINING)
|
2021-08-27 07:16:05 +00:00
|
|
|
list(APPEND onnxruntime_optimizer_src_patterns
|
|
|
|
|
"${ORTTRAINING_SOURCE_DIR}/core/optimizer/*.h"
|
|
|
|
|
"${ORTTRAINING_SOURCE_DIR}/core/optimizer/*.cc"
|
|
|
|
|
)
|
2020-03-11 21:25:37 +00:00
|
|
|
endif()
|
|
|
|
|
|
2021-08-27 07:16:05 +00:00
|
|
|
file(GLOB onnxruntime_optimizer_srcs CONFIGURE_DEPENDS ${onnxruntime_optimizer_src_patterns})
|
|
|
|
|
|
2019-02-04 23:45:12 +00:00
|
|
|
source_group(TREE ${REPO_ROOT} FILES ${onnxruntime_optimizer_srcs})
|
|
|
|
|
|
2021-11-15 16:16:20 +00:00
|
|
|
if (onnxruntime_EXTERNAL_TRANSFORMER_SRC_PATH)
|
|
|
|
|
set(onnxruntime_external_transformer_src_patterns)
|
|
|
|
|
list(APPEND onnxruntime_external_transformer_src_patterns
|
|
|
|
|
"${onnxruntime_EXTERNAL_TRANSFORMER_SRC_PATH}/*.cc"
|
|
|
|
|
"${onnxruntime_EXTERNAL_TRANSFORMER_SRC_PATH}/*.cpp"
|
|
|
|
|
)
|
|
|
|
|
file(GLOB onnxruntime_external_transformer_src ${onnxruntime_external_transformer_src_patterns})
|
|
|
|
|
list(APPEND onnxruntime_optimizer_srcs ${onnxruntime_external_transformer_src})
|
|
|
|
|
endif()
|
|
|
|
|
|
2021-04-29 18:54:57 +00:00
|
|
|
onnxruntime_add_static_library(onnxruntime_optimizer ${onnxruntime_optimizer_srcs})
|
2020-08-21 21:14:53 +00:00
|
|
|
|
2019-02-04 23:45:12 +00:00
|
|
|
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/optimizer DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core)
|
2021-06-03 06:36:49 +00:00
|
|
|
onnxruntime_add_include_to_target(onnxruntime_optimizer onnxruntime_common onnxruntime_framework onnx onnx_proto ${PROTOBUF_LIB} flatbuffers)
|
2019-02-04 23:45:12 +00:00
|
|
|
target_include_directories(onnxruntime_optimizer PRIVATE ${ONNXRUNTIME_ROOT})
|
2020-03-11 21:25:37 +00:00
|
|
|
if (onnxruntime_ENABLE_TRAINING)
|
|
|
|
|
target_include_directories(onnxruntime_optimizer PRIVATE ${ORTTRAINING_ROOT})
|
|
|
|
|
endif()
|
2019-02-04 23:45:12 +00:00
|
|
|
add_dependencies(onnxruntime_optimizer ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
|
|
|
|
set_target_properties(onnxruntime_optimizer PROPERTIES FOLDER "ONNXRuntime")
|
2022-04-04 05:37:18 +00:00
|
|
|
|
|
|
|
|
if (NOT onnxruntime_BUILD_SHARED_LIB)
|
|
|
|
|
install(TARGETS onnxruntime_optimizer
|
|
|
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
|
|
|
FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
|
|
|
endif()
|