Imported Upstream version 1.8.0
[platform/core/ml/nnfw.git] / infra / nnfw / cmake / packages / TensorFlowLite-2.3.0Config.cmake
1 if(BUILD_TENSORFLOW_LITE_2_3_0)
2   macro(return_unless VAR)
3   if(NOT ${VAR})
4     message("${VAR} NOT TRUE")
5     set(TensorFlowLite_2_3_0_FOUND PARENT_SCOPE)
6     return()
7   endif(NOT ${VAR})
8   endmacro(return_unless)
9
10   nnas_include(ExternalSourceTools)
11   nnas_include(OptionTools)
12
13   # Below urls come from https://github.com/tensorflow/tensorflow/blob/v2.3.0/tensorflow/lite/tools/make/Makefile
14
15   set(absl_url "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz")
16   ExternalSource_Download("TFLiteVanilla_Absl" ${absl_url})
17   set(TFLiteVanillaAbslSource_DIR "${TFLiteVanilla_Absl_SOURCE_DIR}")
18   if (NOT TFLiteVanillaAbslSource_DIR STREQUAL "")
19     set(TFLiteVanillaAbslSource_FOUND TRUE)
20   endif()
21   return_unless(TFLiteVanillaAbslSource_FOUND)
22
23   set(eigen_url "https://gitlab.com/libeigen/eigen/-/archive/386d809bde475c65b7940f290efe80e6a05878c4/eigen-386d809bde475c65b7940f290efe80e6a05878c4.tar.gz")
24   ExternalSource_Download("TFLiteVanilla_Eigen" ${eigen_url})
25   set(TFLiteVanillaEigenSource_DIR "${TFLiteVanilla_Eigen_SOURCE_DIR}")
26   if (NOT TFLiteVanillaEigenSource_DIR STREQUAL "")
27     set(TFLiteVanillaEigenSource_FOUND TRUE)
28   endif()
29   return_unless(TFLiteVanillaEigenSource_FOUND)
30
31   set(farmhash_url "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz")
32   ExternalSource_Download("TFLiteVanilla_Farmhash" ${farmhash_url})
33   set(TFLiteVanillaFarmhashSource_DIR "${TFLiteVanilla_Farmhash_SOURCE_DIR}")
34   if (NOT TFLiteVanillaFarmhashSource_DIR STREQUAL "")
35     set(TFLiteVanillaFarmhashSource_FOUND TRUE)
36   endif()
37   return_unless(TFLiteVanillaFarmhashSource_FOUND)
38
39   set(fft2d_url "https://storage.googleapis.com/mirror.tensorflow.org/github.com/petewarden/OouraFFT/archive/v1.0.tar.gz")
40   ExternalSource_Download("TFLiteVanilla_FFT2D" ${fft2d_url})
41   set(TFLiteVanillaFFT2DSource_DIR "${TFLiteVanilla_FFT2D_SOURCE_DIR}")
42   if (NOT TFLiteVanillaFFT2DSource_DIR STREQUAL "")
43     set(TFLiteVanillaFFT2DSource_FOUND TRUE)
44   endif()
45   return_unless(TFLiteVanillaFFT2DSource_FOUND)
46
47   set(flatbuffers_url "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/flatbuffers/archive/v1.12.0.tar.gz")
48   ExternalSource_Download("TFLiteVanilla_FlatBuffers" ${flatbuffers_url})
49   set(TFLiteVanillaFlatBuffersSource_DIR "${TFLiteVanilla_FlatBuffers_SOURCE_DIR}")
50   if (NOT TFLiteVanillaFlatBuffersSource_DIR STREQUAL "")
51     set(TFLiteVanillaFlatBuffersSource_FOUND TRUE)
52   endif()
53   return_unless(TFLiteVanillaFlatBuffersSource_FOUND)
54
55   set(fp16_url "https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip")
56   ExternalSource_Download("TFLiteVanilla_FP16" ${fp16_url})
57   set(TFLiteVanillaFP16Source_DIR "${TFLiteVanilla_FP16_SOURCE_DIR}")
58   if (NOT TFLiteVanillaFP16Source_DIR STREQUAL "")
59     set(TFLiteVanillaFP16Source_FOUND TRUE)
60   endif()
61   return_unless(TFLiteVanillaFP16Source_FOUND)
62
63   set(gemmlowp_url "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip")
64   ExternalSource_Download("TFLiteVanilla_GEMMLowp" ${gemmlowp_url})
65   set(TFLiteVanillaGEMMLowpSource_DIR "${TFLiteVanilla_GEMMLowp_SOURCE_DIR}")
66   if (NOT TFLiteVanillaGEMMLowpSource_DIR STREQUAL "")
67     set(TFLiteVanillaGEMMLowpSource_FOUND TRUE)
68   endif()
69   return_unless(TFLiteVanillaGEMMLowpSource_FOUND)
70
71   set(neon2sse_url "https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz")
72   ExternalSource_Download("TFLiteVanilla_NEON2SSE" ${neon2sse_url})
73   set(TFLiteVanillaNEON2SSESource_DIR "${TFLiteVanilla_NEON2SSE_SOURCE_DIR}")
74   if (NOT TFLiteVanillaNEON2SSESource_DIR STREQUAL "")
75     set(TFLiteVanillaNEON2SSESource_FOUND TRUE)
76   endif()
77   return_unless(TFLiteVanillaNEON2SSESource_FOUND)
78
79   set(tensorflow_url "https://github.com/tensorflow/tensorflow/archive/v2.3.0.tar.gz")
80   ExternalSource_Download("TFLiteVanilla_TensorFlow" ${tensorflow_url})
81   set(TFLiteVanillaTensorFlowSource_DIR "${TFLiteVanilla_TensorFlow_SOURCE_DIR}")
82   if (NOT TFLiteVanillaTensorFlowSource_DIR STREQUAL "")
83     set(TFLiteVanillaTensorFlowSource_FOUND TRUE)
84   endif()
85   return_unless(TFLiteVanillaTensorFlowSource_FOUND)
86
87   set(ruy_url "https://github.com/google/ruy/archive/34ea9f4993955fa1ff4eb58e504421806b7f2e8f.zip")
88   ExternalSource_Download("TFLiteVanilla_Ruy" ${ruy_url})
89   set(TFLiteVanillaRuySource_DIR "${TFLiteVanilla_Ruy_SOURCE_DIR}")
90   if (NOT TFLiteVanillaRuySource_DIR STREQUAL "")
91     set(TFLiteVanillaRuySource_FOUND TRUE)
92   endif()
93   return_unless(TFLiteVanillaRuySource_FOUND)
94
95   nnas_include(ExternalProjectTools)
96   add_extdirectory("${CMAKE_CURRENT_LIST_DIR}/TensorFlowLite-2.3.0" tflite-2.3.0)
97
98   set(TensorFlowLite_2_3_0_FOUND TRUE)
99   return()
100 endif()