aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/nnpack/fix-cmakelists.patch
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/nnpack/fix-cmakelists.patch
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/nnpack/fix-cmakelists.patch')
-rw-r--r--vcpkg/ports/nnpack/fix-cmakelists.patch146
1 files changed, 146 insertions, 0 deletions
diff --git a/vcpkg/ports/nnpack/fix-cmakelists.patch b/vcpkg/ports/nnpack/fix-cmakelists.patch
new file mode 100644
index 0000000..a1ba27b
--- /dev/null
+++ b/vcpkg/ports/nnpack/fix-cmakelists.patch
@@ -0,0 +1,146 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5ecd2df..d26aa34 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -12,8 +12,6 @@ SET_PROPERTY(CACHE NNPACK_BACKEND PROPERTY STRINGS auto psimd scalar)
+ OPTION(NNPACK_CONVOLUTION_ONLY "Build only NNPACK functions for convolutional layer" OFF)
+ OPTION(NNPACK_INFERENCE_ONLY "Build only NNPACK functions for inference" OFF)
+ OPTION(NNPACK_CUSTOM_THREADPOOL "Build NNPACK for custom thread pool" OFF)
+-SET(NNPACK_LIBRARY_TYPE "default" CACHE STRING "Type of library (shared, static, or default) to build")
+-SET_PROPERTY(CACHE NNPACK_LIBRARY_TYPE PROPERTY STRINGS default static shared)
+ OPTION(NNPACK_BUILD_TESTS "Build NNPACK unit tests" ON)
+
+ # ---[ CMake options
+@@ -176,7 +174,7 @@ IF(NNPACK_BACKEND STREQUAL "x86-64")
+ SET(PEACHPY_PYTHONPATH "${PYTHON_SIX_SOURCE_DIR}:${PYTHON_PEACHPY_SOURCE_DIR}")
+ ENDIF()
+ ENDIF()
+-
++IF(FALSE)
+ IF(NOT DEFINED CPUINFO_SOURCE_DIR)
+ MESSAGE(STATUS "Downloading cpuinfo to ${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo (define CPUINFO_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadCpuinfo.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo-download/CMakeLists.txt")
+@@ -226,7 +224,7 @@ IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR)
+ WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download")
+ SET(PTHREADPOOL_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool" CACHE STRING "pthreadpool source directory")
+ ENDIF()
+-
++ENDIF()
+ IF(NNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
+ MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
+@@ -442,15 +440,7 @@ ELSE()
+ SET(NNPACK_BACKEND_C_SRCS ${NNPACK_BACKEND_SRCS})
+ ENDIF()
+
+-IF(NNPACK_LIBRARY_TYPE STREQUAL "default")
+- ADD_LIBRARY(nnpack ${NNPACK_INIT_SRCS} ${NNPACK_LAYER_SRCS} ${NNPACK_BACKEND_C_SRCS} ${NNPACK_BACKEND_PEACHPY_OBJS})
+-ELSEIF(NNPACK_LIBRARY_TYPE STREQUAL "shared")
+- ADD_LIBRARY(nnpack SHARED ${NNPACK_INIT_SRCS} ${NNPACK_LAYER_SRCS} ${NNPACK_BACKEND_C_SRCS} ${NNPACK_BACKEND_PEACHPY_OBJS})
+-ELSEIF(NNPACK_LIBRARY_TYPE STREQUAL "static")
+- ADD_LIBRARY(nnpack STATIC ${NNPACK_INIT_SRCS} ${NNPACK_LAYER_SRCS} ${NNPACK_BACKEND_C_SRCS} ${NNPACK_BACKEND_PEACHPY_OBJS})
+-ELSE()
+- MESSAGE(FATAL_ERROR "Unsupported NNPACK library type \"${NNPACK_LIBRARY_TYPE}\". Must be \"static\", \"shared\", or \"default\"")
+-ENDIF()
++ADD_LIBRARY(nnpack ${NNPACK_INIT_SRCS} ${NNPACK_LAYER_SRCS} ${NNPACK_BACKEND_C_SRCS} ${NNPACK_BACKEND_PEACHPY_OBJS})
+ NNPACK_TARGET_ENABLE_C99(nnpack)
+ IF(IOS OR CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7-a|armv7l)$")
+ IF(IOS AND NNPACK_BACKEND STREQUAL "neon")
+@@ -472,7 +462,7 @@ ENDIF()
+ IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
+ SET_PROPERTY(SOURCE ${NNPACK_BACKEND_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -O3 ")
+ ENDIF()
+-TARGET_INCLUDE_DIRECTORIES(nnpack PUBLIC include)
++TARGET_INCLUDE_DIRECTORIES(nnpack PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
+ TARGET_INCLUDE_DIRECTORIES(nnpack PRIVATE src)
+ IF(NNPACK_BACKEND STREQUAL "psimd")
+ TARGET_COMPILE_DEFINITIONS(nnpack PRIVATE NNP_BACKEND_PSIMD=1)
+@@ -496,6 +486,8 @@ NNPACK_TARGET_ENABLE_C99(nnpack_reference_layers)
+ TARGET_INCLUDE_DIRECTORIES(nnpack_reference_layers PUBLIC include)
+
+ # ---[ Configure cpuinfo
++find_package(cpuinfo CONFIG REQUIRED)
++add_library(cpuinfo ALIAS cpuinfo::cpuinfo)
+ IF(NOT TARGET cpuinfo)
+ SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "")
+ SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "")
+@@ -506,8 +498,10 @@ IF(NOT TARGET cpuinfo)
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo")
+ ENDIF()
+ TARGET_LINK_LIBRARIES(nnpack PRIVATE cpuinfo)
+-
++
+ # ---[ Configure pthreadpool
++find_package(unofficial-pthreadpool CONFIG REQUIRED)
++add_library(pthreadpool ALIAS unofficial::pthreadpool)
+ IF(NOT TARGET pthreadpool)
+ SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
+ SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -525,6 +519,8 @@ ENDIF()
+ TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC pthreadpool)
+
+ # ---[ Configure FXdiv
++find_package(unofficial-fxdiv CONFIG REQUIRED)
++add_library(fxdiv ALIAS unofficial::fxdiv::fxdiv)
+ IF(NOT TARGET fxdiv)
+ SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -535,6 +531,8 @@ ENDIF()
+ TARGET_LINK_LIBRARIES(nnpack PRIVATE fxdiv)
+
+ # ---[ Configure psimd
++find_package(unofficial-psimd CONFIG REQUIRED)
++add_library(psimd ALIAS unofficial::psimd::psimd)
+ IF(NOT TARGET psimd)
+ ADD_SUBDIRECTORY(
+ "${PSIMD_SOURCE_DIR}"
+@@ -543,6 +541,8 @@ ENDIF()
+ TARGET_LINK_LIBRARIES(nnpack PRIVATE psimd)
+
+ # ---[ Configure FP16
++find_package(unofficial-fp16 CONFIG REQUIRED)
++add_library(fp16 ALIAS unofficial::fp16::fp16)
+ IF(NOT TARGET fp16)
+ SET(FP16_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -554,10 +554,24 @@ TARGET_LINK_LIBRARIES(nnpack PRIVATE fp16)
+ TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC fp16)
+
+ INSTALL(TARGETS nnpack
++ EXPORT unofficial-nnpack-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-nnpack-config-targets NAMESPACE unofficial::nnpack::
++ FILE unofficial-nnpack-config-targets.cmake
++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-nnpack) # share/nnpack
++
++include(CMakePackageConfigHelpers)
++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/unofficial-nnpack-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-nnpack)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-nnpack-config.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-nnpack)
++
++
++
++
++
+ IF(NNPACK_BUILD_TESTS)
+ # ---[ Build google test
+ IF(NOT TARGET gtest)
+diff --git a/Config.cmake.in b/Config.cmake.in
+new file mode 100644
+index 0000000..1724d5a
+--- /dev/null
++++ b/Config.cmake.in
+@@ -0,0 +1,10 @@
++@PACKAGE_INIT@
++
++include(CMakeFindDependencyMacro)
++find_dependency(unofficial-fp16)
++find_dependency(unofficial-fxdiv)
++find_dependency(cpuinfo)
++find_dependency(unofficial-pthreadpool)
++
++
++include ( "${CMAKE_CURRENT_LIST_DIR}/unofficial-nnpack-config-targets.cmake" )