Imported Upstream version 1.12.0
[platform/core/ml/nnfw.git] / infra / nnfw / cmake / packages / XnnpackConfig.cmake
1 function(_Xnnpack_Build)
2   nnas_find_package(XnnpackSource QUIET)
3   nnfw_find_package(Fxdiv QUIET)
4   nnfw_find_package(CpuInfo QUIET)
5   nnfw_find_package(Pthreadpool QUIET)
6   nnfw_find_package(Psimd QUIET)
7   nnfw_find_package(Fp16 QUIET)
8
9   # NOTE This line prevents multiple definitions of cpuinfo target
10   if(TARGET XNNPACK)
11     set(XnnpackSource_DIR ${XnnpackSource_DIR} PARENT_SCOPE)
12     set(Xnnpack_FOUND TRUE PARENT_SCOPE)
13     return()
14   endif(TARGET XNNPACK)
15
16   if(NOT XnnpackSource_FOUND)
17     message(STATUS "XNNPACK: Source not found")
18     set(Xnnpack_FOUND FALSE PARENT_SCOPE)
19     return()
20   endif(NOT XnnpackSource_FOUND)
21
22   set(XNNPACK_BUILD_TESTS OFF CACHE BOOL "Build XNNPACK unit tests")
23   set(XNNPACK_BUILD_BENCHMARKS OFF CACHE BOOL "Build XNNPACK benchmarks")
24   set(XNNPACK_USE_SYSTEM_LIBS ON CACHE BOOL "Use system-provided dependency libraries")
25
26   add_extdirectory("${XnnpackSource_DIR}" XNNPACK EXCLUDE_FROM_ALL)
27   set_target_properties(XNNPACK PROPERTIES POSITION_INDEPENDENT_CODE ON)
28   # Suppress warnings generated by xnnpack
29   set_target_properties(XNNPACK PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations")
30   set(XnnpackSource_DIR ${XnnpackSource_DIR} PARENT_SCOPE)
31   set(Xnnpack_FOUND TRUE PARENT_SCOPE)
32 endfunction(_Xnnpack_Build)
33
34 if(BUILD_XNNPACK)
35   _Xnnpack_Build()
36 else(BUILD_XNNPACK)
37   set(Xnnpack_FOUND FALSE)
38 endif(BUILD_XNNPACK)