Skip to content

Commit f1bc09d

Browse files
committed
Merge pull request #5031 from ConnorBaker:feat/support-cmake-find-package
PiperOrigin-RevId: 573857534
2 parents afaf212 + ff0af76 commit f1bc09d

2 files changed

Lines changed: 23 additions & 5 deletions

File tree

CMakeLists.txt

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,9 @@ TARGET_INCLUDE_DIRECTORIES(normalization PRIVATE include src)
800800
TARGET_INCLUDE_DIRECTORIES(packing PRIVATE include src)
801801
TARGET_INCLUDE_DIRECTORIES(logging PRIVATE include src)
802802
IF(XNNPACK_BUILD_LIBRARY)
803-
TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC include)
803+
TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC
804+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
805+
"$<INSTALL_INTERFACE:include>")
804806
TARGET_INCLUDE_DIRECTORIES(XNNPACK PRIVATE src)
805807
TARGET_INCLUDE_DIRECTORIES(allocator PRIVATE include src)
806808
TARGET_INCLUDE_DIRECTORIES(cache PRIVATE include src)
@@ -817,7 +819,7 @@ IF(XNNPACK_BUILD_LIBRARY)
817819
TARGET_COMPILE_DEFINITIONS(XNNPACK PRIVATE _WIN32_WINNT=0x0601)
818820
TARGET_COMPILE_DEFINITIONS(mutex PRIVATE _WIN32_WINNT=0x0601)
819821
ENDIF()
820-
SET_TARGET_PROPERTIES(XNNPACK PROPERTIES PUBLIC_HEADER include/xnnpack.h)
822+
SET_TARGET_PROPERTIES(XNNPACK PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/include/xnnpack.h")
821823
ENDIF()
822824

823825
# ---[ Find libm
@@ -950,10 +952,21 @@ IF(XNNPACK_BUILD_LIBRARY)
950952
TARGET_LINK_LIBRARIES(operator-run PRIVATE fp16)
951953

952954
TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16)
955+
956+
INCLUDE(CMakePackageConfigHelpers)
957+
CONFIGURE_PACKAGE_CONFIG_FILE(
958+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/${CMAKE_PROJECT_NAME}Config.cmake.in"
959+
"${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake"
960+
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}")
961+
953962
INSTALL(TARGETS XNNPACK
954-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
955-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
956-
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
963+
EXPORT ${CMAKE_PROJECT_NAME}Targets
964+
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
965+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
966+
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
967+
INSTALL(EXPORT ${CMAKE_PROJECT_NAME}Targets
968+
FILE "${CMAKE_PROJECT_NAME}Config.cmake"
969+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}")
957970
ENDIF()
958971

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