@@ -22,6 +22,9 @@ set(XNNPACK_STATIC_LIB
2222set (XNNPACK_MICROKERNELS_STATIC_LIB
2323 "${XNNPACK_INSTALL_DIR} /${CMAKE_INSTALL_LIBDIR} /libxnnpack-microkernels-prod.a"
2424)
25+ set (KLEIDIAI_STATIC_LIB
26+ "${XNNPACK_INSTALL_DIR} /${CMAKE_INSTALL_LIBDIR} /libkleidiai.a"
27+ )
2528get_extra_cmake_args_for_external_project(XNNPACK_EXTRA_CMAKE_ARGS)
2629ExternalProject_Add(
2730 XNNPACKExternalProject
@@ -30,6 +33,7 @@ ExternalProject_Add(
3033 BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} /XNNPACK
3134 INSTALL_DIR ${XNNPACK_INSTALL_DIR}
3235 INSTALL_BYPRODUCTS ${XNNPACK_STATIC_LIB} ${XNNPACK_MICROKERNELS_STATIC_LIB}
36+ ${KLEIDIAI_STATIC_LIB}
3337 CMAKE_ARGS
3438 ${XNNPACK_EXTRA_CMAKE_ARGS}
3539 -D
@@ -49,7 +53,7 @@ ExternalProject_Add(
4953 -D
5054 ENABLE_XNNPACK_SHARED_WORKSPACE=${EXECUTORCH_XNNPACK_SHARED_WORKSPACE}
5155 -D
52- XNNPACK_ENABLE_KLEIDIAI=${EXECUTORCH_XNNPACK_ENABLE_KLEIDIAI }
56+ XNNPACK_ENABLE_KLEIDIAI=${EXECUTORCH_XNNPACK_ENABLE_KLEIDI }
5357 -D
5458 CMAKE_INSTALL_PREFIX =<INSTALL_DIR>
5559 -D
@@ -79,14 +83,15 @@ install(DIRECTORY ${XNNPACK_INSTALL_DIR}/ DESTINATION ${CMAKE_INSTALL_PREFIX})
7983
8084if (EXECUTORCH_XNNPACK_ENABLE_KLEIDI)
8185 add_library (kleidiai SHARED IMPORTED )
82- find_library (
83- KLEIDIAI_LIBRARY kleidiai
84- PATHS "${CMAKE_CURRENT_BINARY_DIR} /XNNPACK/kleidiai-source"
86+ install (FILES ${KLEIDIAI_STATIC_LIB} PUBLIC_HEADER
87+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
88+ )
89+ set_property (
90+ TARGET kleidiai PROPERTY IMPORTED_LOCATION ${KLEIDIAI_STATIC_LIB}
91+ )
92+ set_property (
93+ TARGET XNNPACK
94+ APPEND
95+ PROPERTY INTERFACE_LINK_LIBRARIES kleidiai
8596 )
86- if (KLEIDIAI_LIBRARY)
87- message (WARNING "Can't find KleidiAI, skipping install" )
88- install (FILES ${KLEIDIAI_LIBRARY} PUBLIC_HEADER
89- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
90- )
91- endif ()
9297endif ()
0 commit comments