summaryrefslogtreecommitdiff
path: root/scripts/cmake/cmsis-pack-gen/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/cmake/cmsis-pack-gen/CMakeLists.txt')
-rw-r--r--scripts/cmake/cmsis-pack-gen/CMakeLists.txt53
1 files changed, 53 insertions, 0 deletions
diff --git a/scripts/cmake/cmsis-pack-gen/CMakeLists.txt b/scripts/cmake/cmsis-pack-gen/CMakeLists.txt
new file mode 100644
index 0000000..2a25aec
--- /dev/null
+++ b/scripts/cmake/cmsis-pack-gen/CMakeLists.txt
@@ -0,0 +1,53 @@
+#----------------------------------------------------------------------------
+# Copyright (c) 2022 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
+#
+# http://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.
+#----------------------------------------------------------------------------
+
+#########################################################
+# This CMake project just consolidates all APIs to help #
+# generate CMSIS-pack from this repository. Projects #
+# that need to be included in the pack, should be added #
+# here along with their dependencies. #
+#########################################################
+
+cmake_minimum_required(VERSION 3.15.6)
+
+project(ml-embedded-eval-kit-api
+ DESCRIPTION "Platform agnostic API for all examples.")
+
+set(SOURCE_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../source)
+
+set(LOGGING_PROJECT_DIR ${SOURCE_ROOT}/log)
+set(ARM_MATH_PROJECT_DIR ${SOURCE_ROOT}/math)
+set(API_COMMON_PROJECT_DIR ${SOURCE_ROOT}/application/api/common)
+set(API_UC_PROJECT_DIR ${SOURCE_ROOT}/application/api/use_case)
+
+# Add dependencies first:
+if (NOT TARGET arm_math)
+ add_subdirectory(${ARM_MATH_PROJECT_DIR} ${CMAKE_BINARY_DIR}/math)
+endif()
+
+if (NOT TARGET log)
+ add_subdirectory(${LOGGING_PROJECT_DIR} ${CMAKE_BINARY_DIR}/log)
+endif()
+
+# Add common part and the APIs:
+add_subdirectory(${API_COMMON_PROJECT_DIR} ${CMAKE_BINARY_DIR}/common)
+
+file(GLOB UC_API_LIST "${API_UC_PROJECT_DIR}/*")
+
+foreach(API ${UC_API_LIST})
+ add_subdirectory(${API} ${CMAKE_BINARY_DIR}/${API})
+endforeach()