Imported Upstream version 1.12.0
[platform/core/ml/nnfw.git] / infra / nnfw / cmake / packages / CpuInfoConfig.cmake
1 function(_CpuInfo_Build)
2   nnas_find_package(CpuInfoSource QUIET)
3
4   # NOTE This line prevents multiple definitions of cpuinfo target
5   if(TARGET cpuinfo)
6     set(CpuInfoSource_DIR ${CpuInfoSource_DIR} PARENT_SCOPE)
7     set(CpuInfo_FOUND TRUE PARENT_SCOPE)
8     return()
9   endif(TARGET cpuinfo)
10
11   if(NOT CpuInfoSource_FOUND)
12     message(STATUS "CPUINFO: Source not found")
13     set(CpuInfo_FOUND FALSE PARENT_SCOPE)
14     return()
15   endif(NOT CpuInfoSource_FOUND)
16
17   set(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "Build command-line tools")
18   set(CPUINFO_BUILD_BENCHMARKS OFF CACHE BOOL "Build cpuinfo unit tests")
19   set(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "Build cpuinfo mock tests")
20   set(CPUINFO_BUILD_MOCK_TESTS OFF CACHE BOOL "Build cpuinfo micro-benchmarks")
21   add_extdirectory("${CpuInfoSource_DIR}" cpuinfo EXCLUDE_FROM_ALL)
22   set_target_properties(cpuinfo PROPERTIES POSITION_INDEPENDENT_CODE ON)
23   # Suppress warnings generated by clog
24   set_target_properties(clog PROPERTIES COMPILE_FLAGS "-Wno-unused-result")
25   set(CpuInfoSource_DIR ${CpuInfoSource_DIR} PARENT_SCOPE)
26   set(CpuInfo_FOUND TRUE PARENT_SCOPE)
27 endfunction(_CpuInfo_Build)
28
29 if(BUILD_CPUINFO)
30   _CpuInfo_Build()
31 else(BUILD_CPUINFO)
32   set(CpuInfo_FOUND FALSE)
33 endif(BUILD_CPUINFO)