diff options
Diffstat (limited to 'vcpkg/ports/xnnpack/fix-cmake.patch')
| -rw-r--r-- | vcpkg/ports/xnnpack/fix-cmake.patch | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/vcpkg/ports/xnnpack/fix-cmake.patch b/vcpkg/ports/xnnpack/fix-cmake.patch new file mode 100644 index 0000000..c021639 --- /dev/null +++ b/vcpkg/ports/xnnpack/fix-cmake.patch @@ -0,0 +1,94 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 856a47d..06f5ea9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1040,14 +1040,14 @@ IF(XNNPACK_BUILD_ALL_MICROKERNELS) + ENDIF() + TARGET_INCLUDE_DIRECTORIES(datatype PRIVATE include src) + TARGET_INCLUDE_DIRECTORIES(microkernels-prod PRIVATE include src) +-TARGET_INCLUDE_DIRECTORIES(hardware-config PRIVATE include src ${CPUINFO_SOURCE_DIR}/include) ++TARGET_INCLUDE_DIRECTORIES(hardware-config PRIVATE include src) + TARGET_INCLUDE_DIRECTORIES(indirection PRIVATE include src) + TARGET_INCLUDE_DIRECTORIES(microparams-init PRIVATE include src) + TARGET_INCLUDE_DIRECTORIES(normalization PRIVATE include src) + TARGET_INCLUDE_DIRECTORIES(packing PRIVATE include src) + TARGET_INCLUDE_DIRECTORIES(logging PRIVATE include src) + IF(XNNPACK_BUILD_LIBRARY) +- TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC include) ++ TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>) + TARGET_INCLUDE_DIRECTORIES(XNNPACK PRIVATE src) + TARGET_INCLUDE_DIRECTORIES(allocator PRIVATE include src) + TARGET_INCLUDE_DIRECTORIES(cache PRIVATE include src) +@@ -1085,6 +1085,8 @@ IF(XNNPACK_BUILD_WITH_LIBM) + ENDIF() + + # ---[ Configure cpuinfo ++find_package(cpuinfo CONFIG REQUIRED) ++add_library(cpuinfo ALIAS cpuinfo::cpuinfo) + IF(NOT TARGET cpuinfo) + IF(NOT XNNPACK_USE_SYSTEM_LIBS) + SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "") +@@ -1111,6 +1113,8 @@ IF(XNNPACK_BUILD_LIBRARY) + ENDIF() + + # ---[ Configure pthreadpool ++find_package(unofficial-pthreadpool CONFIG REQUIRED) ++add_library(pthreadpool ALIAS unofficial::pthreadpool) + IF(NOT TARGET pthreadpool) + IF(NOT XNNPACK_USE_SYSTEM_LIBS) + SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "") +@@ -1135,6 +1139,8 @@ ENDIF() + TARGET_LINK_LIBRARIES(xnnpack-base INTERFACE pthreadpool) + + # ---[ Configure FXdiv ++find_package(unofficial-fxdiv CONFIG REQUIRED) ++add_library(fxdiv ALIAS unofficial::fxdiv::fxdiv) + IF(NOT TARGET fxdiv) + IF(NOT XNNPACK_USE_SYSTEM_LIBS) + SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "") +@@ -1162,14 +1168,27 @@ IF(XNNPACK_BUILD_LIBRARY) + ENDIF() + + IF(XNNPACK_BUILD_LIBRARY) +- INSTALL(TARGETS XNNPACK microkernels-prod ++ INSTALL(TARGETS XNNPACK microkernels-prod xnnpack-base allocator cache hardware-config indirection memory microkernel-utils microparams-init mutex normalization operators operator-run operator-utils packing subgraph datatype reference-ukernels logging ++ EXPORT unofficial-xnnpack-config-targets ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++ INSTALL(EXPORT unofficial-xnnpack-config-targets NAMESPACE unofficial::xnnpack:: ++ FILE unofficial-xnnpack-config-targets.cmake ++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-xnnpack) # share/xnnpack ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/unofficial-xnnpack-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-xnnpack) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-xnnpack-config.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-xnnpack) ++ ++ + ENDIF() + + # ---[ Configure KleidiAI + IF(XNNPACK_ENABLE_KLEIDIAI) ++ find_package(KleidiAI CONFIG REQUIRED) ++ add_library(kleidiai ALIAS KleidiAI::kleidiai) + IF(NOT TARGET kleidiai) + IF(NOT XNNPACK_USE_SYSTEM_LIBS) + SET(KLEIDIAI_BUILD_TESTS OFF CACHE BOOL "") +diff --git a/Config.cmake.in b/Config.cmake.in +new file mode 100644 +index 0000000..8dc60b4 +--- /dev/null ++++ b/Config.cmake.in +@@ -0,0 +1,11 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++find_dependency(unofficial-fxdiv) ++find_dependency(cpuinfo) ++find_dependency(unofficial-pthreadpool) ++if(@XNNPACK_ENABLE_KLEIDIAI@) ++ find_dependency(KleidiAI) ++endif() ++ ++include ( "${CMAKE_CURRENT_LIST_DIR}/unofficial-xnnpack-config-targets.cmake" ) |