CMakeLists.txt 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. cmake_minimum_required(VERSION 3.5)
  2. set(tflite_dir "${CMAKE_CURRENT_SOURCE_DIR}/tensorflow/lite")
  3. set(tfmicro_dir "${tflite_dir}/micro")
  4. set(tfmicro_frontend_dir "${tflite_dir}/experimental/microfrontend/lib")
  5. set(tfmicro_kernels_dir "${tfmicro_dir}/kernels")
  6. file(GLOB srcs_micro
  7. "${tfmicro_dir}/*.cc"
  8. "${tfmicro_dir}/*.c")
  9. file(GLOB src_micro_frontend
  10. "${tfmicro_frontend_dir}/*.c"
  11. "${tfmicro_frontend_dir}/*.cc")
  12. file(GLOB srcs_kernels
  13. "${tfmicro_kernels_dir}/*.c"
  14. "${tfmicro_kernels_dir}/*.cc")
  15. set(lib_srcs
  16. "${srcs_micro}"
  17. "${srcs_kernels}"
  18. "${src_micro_frontend}"
  19. "${tflite_dir}/kernels/kernel_util.cc"
  20. "${tflite_dir}/micro/memory_planner/greedy_memory_planner.cc"
  21. "${tflite_dir}/micro/memory_planner/linear_memory_planner.cc"
  22. "${tflite_dir}/c/common.c"
  23. "${tflite_dir}/core/api/error_reporter.cc"
  24. "${tflite_dir}/core/api/flatbuffer_conversions.cc"
  25. "${tflite_dir}/core/api/op_resolver.cc"
  26. "${tflite_dir}/core/api/tensor_utils.cc"
  27. "${tflite_dir}/kernels/internal/quantization_util.cc"
  28. "${tflite_dir}/schema/schema_utils.cc")
  29. idf_component_register(
  30. SRCS "${lib_srcs}"
  31. INCLUDE_DIRS "." "third_party/gemmlowp"
  32. "third_party/flatbuffers/include"
  33. "third_party/ruy"
  34. "third_party/kissfft")
  35. # Reduce the level of paranoia to be able to compile TF sources
  36. target_compile_options(${COMPONENT_LIB} PRIVATE
  37. -Wno-maybe-uninitialized
  38. -Wno-missing-field-initializers
  39. -Wno-type-limits)
  40. target_compile_options(${COMPONENT_LIB} PRIVATE -fno-unwind-tables -ffunction-sections -fdata-sections -fmessage-length=0 -DTF_LITE_STATIC_MEMORY -DTF_LITE_DISABLE_X86_NEON -O3 -Wsign-compare -Wdouble-promotion -Wshadow -Wunused-variable -Wmissing-field-initializers -Wunused-function -Wswitch -Wvla -Wall -Wextra -Wstrict-aliasing -Wno-unused-parameter -DESP -DESP_NN -Wno-nonnull -Wno-nonnull -Wno-nonnull)
  41. target_compile_options(${COMPONENT_LIB} PRIVATE $<$<COMPILE_LANGUAGE:CXX>: -std=c++11 -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-unwind-tables -ffunction-sections -fdata-sections -fmessage-length=0 -DTF_LITE_STATIC_MEMORY -DTF_LITE_DISABLE_X86_NEON -O3 -Werror -Wsign-compare -Wdouble-promotion -Wshadow -Wunused-variable -Wmissing-field-initializers -Wunused-function -Wswitch -Wvla -Wall -Wextra -Wstrict-aliasing -Wno-unused-parameter -DESP -DESP_NN -Wno-return-type -Wno-strict-aliasing -std=gnu++14 -Wno-return-type -Wno-strict-aliasing -std=gnu++14 -Wno-return-type -Wno-strict-aliasing -std=gnu++14 >)
  42. target_compile_options(${COMPONENT_LIB} INTERFACE $<$<IN_LIST:-DTF_LITE_STATIC_MEMORY,$<TARGET_PROPERTY:${COMPONENT_LIB},COMPILE_OPTIONS>>:-DTF_LITE_STATIC_MEMORY>)
  43. target_link_libraries(${COMPONENT_LIB} PRIVATE -lm)