diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a702e2c5a4..5307f4f851 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1503,12 +1503,11 @@ if (onnxruntime_BUILD_NODEJS) include(onnxruntime_nodejs.cmake) endif() -# some of the tests rely on the shared libs to be -# built; hence the ordering +if (onnxruntime_ENABLE_PYTHON) + include(onnxruntime_python.cmake) +endif() + if (onnxruntime_BUILD_UNIT_TESTS) - if (onnxruntime_ENABLE_PYTHON) - include(onnxruntime_python.cmake) - endif() include(onnxruntime_unittests.cmake) endif() diff --git a/cmake/onnxruntime_python.cmake b/cmake/onnxruntime_python.cmake index 6f48f60952..566d9bd45e 100644 --- a/cmake/onnxruntime_python.cmake +++ b/cmake/onnxruntime_python.cmake @@ -220,19 +220,22 @@ else() ) endif() -file(GLOB onnxruntime_python_test_srcs CONFIGURE_DEPENDS - "${ONNXRUNTIME_ROOT}/test/python/*.py" - "${ORTTRAINING_SOURCE_DIR}/test/python/*.py" -) -file(GLOB onnxruntime_python_quantization_test_srcs CONFIGURE_DEPENDS - "${ONNXRUNTIME_ROOT}/test/python/quantization/*.py" -) -file(GLOB onnxruntime_python_checkpoint_test_srcs CONFIGURE_DEPENDS - "${ORTTRAINING_SOURCE_DIR}/test/python/checkpoint/*.py" -) -file(GLOB onnxruntime_python_dhp_parallel_test_srcs CONFIGURE_DEPENDS - "${ORTTRAINING_SOURCE_DIR}/test/python/dhp_parallel/*.py" -) +if (onnxruntime_BUILD_UNIT_TESTS) + file(GLOB onnxruntime_python_test_srcs CONFIGURE_DEPENDS + "${ONNXRUNTIME_ROOT}/test/python/*.py" + "${ORTTRAINING_SOURCE_DIR}/test/python/*.py" + ) + file(GLOB onnxruntime_python_quantization_test_srcs CONFIGURE_DEPENDS + "${ONNXRUNTIME_ROOT}/test/python/quantization/*.py" + ) + file(GLOB onnxruntime_python_checkpoint_test_srcs CONFIGURE_DEPENDS + "${ORTTRAINING_SOURCE_DIR}/test/python/checkpoint/*.py" + ) + file(GLOB onnxruntime_python_dhp_parallel_test_srcs CONFIGURE_DEPENDS + "${ORTTRAINING_SOURCE_DIR}/test/python/dhp_parallel/*.py" + ) +endif() + file(GLOB onnxruntime_python_tools_srcs CONFIGURE_DEPENDS "${ONNXRUNTIME_ROOT}/python/tools/*.py" ) @@ -259,109 +262,115 @@ file(GLOB onnxruntime_python_datasets_data CONFIGURE_DEPENDS "${ONNXRUNTIME_ROOT}/python/datasets/*.onnx" ) -set(test_data_target onnxruntime_test_all) +set(build_output_target onnxruntime_common) add_custom_command( TARGET onnxruntime_pybind11_state POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/backend - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/capi - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/capi/training - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/datasets - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/tools - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/tools/featurizer_ops - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/transformers - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/transformers/longformer - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/quantization - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/quantization/operators - COMMAND ${CMAKE_COMMAND} -E make_directory $/checkpoint - COMMAND ${CMAKE_COMMAND} -E make_directory $/dhp_parallel - COMMAND ${CMAKE_COMMAND} -E make_directory $/quantization + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/backend + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/capi + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/capi/training + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/datasets + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/tools + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/tools/featurizer_ops + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/transformers + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/transformers/longformer + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/quantization + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/quantization/operators + COMMAND ${CMAKE_COMMAND} -E make_directory $/checkpoint + COMMAND ${CMAKE_COMMAND} -E make_directory $/dhp_parallel + COMMAND ${CMAKE_COMMAND} -E make_directory $/quantization COMMAND ${CMAKE_COMMAND} -E copy ${ONNXRUNTIME_ROOT}/__init__.py - $/onnxruntime/ + $/onnxruntime/ COMMAND ${CMAKE_COMMAND} -E copy ${REPO_ROOT}/ThirdPartyNotices.txt - $/onnxruntime/ + $/onnxruntime/ COMMAND ${CMAKE_COMMAND} -E copy ${REPO_ROOT}/docs/Privacy.md - $/onnxruntime/ + $/onnxruntime/ COMMAND ${CMAKE_COMMAND} -E copy ${REPO_ROOT}/LICENSE - $/onnxruntime/ - COMMAND ${CMAKE_COMMAND} -E copy - ${onnxruntime_python_test_srcs} - $ - COMMAND ${CMAKE_COMMAND} -E copy - ${onnxruntime_python_quantization_test_srcs} - $/quantization/ - COMMAND ${CMAKE_COMMAND} -E copy - ${onnxruntime_python_checkpoint_test_srcs} - $/checkpoint/ - COMMAND ${CMAKE_COMMAND} -E copy - ${onnxruntime_python_dhp_parallel_test_srcs} - $/dhp_parallel/ + $/onnxruntime/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_backend_srcs} - $/onnxruntime/backend/ + $/onnxruntime/backend/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_srcs} - $/onnxruntime/capi/ + $/onnxruntime/capi/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_capi_training_srcs} - $/onnxruntime/capi/training/ + $/onnxruntime/capi/training/ COMMAND ${CMAKE_COMMAND} -E copy $ - $/onnxruntime/capi/ + $/onnxruntime/capi/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_datasets_srcs} - $/onnxruntime/datasets/ + $/onnxruntime/datasets/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_datasets_data} - $/onnxruntime/datasets/ + $/onnxruntime/datasets/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_tools_srcs} - $/onnxruntime/tools/ + $/onnxruntime/tools/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_tools_featurizers_src} - $/onnxruntime/tools/featurizer_ops/ + $/onnxruntime/tools/featurizer_ops/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_quantization_src} - $/onnxruntime/quantization/ + $/onnxruntime/quantization/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_quantization_operators_src} - $/onnxruntime/quantization/operators/ + $/onnxruntime/quantization/operators/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_transformers_src} - $/onnxruntime/transformers/ + $/onnxruntime/transformers/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_transformers_longformer_src} - $/onnxruntime/transformers/longformer/ + $/onnxruntime/transformers/longformer/ COMMAND ${CMAKE_COMMAND} -E copy ${REPO_ROOT}/VERSION_NUMBER - $ + $ ) +if (onnxruntime_BUILD_UNIT_TESTS) + add_custom_command( + TARGET onnxruntime_pybind11_state POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${onnxruntime_python_test_srcs} + $ + COMMAND ${CMAKE_COMMAND} -E copy + ${onnxruntime_python_quantization_test_srcs} + $/quantization/ + COMMAND ${CMAKE_COMMAND} -E copy + ${onnxruntime_python_checkpoint_test_srcs} + $/checkpoint/ + COMMAND ${CMAKE_COMMAND} -E copy + ${onnxruntime_python_dhp_parallel_test_srcs} + $/dhp_parallel/ + ) +endif() + if (onnxruntime_ENABLE_TRAINING) add_custom_command( TARGET onnxruntime_pybind11_state POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/training - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/training/amp - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/training/optim + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/training + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/training/amp + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/training/optim COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_capi_training_srcs} - $/onnxruntime/capi/training/ + $/onnxruntime/capi/training/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_root_srcs} - $/onnxruntime/training/ + $/onnxruntime/training/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_amp_srcs} - $/onnxruntime/training/amp/ + $/onnxruntime/training/amp/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_optim_srcs} - $/onnxruntime/training/optim/ + $/onnxruntime/training/optim/ COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_train_tools_srcs} - $/onnxruntime/training/ + $/onnxruntime/training/ ) endif() @@ -371,7 +380,7 @@ if (onnxruntime_USE_DNNL) COMMAND ${CMAKE_COMMAND} -E copy ${DNNL_DLL_PATH} $ $ - $/onnxruntime/capi/ + $/onnxruntime/capi/ ) endif() @@ -381,7 +390,7 @@ if (onnxruntime_USE_TENSORRT) COMMAND ${CMAKE_COMMAND} -E copy $ $ - $/onnxruntime/capi/ + $/onnxruntime/capi/ ) endif() @@ -392,7 +401,7 @@ if (onnxruntime_USE_OPENVINO) COMMAND ${CMAKE_COMMAND} -E copy ${OPENVINO_DLL_PATH} $ $ - $/onnxruntime/capi/ + $/onnxruntime/capi/ ) endif() endif() @@ -402,7 +411,7 @@ if (onnxruntime_USE_TVM) TARGET onnxruntime_pybind11_state POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ $ - $/onnxruntime/capi/ + $/onnxruntime/capi/ ) endif() @@ -412,10 +421,10 @@ if (onnxruntime_USE_NUPHAR) ) add_custom_command( TARGET onnxruntime_pybind11_state POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/nuphar + COMMAND ${CMAKE_COMMAND} -E make_directory $/onnxruntime/nuphar COMMAND ${CMAKE_COMMAND} -E copy ${onnxruntime_python_nuphar_python_srcs} - $/onnxruntime/nuphar/ + $/onnxruntime/nuphar/ ) endif() @@ -424,7 +433,7 @@ if (onnxruntime_USE_DML) TARGET onnxruntime_pybind11_state POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${DML_PACKAGE_DIR}/bin/${onnxruntime_target_platform}-win/${DML_SHARED_LIB} - $/onnxruntime/capi/ + $/onnxruntime/capi/ ) endif() @@ -433,7 +442,7 @@ if (onnxruntime_USE_NNAPI_BUILTIN) TARGET onnxruntime_pybind11_state POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ - $/onnxruntime/capi/ + $/onnxruntime/capi/ ) endif()