From e4606c60445bbb6bc1cebef110009a3ba0e2e31e Mon Sep 17 00:00:00 2001 From: Paul Gessinger Date: Fri, 14 Feb 2025 03:20:02 +0100 Subject: [PATCH] build: Use CONFIG mode for onnxruntime (#4086) Switch to using CMake's CONFIG mode for finding ONNX. This also deletes the find module we ship as of now. --- CMakeLists.txt | 2 +- Plugins/Onnx/CMakeLists.txt | 2 +- .../Acts/Plugins/Onnx/OnnxRuntimeBase.hpp | 2 +- .../Acts/Plugins/Onnx/SeedClassifier.hpp | 2 +- cmake/ActsCreatePackageConfig.cmake | 6 -- cmake/FindOnnxRuntime.cmake | 75 ------------------- 6 files changed, 4 insertions(+), 85 deletions(-) delete mode 100644 cmake/FindOnnxRuntime.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a4c313f8784..5fb87075118 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -443,7 +443,7 @@ if(ACTS_BUILD_PLUGIN_EXATRKX) endif() endif() if(ACTS_BUILD_PLUGIN_ONNX OR ACTS_EXATRKX_ENABLE_ONNX) - find_package(OnnxRuntime ${_acts_onnxruntime_version} REQUIRED) + find_package(onnxruntime ${_acts_onnxruntime_version} CONFIG REQUIRED) endif() if(ACTS_BUILD_PLUGIN_EDM4HEP OR ACTS_BUILD_PLUGIN_PODIO) find_package(podio ${_acts_podio_version} CONFIG) diff --git a/Plugins/Onnx/CMakeLists.txt b/Plugins/Onnx/CMakeLists.txt index 3a07262ac71..2601c422479 100644 --- a/Plugins/Onnx/CMakeLists.txt +++ b/Plugins/Onnx/CMakeLists.txt @@ -18,7 +18,7 @@ target_include_directories( $ ) -target_link_libraries(ActsPluginOnnx PUBLIC ActsCore OnnxRuntime) +target_link_libraries(ActsPluginOnnx PUBLIC ActsCore onnxruntime::onnxruntime) install( TARGETS ActsPluginOnnx diff --git a/Plugins/Onnx/include/Acts/Plugins/Onnx/OnnxRuntimeBase.hpp b/Plugins/Onnx/include/Acts/Plugins/Onnx/OnnxRuntimeBase.hpp index 86476121187..f1ced286292 100644 --- a/Plugins/Onnx/include/Acts/Plugins/Onnx/OnnxRuntimeBase.hpp +++ b/Plugins/Onnx/include/Acts/Plugins/Onnx/OnnxRuntimeBase.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include namespace Acts { diff --git a/Plugins/Onnx/include/Acts/Plugins/Onnx/SeedClassifier.hpp b/Plugins/Onnx/include/Acts/Plugins/Onnx/SeedClassifier.hpp index d72c48c3497..fd92f6e0ec0 100644 --- a/Plugins/Onnx/include/Acts/Plugins/Onnx/SeedClassifier.hpp +++ b/Plugins/Onnx/include/Acts/Plugins/Onnx/SeedClassifier.hpp @@ -12,7 +12,7 @@ #include -#include +#include namespace Acts { diff --git a/cmake/ActsCreatePackageConfig.cmake b/cmake/ActsCreatePackageConfig.cmake index f2aa6d0edfb..99f63fce86f 100644 --- a/cmake/ActsCreatePackageConfig.cmake +++ b/cmake/ActsCreatePackageConfig.cmake @@ -26,12 +26,6 @@ install( DESTINATION ${install_package_config_dir} ) -# install third party FindXXX.cmake files -install( - FILES ${CMAKE_CURRENT_LIST_DIR}/FindOnnxRuntime.cmake - DESTINATION ${install_package_config_dir}/Modules -) - # install target configs for all available components foreach(_component ${_components}) install( diff --git a/cmake/FindOnnxRuntime.cmake b/cmake/FindOnnxRuntime.cmake deleted file mode 100644 index 512d0e443c0..00000000000 --- a/cmake/FindOnnxRuntime.cmake +++ /dev/null @@ -1,75 +0,0 @@ -# Find the ONNX Runtime include directory and library. -# -# This module defines the `onnxruntime` imported target that encodes all -# necessary information in its target properties. - -find_library( - OnnxRuntime_LIBRARY - NAMES onnxruntime - PATHS ${onnxruntime_DIR} - PATH_SUFFIXES lib lib32 lib64 - DOC "The ONNXRuntime library" -) - -if(NOT OnnxRuntime_LIBRARY) - message(FATAL_ERROR "onnxruntime library not found") -else() - message(STATUS "Found OnnxRuntime library at ${OnnxRuntime_LIBRARY}") -endif() - -find_path( - OnnxRuntime_INCLUDE_DIR - NAMES onnxruntime_cxx_api.h - PATHS ${onnxruntime_DIR} - PATH_SUFFIXES include include/onnxruntime include/onnxruntime/core/session - DOC "The ONNXRuntime include directory" -) - -if(NOT OnnxRuntime_INCLUDE_DIR) - message(FATAL_ERROR "onnxruntime includes not found") -else() - file(READ ${OnnxRuntime_INCLUDE_DIR}/onnxruntime_c_api.h ver) - string(REGEX MATCH "ORT_API_VERSION ([0-9]*)" _ ${ver}) - set(OnnxRuntime_API_VERSION ${CMAKE_MATCH_1}) - message( - STATUS - "Found OnnxRuntime includes at ${OnnxRuntime_INCLUDE_DIR} (API version: ${OnnxRuntime_API_VERSION})" - ) -endif() - -string( - REPLACE - "." - ";" - OnnxRuntime_MIN_VERSION_LIST - ${_acts_onnxruntime_version} -) -list(GET OnnxRuntime_MIN_VERSION_LIST 1 OnnxRuntime_MIN_API_VERSION) -if("${OnnxRuntime_API_VERSION}" LESS ${OnnxRuntime_MIN_API_VERSION}) - message( - FATAL_ERROR - "OnnxRuntime API version ${OnnxRuntime_MIN_API_VERSION} or greater required" - ) -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args( - OnnxRuntime - REQUIRED_VARS OnnxRuntime_LIBRARY OnnxRuntime_INCLUDE_DIR -) - -add_library(OnnxRuntime SHARED IMPORTED) -set_property( - TARGET OnnxRuntime - PROPERTY IMPORTED_LOCATION ${OnnxRuntime_LIBRARY} -) -set_property( - TARGET OnnxRuntime - PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${OnnxRuntime_INCLUDE_DIR} -) -set_property( - TARGET OnnxRuntime - PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES ${OnnxRuntime_INCLUDE_DIR} -) - -mark_as_advanced(OnnxRuntime_FOUND OnnxRuntime_INCLUDE_DIR OnnxRuntime_LIBRARY)