Skip to content

Commit fcd7f67

Browse files
author
Connor Baker
committed
cmake: support find_package(XNNPACK)
1 parent cd3ce6b commit fcd7f67

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
@@ -773,7 +773,8 @@ TARGET_INCLUDE_DIRECTORIES(normalization PRIVATE include src)
773773
TARGET_INCLUDE_DIRECTORIES(packing PRIVATE include src)
774774
TARGET_INCLUDE_DIRECTORIES(logging PRIVATE include src)
775775
IF(XNNPACK_BUILD_LIBRARY)
776-
TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC include)
776+
TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC
777+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
777778
TARGET_INCLUDE_DIRECTORIES(XNNPACK PRIVATE src)
778779
TARGET_INCLUDE_DIRECTORIES(allocator PRIVATE include src)
779780
TARGET_INCLUDE_DIRECTORIES(cache PRIVATE include src)
@@ -784,7 +785,9 @@ IF(XNNPACK_BUILD_LIBRARY)
784785
TARGET_INCLUDE_DIRECTORIES(operator-utils PRIVATE include src)
785786
TARGET_INCLUDE_DIRECTORIES(memory PRIVATE include src)
786787
TARGET_INCLUDE_DIRECTORIES(mutex PRIVATE include src)
787-
TARGET_INCLUDE_DIRECTORIES(post-operation PUBLIC include src)
788+
TARGET_INCLUDE_DIRECTORIES(post-operation PUBLIC
789+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
790+
src)
788791
IF(WIN32)
789792
# Target Windows 7+ API
790793
TARGET_COMPILE_DEFINITIONS(XNNPACK PRIVATE _WIN32_WINNT=0x0601)
@@ -923,10 +926,22 @@ IF(XNNPACK_BUILD_LIBRARY)
923926
TARGET_LINK_LIBRARIES(operator-run PRIVATE fp16)
924927

925928
TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16)
929+
930+
INCLUDE(CMakePackageConfigHelpers)
931+
CONFIGURE_PACKAGE_CONFIG_FILE(
932+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/${CMAKE_PROJECT_NAME}Config.cmake.in
933+
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake
934+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}
935+
)
936+
926937
INSTALL(TARGETS XNNPACK
927-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
928-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
929-
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
938+
EXPORT ${CMAKE_PROJECT_NAME}Targets
939+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
940+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
941+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
942+
INSTALL(EXPORT ${CMAKE_PROJECT_NAME}Targets
943+
FILE ${CMAKE_PROJECT_NAME}Config.cmake
944+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME})
930945
ENDIF()
931946

932947
# ---[ 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)