From: Pavel Sobolev Subject: [PATCH] Use system libraries. Everything, except for Eigen3. Signed-off-by: Pavel Sobolev --- a/cmake/external/abseil-cpp.cmake +++ b/cmake/external/abseil-cpp.cmake @@ -28,7 +28,7 @@ onnxruntime_fetchcontent_declare( URL_HASH SHA1=${DEP_SHA1_abseil_cpp} EXCLUDE_FROM_ALL PATCH_COMMAND ${ABSL_PATCH_COMMAND} - FIND_PACKAGE_ARGS 20240722 NAMES absl + FIND_PACKAGE_ARGS NAMES absl REQUIRED ) onnxruntime_fetchcontent_makeavailable(abseil_cpp) --- a/cmake/external/onnxruntime_external_deps.cmake +++ b/cmake/external/onnxruntime_external_deps.cmake @@ -40,7 +40,7 @@ onnxruntime_fetchcontent_declare( URL ${DEP_URL_re2} URL_HASH SHA1=${DEP_SHA1_re2} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES re2 + FIND_PACKAGE_ARGS NAMES re2 REQUIRED ) onnxruntime_fetchcontent_makeavailable(re2) @@ -68,7 +68,7 @@ if (onnxruntime_BUILD_UNIT_TESTS) URL ${DEP_URL_googletest} URL_HASH SHA1=${DEP_SHA1_googletest} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS 1.14.0...<2.0.0 NAMES GTest + FIND_PACKAGE_ARGS 1.14.0...<2.0.0 NAMES GTest REQUIRED ) FetchContent_MakeAvailable(googletest) endif() @@ -84,7 +84,7 @@ if (onnxruntime_BUILD_BENCHMARKS) URL ${DEP_URL_google_benchmark} URL_HASH SHA1=${DEP_SHA1_google_benchmark} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES benchmark + FIND_PACKAGE_ARGS NAMES benchmark REQUIRED ) onnxruntime_fetchcontent_makeavailable(google_benchmark) endif() @@ -102,7 +102,7 @@ if(onnxruntime_USE_MIMALLOC) URL ${DEP_URL_mimalloc} URL_HASH SHA1=${DEP_SHA1_mimalloc} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES mimalloc + FIND_PACKAGE_ARGS NAMES mimalloc REQUIRED ) FetchContent_MakeAvailable(mimalloc) endif() @@ -191,7 +191,7 @@ onnxruntime_fetchcontent_declare( URL_HASH SHA1=${DEP_SHA1_protobuf} PATCH_COMMAND ${ONNXRUNTIME_PROTOBUF_PATCH_COMMAND} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES Protobuf protobuf + FIND_PACKAGE_ARGS NAMES Protobuf protobuf REQUIRED ) set(protobuf_BUILD_TESTS OFF CACHE BOOL "Build protobuf tests" FORCE) @@ -271,7 +271,7 @@ onnxruntime_fetchcontent_declare( URL ${DEP_URL_date} URL_HASH SHA1=${DEP_SHA1_date} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS 3...<4 NAMES date + FIND_PACKAGE_ARGS 3...<4 NAMES date REQUIRED ) onnxruntime_fetchcontent_makeavailable(date) @@ -285,7 +285,7 @@ if(NOT TARGET Boost::mp11) mp11 URL ${DEP_URL_mp11} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES Boost + FIND_PACKAGE_ARGS NAMES Boost REQUIRED ) onnxruntime_fetchcontent_makeavailable(mp11) if(NOT TARGET Boost::mp11) @@ -302,7 +302,7 @@ onnxruntime_fetchcontent_declare( URL ${DEP_URL_json} URL_HASH SHA1=${DEP_SHA1_json} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS 3.10 NAMES nlohmann_json + FIND_PACKAGE_ARGS 3.10 NAMES nlohmann_json REQUIRED ) onnxruntime_fetchcontent_makeavailable(nlohmann_json) @@ -366,7 +366,7 @@ if (CPUINFO_SUPPORTED) URL_HASH SHA1=${DEP_SHA1_pytorch_cpuinfo} EXCLUDE_FROM_ALL PATCH_COMMAND ${Patch_EXECUTABLE} -p1 < ${PROJECT_SOURCE_DIR}/patches/cpuinfo/9bb12d342fd9479679d505d93a478a6f9cd50a47.patch - FIND_PACKAGE_ARGS NAMES cpuinfo + FIND_PACKAGE_ARGS NAMES cpuinfo REQUIRED ) else() onnxruntime_fetchcontent_declare( @@ -374,7 +374,7 @@ if (CPUINFO_SUPPORTED) URL ${DEP_URL_pytorch_cpuinfo} URL_HASH SHA1=${DEP_SHA1_pytorch_cpuinfo} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES cpuinfo + FIND_PACKAGE_ARGS NAMES cpuinfo REQUIRED ) endif() set(ONNXRUNTIME_CPUINFO_PROJ pytorch_cpuinfo) @@ -392,7 +392,7 @@ if(onnxruntime_USE_CUDA) URL_HASH SHA1=${DEP_SHA1_microsoft_gsl} PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/gsl/1064.patch EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL + FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL REQUIRED ) else() onnxruntime_fetchcontent_declare( @@ -400,14 +400,14 @@ else() URL ${DEP_URL_microsoft_gsl} URL_HASH SHA1=${DEP_SHA1_microsoft_gsl} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL + FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL REQUIRED ) endif() set(GSL_TARGET "Microsoft.GSL::GSL") set(GSL_INCLUDE_DIR "$") onnxruntime_fetchcontent_makeavailable(GSL) -find_path(safeint_SOURCE_DIR NAMES "SafeInt.hpp") +find_path(safeint_SOURCE_DIR NAMES "SafeInt.hpp" REQUIRED) if(NOT safeint_SOURCE_DIR) unset(safeint_SOURCE_DIR) onnxruntime_fetchcontent_declare( @@ -449,10 +449,14 @@ onnxruntime_fetchcontent_declare( URL_HASH SHA1=${DEP_SHA1_flatbuffers} PATCH_COMMAND ${ONNXRUNTIME_FLATBUFFERS_PATCH_COMMAND} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS 23.5.9 NAMES Flatbuffers flatbuffers + FIND_PACKAGE_ARGS 23.5.9 NAMES Flatbuffers flatbuffers REQUIRED ) onnxruntime_fetchcontent_makeavailable(flatbuffers) +if(TARGET flatbuffers::flatbuffers_shared AND NOT TARGET flatbuffers::flatbuffers) + message(STATUS "Aliasing flatbuffers::flatbuffers to flatbuffers::flatbuffers_shared") + add_library(flatbuffers::flatbuffers ALIAS flatbuffers::flatbuffers_shared) +endif() if(NOT flatbuffers_FOUND) if(NOT TARGET flatbuffers::flatbuffers) add_library(flatbuffers::flatbuffers ALIAS flatbuffers) @@ -514,7 +514,7 @@ onnxruntime_fetchcontent_declare( URL_HASH SHA1=${DEP_SHA1_onnx} PATCH_COMMAND ${ONNXRUNTIME_ONNX_PATCH_COMMAND} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES ONNX onnx + FIND_PACKAGE_ARGS NAMES ONNX onnx REQUIRED ) if (NOT onnxruntime_MINIMAL_BUILD) onnxruntime_fetchcontent_makeavailable(onnx) @@ -597,7 +597,7 @@ if(onnxruntime_ENABLE_DLPACK) URL ${DEP_URL_dlpack} URL_HASH SHA1=${DEP_SHA1_dlpack} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES dlpack + FIND_PACKAGE_ARGS NAMES dlpack REQUIRED ) onnxruntime_fetchcontent_makeavailable(dlpack) endif() @@ -610,7 +610,7 @@ if(onnxruntime_ENABLE_TRAINING OR (onnxruntime_ENABLE_TRAINING_APIS AND onnxrunt URL ${DEP_URL_cxxopts} URL_HASH SHA1=${DEP_SHA1_cxxopts} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES cxxopts + FIND_PACKAGE_ARGS NAMES cxxopts REQUIRED ) set(CXXOPTS_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(CXXOPTS_BUILD_TESTS OFF CACHE BOOL "" FORCE) --- a/cmake/external/pybind11.cmake +++ b/cmake/external/pybind11.cmake @@ -6,7 +6,7 @@ onnxruntime_fetchcontent_declare( URL ${DEP_URL_pybind11} URL_HASH SHA1=${DEP_SHA1_pybind11} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS 2.13 NAMES pybind11 + FIND_PACKAGE_ARGS 2.13 NAMES pybind11 REQUIRED ) onnxruntime_fetchcontent_makeavailable(pybind11_project) --- a/cmake/external/wil.cmake +++ b/cmake/external/wil.cmake @@ -8,7 +8,7 @@ onnxruntime_fetchcontent_declare( URL ${DEP_URL_microsoft_wil} URL_HASH SHA1=${DEP_SHA1_microsoft_wil} EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES wil + FIND_PACKAGE_ARGS NAMES wil REQUIRED ) if(WIN32) --- a/cmake/external/xnnpack.cmake +++ b/cmake/external/xnnpack.cmake @@ -17,11 +17,11 @@ if(CMAKE_ANDROID_ARCH_ABI STREQUAL armeabi-v7a) endif() # pthreadpool depends on fxdiv -onnxruntime_fetchcontent_declare(fxdiv URL ${DEP_URL_fxdiv} URL_HASH SHA1=${DEP_SHA1_fxdiv} EXCLUDE_FROM_ALL FIND_PACKAGE_ARGS NAMES fxdiv) +onnxruntime_fetchcontent_declare(fxdiv URL ${DEP_URL_fxdiv} URL_HASH SHA1=${DEP_SHA1_fxdiv} EXCLUDE_FROM_ALL FIND_PACKAGE_ARGS NAMES fxdiv REQUIRED) onnxruntime_fetchcontent_makeavailable(fxdiv) set(FXDIV_SOURCE_DIR ${fxdiv_SOURCE_DIR}) -onnxruntime_fetchcontent_declare(pthreadpool URL ${DEP_URL_pthreadpool} URL_HASH SHA1=${DEP_SHA1_pthreadpool} EXCLUDE_FROM_ALL FIND_PACKAGE_ARGS NAMES unofficial-pthreadpool) +onnxruntime_fetchcontent_declare(pthreadpool URL ${DEP_URL_pthreadpool} URL_HASH SHA1=${DEP_SHA1_pthreadpool} EXCLUDE_FROM_ALL FIND_PACKAGE_ARGS NAMES unofficial-pthreadpool REQUIRED) onnxruntime_fetchcontent_makeavailable(pthreadpool) # --- Determine target processor @@ -84,7 +84,7 @@ endif() onnxruntime_fetchcontent_declare(googlexnnpack URL ${DEP_URL_googlexnnpack} URL_HASH SHA1=${DEP_SHA1_googlexnnpack} PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS NAMES xnnpack + FIND_PACKAGE_ARGS NAMES xnnpack REQUIRED ) onnxruntime_fetchcontent_makeavailable(googlexnnpack) set(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR})