blob: 46fab3bc5bba3e2bf6fb429230fda26815ce655c [file] [log] [blame]
Narumol Prangnawarat26654cb2023-05-03 16:08:11 +01001#
2# Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
3# SPDX-License-Identifier: MIT
4#
5
6include(FindPackageHandleStandardArgs)
7unset(TFLITEABSL_FOUND)
8
9find_path(TfLite_ABSL_SYNC_HEADERS
10 NAMES
11 absl
12 HINTS
13 ${TFLITE_LIB_ROOT}/abseil-cpp)
14
15# First look for the static version of tensorflow lite
16find_library(TfLite_LIB NAMES "libtensorflow-lite.a" HINTS ${TFLITE_LIB_ROOT} ${TFLITE_LIB_ROOT}/tensorflow/lite)
17
18# If the static library was found, gather extra absl libraries for opaque delegate
19if (TfLite_LIB MATCHES .a$)
20 find_library(TfLite_abseil_base_LIB "libabsl_base.a" PATH
21 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/base)
22 find_library(TfLite_abseil_log_severity_LIB "libabsl_log_severity.a" PATH
23 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/base)
24 find_library(TfLite_abseil_spinlock_wait_LIB "libabsl_spinlock_wait.a" PATH
25 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/base)
26 find_library(TfLite_abseil_malloc_internal_LIB "libabsl_malloc_internal.a" PATH
27 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/base)
28 find_library(TfLite_abseil_raw_logging_internal_LIB "libabsl_raw_logging_internal.a" PATH
29 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/base)
30 find_library(TfLite_abseil_stacktrace_LIB "libabsl_stacktrace.a" PATH
31 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/debugging)
32 find_library(TfLite_abseil_debugging_internal_LIB "libabsl_debugging_internal.a" PATH
33 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/debugging)
34 find_library(TfLite_abseil_symbolize_LIB "libabsl_symbolize.a" PATH
35 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/debugging)
36 find_library(TfLite_abseil_demangle_internal_LIB "libabsl_demangle_internal.a" PATH
37 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/debugging)
38 find_library(TfLite_abseil_time_LIB "libabsl_time.a" PATH
39 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/time)
40 find_library(TfLite_abseil_time_zone_LIB "libabsl_time_zone.a" PATH
41 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/time)
42 find_library(TfLite_abseil_int128_LIB "libabsl_int128.a" PATH
43 ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/numeric)
44
45 ## Set TFLITEABSL_FOUND
46 find_package_handle_standard_args(TfLiteAbsl DEFAULT_MSG TfLite_ABSL_SYNC_HEADERS TfLite_abseil_base_LIB
47 TfLite_abseil_int128_LIB TfLite_abseil_spinlock_wait_LIB
48 TfLite_abseil_raw_logging_internal_LIB TfLite_abseil_malloc_internal_LIB
49 TfLite_abseil_symbolize_LIB TfLite_abseil_stacktrace_LIB
50 TfLite_abseil_demangle_internal_LIB TfLite_abseil_debugging_internal_LIB
51 TfLite_abseil_time_LIB TfLite_abseil_time_zone_LIB)
52
53 ## Set external variables for usage in CMakeLists.txt
54 if(TFLITEABSL_FOUND)
55 set(TfLite_ABSL_SYNC_HEADERS ${TfLite_ABSL_SYNC_HEADERS})
56 set(TfLite_Extra_Absl_LIB ${TfLite_abseil_base_LIB} ${TfLite_abseil_int128_LIB} ${TfLite_abseil_spinlock_wait_LIB}
57 ${TfLite_abseil_raw_logging_internal_LIB} ${TfLite_abseil_malloc_internal_LIB}
58 ${TfLite_abseil_symbolize_LIB} ${TfLite_abseil_stacktrace_LIB}
59 ${TfLite_abseil_demangle_internal_LIB} ${TfLite_abseil_debugging_internal_LIB}
60 ${TfLite_abseil_time_LIB} ${TfLite_abseil_time_zone_LIB})
61 endif()
62endif()