diff options
Diffstat (limited to 'Drivers/CMSIS/NN/Source/CMakeLists.txt')
-rw-r--r-- | Drivers/CMSIS/NN/Source/CMakeLists.txt | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/Drivers/CMSIS/NN/Source/CMakeLists.txt b/Drivers/CMSIS/NN/Source/CMakeLists.txt new file mode 100644 index 0000000..4150df3 --- /dev/null +++ b/Drivers/CMSIS/NN/Source/CMakeLists.txt @@ -0,0 +1,98 @@ +# +# Copyright (c) 2019-2021 Arm Limited. +# +# 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. +# + +SET(ROOT ${CMSIS_PATH}) + +# Select which parts of the CMSIS-DSP must be compiled. +# There are some dependencies between the parts but they are not tracked +# by this cmake. So, enabling some functions may require to enable some +# other ones. +option(CONCATENATION "Concatenation" ON) +option(FULLYCONNECTED "Fully Connected" ON) +option(CONVOLUTION "Convolutions" ON) +option(ACTIVATION "Activations" ON) +option(POOLING "Pooling" ON) +option(SOFTMAX "Softmax" ON) +option(BASICMATHSNN "Basic Maths for NN" ON) +option(RESHAPE "Reshape" ON) +option(SVDF "SVDF" ON) + +# When OFF it is the default behavior : all tables are included. +option(NNSUPPORT "NN Support" ON) + + +########################### +# +# CMSIS NN +# +########################### + +# NN Sources +SET(NN ${ROOT}/CMSIS/NN) + +list(APPEND CMAKE_MODULE_PATH ${NN}/Source) + +add_library(cmsis-nn STATIC) + +target_compile_options(cmsis-nn PRIVATE -Ofast) + +### Includes +target_include_directories(cmsis-nn PUBLIC "${NN}/Include") +target_include_directories(cmsis-nn PUBLIC "${ROOT}/CMSIS/Core/Include") +target_include_directories(cmsis-nn PUBLIC "${ROOT}/CMSIS/DSP/Include") + +if (BASICMATHSNN) + add_subdirectory(BasicMathFunctions) +endif() + +if (CONCATENATION) + add_subdirectory(ConcatenationFunctions) +endif() + +if (FULLYCONNECTED) + add_subdirectory(FullyConnectedFunctions) +endif() + +if (CONVOLUTION) + add_subdirectory(ConvolutionFunctions) +endif() + +if (ACTIVATION) + add_subdirectory(ActivationFunctions) +endif() + +if (POOLING) + add_subdirectory(PoolingFunctions) +endif() + +if (SOFTMAX) + add_subdirectory(SoftmaxFunctions) +endif() + +if (SVDF) + add_subdirectory(SVDFunctions) +endif() + +if (RESHAPE) + add_subdirectory(ReshapeFunctions) +endif() + +# Keep NNSUPPORT at the end +if (NNSUPPORT) + add_subdirectory(NNSupportFunctions) +endif() |