diff options
Diffstat (limited to 'tensorflow.cmake')
-rw-r--r-- | tensorflow.cmake | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/tensorflow.cmake b/tensorflow.cmake deleted file mode 100644 index 089a1c9..0000000 --- a/tensorflow.cmake +++ /dev/null @@ -1,103 +0,0 @@ -# -# Copyright (c) 2019-2021 Arm Limited. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the License); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an AS IS BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include(ProcessorCount) -ProcessorCount(J) - -if (CMAKE_CXX_COMPILER_ID STREQUAL "ARMClang") - set(TFLU_TOOLCHAIN "armclang") -elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set(TFLU_TOOLCHAIN "gcc") -else () - message(FATAL_ERROR "No compiler ID is set") -endif() - -get_filename_component(TFLU_TARGET_TOOLCHAIN_ROOT ${CMAKE_C_COMPILER} DIRECTORY) - -set(TFLU_TARGET_TOOLCHAIN_ROOT "'${TFLU_TARGET_TOOLCHAIN_ROOT}'/") -set(TFLU_PATH "${TENSORFLOW_PATH}/tensorflow/lite/micro") -set(TFLU_GENDIR "${CMAKE_CURRENT_BINARY_DIR}/tensorflow/") -set(TFLU_TARGET "cortex_m_generic") -set(TFLU_TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR}${CPU_FEATURES} - CACHE STRING "Tensorflow Lite for Microcontrollers target architecture") -set(TFLU_BUILD_TYPE "release" CACHE STRING "Tensorflow Lite Mirco build type, can be release or debug") -set(TFLU_OPTIMIZATION_LEVEL CACHE STRING "Tensorflow Lite Micro optimization level") - - -if (TFLU_PREBUILT_LIBRARY_PATH) - set(TFLU_IMPORTED_LIB_PATH "${TFLU_PREBUILT_LIBRARY_PATH}") - message(STATUS "Using a prebuilt TensorFlow Lite for Microcontrollers library: ${TFLU_IMPORTED_LIB_PATH}") -else() - if(CORE_SOFTWARE_ACCELERATOR STREQUAL NPU) - set(TFLU_ETHOSU_LIBS $<TARGET_FILE:ethosu_core_driver>) - # Set preference for ethos-u over cmsis-nn - set(TFLU_OPTIMIZED_KERNEL_DIR "cmsis_nn") - set(TFLU_CO_PROCESSOR "ethos_u") - elseif(CORE_SOFTWARE_ACCELERATOR STREQUAL CMSIS-NN) - set(TFLU_OPTIMIZED_KERNEL_DIR "cmsis_nn") - endif() - - # Windows: change to relative paths. - if (CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) - file(RELATIVE_PATH CMSIS_PATH ${TENSORFLOW_PATH} ${CMSIS_PATH}) - file(RELATIVE_PATH CORE_DRIVER_PATH ${TENSORFLOW_PATH} ${CORE_DRIVER_PATH}) - endif() - - # Command and target - add_custom_target(tflu_gen ALL - COMMAND make -j${J} -f ${TFLU_PATH}/tools/make/Makefile microlite - TARGET_TOOLCHAIN_ROOT=${TFLU_TARGET_TOOLCHAIN_ROOT} - TOOLCHAIN=${TFLU_TOOLCHAIN} - GENDIR=${TFLU_GENDIR} - TARGET=${TFLU_TARGET} - TARGET_ARCH=${TFLU_TARGET_ARCH} - OPTIMIZED_KERNEL_DIR="${TFLU_OPTIMIZED_KERNEL_DIR}" - CO_PROCESSOR="${TFLU_CO_PROCESSOR}" - $<$<BOOL:${FLOAT}>:FLOAT=${FLOAT}> - BUILD_TYPE=${TFLU_BUILD_TYPE} - $<$<BOOL:${TFLU_OPTIMIZATION_LEVEL}>:OPTIMIZATION_LEVEL=${TFLU_OPTIMIZATION_LEVEL}> - CMSIS_PATH=${CMSIS_PATH} - ETHOSU_DRIVER_PATH=${CORE_DRIVER_PATH} - ETHOSU_DRIVER_LIBS=${TFLU_ETHOSU_LIBS} - BYPRODUCTS ${CMAKE_CURRENT_SOURCE_DIR}/tensorflow/tensorflow/lite/micro/tools/make/downloads - WORKING_DIRECTORY ${TENSORFLOW_PATH}) - - set(TFLU_IMPORTED_LIB_PATH "${TFLU_GENDIR}/lib/libtensorflow-microlite.a") -endif() - -# Create library and link library to custom target -add_library(tflu STATIC IMPORTED) -set_property(TARGET tflu PROPERTY IMPORTED_LOCATION "${TFLU_IMPORTED_LIB_PATH}") -add_dependencies(tflu tflu_gen) -target_include_directories(tflu INTERFACE - ${TENSORFLOW_PATH}) -target_compile_options(tflu INTERFACE - -I${TENSORFLOW_PATH}/tensorflow/lite/micro/tools/make/downloads/flatbuffers/include) -target_compile_definitions(tflu INTERFACE TF_LITE_MICRO TF_LITE_STATIC_MEMORY) - -if(${TFLU_BUILD_TYPE} STREQUAL "release") - target_compile_definitions(tflu INTERFACE TF_LITE_STRIP_ERROR_STRINGS) -endif() - -if(CORE_SOFTWARE_ACCELERATOR STREQUAL NPU) - target_link_libraries(tflu INTERFACE ethosu_core_driver) -endif() - -# Install libraries and header files -get_target_property(TFLU_IMPORTED_LOCATION tflu IMPORTED_LOCATION) -install(FILES ${TFLU_IMPORTED_LOCATION} DESTINATION "lib") |