aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/xnnpack/fix-cmake.patch
blob: c02163947bb1bba85a49f3e87585124ef42c16e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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" )