1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index 5ecd2df..8565044 100644
5 @@ -12,8 +12,6 @@ SET_PROPERTY(CACHE NNPACK_BACKEND PROPERTY STRINGS auto psimd scalar)
6 OPTION(NNPACK_CONVOLUTION_ONLY "Build only NNPACK functions for convolutional layer" OFF)
7 OPTION(NNPACK_INFERENCE_ONLY "Build only NNPACK functions for inference" OFF)
8 OPTION(NNPACK_CUSTOM_THREADPOOL "Build NNPACK for custom thread pool" OFF)
9 -SET(NNPACK_LIBRARY_TYPE "default" CACHE STRING "Type of library (shared, static, or default) to build")
10 -SET_PROPERTY(CACHE NNPACK_LIBRARY_TYPE PROPERTY STRINGS default static shared)
11 OPTION(NNPACK_BUILD_TESTS "Build NNPACK unit tests" ON)
14 @@ -442,15 +440,7 @@ ELSE()
15 SET(NNPACK_BACKEND_C_SRCS ${NNPACK_BACKEND_SRCS})
18 -IF(NNPACK_LIBRARY_TYPE STREQUAL "default")
19 - ADD_LIBRARY(nnpack ${NNPACK_INIT_SRCS} ${NNPACK_LAYER_SRCS} ${NNPACK_BACKEND_C_SRCS} ${NNPACK_BACKEND_PEACHPY_OBJS})
20 -ELSEIF(NNPACK_LIBRARY_TYPE STREQUAL "shared")
21 - ADD_LIBRARY(nnpack SHARED ${NNPACK_INIT_SRCS} ${NNPACK_LAYER_SRCS} ${NNPACK_BACKEND_C_SRCS} ${NNPACK_BACKEND_PEACHPY_OBJS})
22 -ELSEIF(NNPACK_LIBRARY_TYPE STREQUAL "static")
23 - ADD_LIBRARY(nnpack STATIC ${NNPACK_INIT_SRCS} ${NNPACK_LAYER_SRCS} ${NNPACK_BACKEND_C_SRCS} ${NNPACK_BACKEND_PEACHPY_OBJS})
25 - MESSAGE(FATAL_ERROR "Unsupported NNPACK library type \"${NNPACK_LIBRARY_TYPE}\". Must be \"static\", \"shared\", or \"default\"")
27 +ADD_LIBRARY(nnpack ${NNPACK_INIT_SRCS} ${NNPACK_LAYER_SRCS} ${NNPACK_BACKEND_C_SRCS} ${NNPACK_BACKEND_PEACHPY_OBJS})
28 NNPACK_TARGET_ENABLE_C99(nnpack)
29 IF(IOS OR CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7-a|armv7l)$")
30 IF(IOS AND NNPACK_BACKEND STREQUAL "neon")
31 @@ -496,7 +486,7 @@ NNPACK_TARGET_ENABLE_C99(nnpack_reference_layers)
32 TARGET_INCLUDE_DIRECTORIES(nnpack_reference_layers PUBLIC include)
34 # ---[ Configure cpuinfo
35 -IF(NOT TARGET cpuinfo)
37 SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "")
38 SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "")
39 SET(CPUINFO_BUILD_MOCK_TESTS OFF CACHE BOOL "")
40 @@ -505,10 +495,11 @@ IF(NOT TARGET cpuinfo)
41 "${CPUINFO_SOURCE_DIR}"
42 "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo")
44 -TARGET_LINK_LIBRARIES(nnpack PRIVATE cpuinfo)
45 +find_package(unofficial-cpuinfo CONFIG REQUIRED)
46 +target_link_libraries(nnpack PUBLIC unofficial::cpuinfo::cpuinfo)
48 # ---[ Configure pthreadpool
49 -IF(NOT TARGET pthreadpool)
51 SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
52 SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
54 @@ -525,33 +516,37 @@ ENDIF()
55 TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC pthreadpool)
57 # ---[ Configure FXdiv
60 SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
61 SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
64 "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv")
66 -TARGET_LINK_LIBRARIES(nnpack PRIVATE fxdiv)
67 +find_path(FXDIV_INCLUDE_DIRS "fxdiv.h")
68 +target_include_directories(nnpack PRIVATE ${FXDIV_INCLUDE_DIRS})
71 # ---[ Configure psimd
76 "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd")
78 -TARGET_LINK_LIBRARIES(nnpack PRIVATE psimd)
79 +find_path(PSIMD_INCLUDE_DIRS "psimd.h")
80 +target_include_directories(nnpack PRIVATE ${PSIMD_INCLUDE_DIRS})
85 SET(FP16_BUILD_TESTS OFF CACHE BOOL "")
86 SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "")
89 "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16")
91 -TARGET_LINK_LIBRARIES(nnpack PRIVATE fp16)
92 -TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC fp16)
93 +find_path(FP16_INCLUDE_DIRS "fp16.h")
94 +target_include_directories(nnpack PRIVATE ${FP16_INCLUDE_DIRS})
95 +target_include_directories(nnpack_reference_layers PUBLIC ${FP16_INCLUDE_DIRS})
97 INSTALL(TARGETS nnpack
98 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}