mirror of https://github.com/microsoft/vcpkg.git
95 lines
4.0 KiB
Diff
95 lines
4.0 KiB
Diff
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" )
|