Imported Upstream version 1.12.0
[platform/core/ml/nnfw.git] / infra / nnfw / cmake / packages / Fp16Config.cmake
1 function(_Fp16_Build)
2   nnas_find_package(Fp16Source QUIET)
3
4   # NOTE This line prevents multiple definitions of target
5   if(TARGET fp16)
6     set(Fp16Source_DIR ${Fp16Source_DIR} PARENT_SCOPE)
7     set(Fp16_FOUND TRUE PARENT_SCOPE)
8     return()
9   endif(TARGET fp16)
10
11   if(NOT Fp16Source_FOUND)
12     message(STATUS "FP16: Source not found")
13     set(Fp16_FOUND FALSE PARENT_SCOPE)
14     return()
15   endif(NOT Fp16Source_FOUND)
16
17   set(FP16_BUILD_TESTS OFF CACHE BOOL "Build FP16 unit tests")
18   set(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "Build FP16 micro-benchmarks")
19   nnas_find_package(PsimdSource)
20   set(PSIMD_SOURCE_DIR ${PsimdSource_DIR} CACHE STRING "String to disable download PSIMD on fp16")
21   add_extdirectory("${Fp16Source_DIR}" FP16 EXCLUDE_FROM_ALL)
22   set(Fp16Source_DIR ${Fp16Source_DIR} PARENT_SCOPE)
23   set(Fp16_FOUND TRUE PARENT_SCOPE)
24 endfunction(_Fp16_Build)
25
26 if(BUILD_FP16)
27   _Fp16_Build()
28 else()
29   set(Fp16_FOUND FALSE)
30 endif()