1 if(BUILD_TENSORFLOW_LITE_2_3_0)
2 macro(return_unless VAR)
4 message("${VAR} NOT TRUE")
5 set(TensorFlowLite_2_3_0_FOUND PARENT_SCOPE)
8 endmacro(return_unless)
10 nnas_include(ExternalSourceTools)
11 nnas_include(OptionTools)
13 # Below urls come from https://github.com/tensorflow/tensorflow/blob/v2.3.0/tensorflow/lite/tools/make/Makefile
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)
21 return_unless(TFLiteVanillaAbslSource_FOUND)
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)
29 return_unless(TFLiteVanillaEigenSource_FOUND)
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)
37 return_unless(TFLiteVanillaFarmhashSource_FOUND)
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)
45 return_unless(TFLiteVanillaFFT2DSource_FOUND)
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)
53 return_unless(TFLiteVanillaFlatBuffersSource_FOUND)
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)
61 return_unless(TFLiteVanillaFP16Source_FOUND)
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)
69 return_unless(TFLiteVanillaGEMMLowpSource_FOUND)
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)
77 return_unless(TFLiteVanillaNEON2SSESource_FOUND)
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)
85 return_unless(TFLiteVanillaTensorFlowSource_FOUND)
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)
93 return_unless(TFLiteVanillaRuySource_FOUND)
95 nnas_include(ExternalProjectTools)
96 add_extdirectory("${CMAKE_CURRENT_LIST_DIR}/TensorFlowLite-2.3.0" tflite-2.3.0)
98 set(TensorFlowLite_2_3_0_FOUND TRUE)