Skip to content

Commit 5192aad

Browse files
author
Connor Baker
committed
cmake: support find_package(XNNPACK)
1 parent d8aecd2 commit 5192aad

2 files changed

Lines changed: 25 additions & 5 deletions

File tree

CMakeLists.txt

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -814,7 +814,8 @@ TARGET_INCLUDE_DIRECTORIES(normalization PRIVATE include src)
814814
TARGET_INCLUDE_DIRECTORIES(packing PRIVATE include src)
815815
TARGET_INCLUDE_DIRECTORIES(logging PRIVATE include src)
816816
IF(XNNPACK_BUILD_LIBRARY)
817-
TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC include)
817+
TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC
818+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
818819
TARGET_INCLUDE_DIRECTORIES(XNNPACK PRIVATE src)
819820
TARGET_INCLUDE_DIRECTORIES(allocator PRIVATE include src)
820821
TARGET_INCLUDE_DIRECTORIES(cache PRIVATE include src)
@@ -825,7 +826,9 @@ IF(XNNPACK_BUILD_LIBRARY)
825826
TARGET_INCLUDE_DIRECTORIES(operator-utils PRIVATE include src)
826827
TARGET_INCLUDE_DIRECTORIES(memory PRIVATE include src)
827828
TARGET_INCLUDE_DIRECTORIES(mutex PRIVATE include src)
828-
TARGET_INCLUDE_DIRECTORIES(post-operation PUBLIC include src)
829+
TARGET_INCLUDE_DIRECTORIES(post-operation PUBLIC
830+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
831+
src)
829832
IF(WIN32)
830833
# Target Windows 7+ API
831834
TARGET_COMPILE_DEFINITIONS(XNNPACK PRIVATE _WIN32_WINNT=0x0601)
@@ -964,10 +967,22 @@ IF(XNNPACK_BUILD_LIBRARY)
964967
TARGET_LINK_LIBRARIES(operator-run PRIVATE fp16)
965968

966969
TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16)
970+
971+
INCLUDE(CMakePackageConfigHelpers)
972+
CONFIGURE_PACKAGE_CONFIG_FILE(
973+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/${CMAKE_PROJECT_NAME}Config.cmake.in
974+
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake
975+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}
976+
)
977+
967978
INSTALL(TARGETS XNNPACK
968-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
969-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
970-
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
979+
EXPORT ${CMAKE_PROJECT_NAME}Targets
980+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
981+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
982+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
983+
INSTALL(EXPORT ${CMAKE_PROJECT_NAME}Targets
984+
FILE ${CMAKE_PROJECT_NAME}Config.cmake
985+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME})
971986
ENDIF()
972987

973988
# ---[ XNNPACK unit tests

cmake/XNNPACKConfig.cmake.in

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@PACKAGE_INIT@
2+
include(CMakeFindDependencyMacro)
3+
find_dependency(pthreadpool REQUIRED)
4+
include("${CMAKE_CURRENT_LIST_DIR}/XNNPACKTargets.cmake")
5+
check_required_components(XNNPACK)

0 commit comments

Comments
 (0)