summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksims Svecovs <maksims.svecovs@arm.com>2022-09-28 14:43:07 +0100
committerMaksims Svecovs <maksims.svecovs@arm.com>2022-09-28 16:40:23 +0100
commit45488504483793195947a200f59527432ad5b31a (patch)
tree682f55af4bf77c1f340daa8d390c9bb78fcbb82e
parent9d329f41b325e4c711c796e5b9bd9b3d8c08324d (diff)
downloadml-embedded-evaluation-kit-45488504483793195947a200f59527432ad5b31a.tar.gz
MLECO-3518: Separates CMakePrests
Separates CMakePresets to respective. Adds options preset file with log-level and single-input for use-cases. Adds use-case file with base build preset with all the targets. Adds a configurable targets to all build presets. Adds additional config/build preset to show-off options-presets. Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com> Change-Id: Id82ce9c5b8d7cc48b80d784141dc22efa2690222
-rw-r--r--CMakePresets.json328
-rw-r--r--scripts/cmake/options-preset.json71
-rw-r--r--scripts/cmake/platforms/platforms-preset.json62
-rw-r--r--scripts/cmake/toolchains/toolchain-preset.json43
-rw-r--r--source/use_case/usecase-preset.json27
5 files changed, 339 insertions, 192 deletions
diff --git a/CMakePresets.json b/CMakePresets.json
index 819dd01..3500329 100644
--- a/CMakePresets.json
+++ b/CMakePresets.json
@@ -1,195 +1,139 @@
{
- "version": 3,
- "cmakeMinimumRequired": {
- "major": 3,
- "minor": 21,
- "patch": 0
+ "version": 4,
+ "cmakeMinimumRequired": {
+ "major": 3,
+ "minor": 23,
+ "patch": 0
+ },
+ "include": [
+ "scripts/cmake/options-preset.json",
+ "scripts/cmake/platforms/platforms-preset.json",
+ "scripts/cmake/toolchains/toolchain-preset.json",
+ "source/use_case/usecase-preset.json"
+ ],
+ "configurePresets": [
+ {
+ "name": "simple-gcc",
+ "displayName": "simple-gcc",
+ "description": "Target simple platform build with bare-metal gcc toolchain.",
+ "inherits": [
+ "simple-platform",
+ "gcc-toolchain"
+ ]
},
- "configurePresets": [
- {
- "name": "base",
- "description": "Base configuration, sets build directory.",
- "hidden": true,
- "generator": "Unix Makefiles"
- },
- {
- "name": "gcc-toolchain",
- "description": "Use gcc toolchain.",
- "hidden": true,
- "cacheVariables": {
- "CMAKE_TOOLCHAIN_FILE": {
- "type": "STRING",
- "value": "${sourceDir}/scripts/cmake/toolchains/bare-metal-gcc.cmake"
- }
- }
- },
- {
- "name": "armclang-toolchain",
- "description": "Use armclang toolchain.",
- "hidden": true,
- "cacheVariables": {
- "CMAKE_TOOLCHAIN_FILE": {
- "type": "STRING",
- "value": "${sourceDir}/scripts/cmake/toolchains/bare-metal-armclang.cmake"
- }
- }
- },
- {
- "name": "mps3-300",
- "description": "Target mps3 board, SSE-300 subsystem.",
- "hidden": true,
- "cacheVariables": {
- "TARGET_PLATFORM": {
- "type": "STRING",
- "value": "mps3"
- },
- "TARGET_SUBSYSTEM": {
- "type": "STRING",
- "value": "sse-300"
- }
- }
- },
- {
- "name": "mps3-310",
- "description": "Target mps3 board, SSE-310 subsystem.",
- "hidden": true,
- "cacheVariables": {
- "TARGET_PLATFORM": {
- "type": "STRING",
- "value": "mps3"
- },
- "TARGET_SUBSYSTEM": {
- "type": "STRING",
- "value": "sse-310"
- }
- }
- },
- {
- "name": "simple-platform",
- "description": "Target simple platform.",
- "hidden": true,
- "cacheVariables": {
- "TARGET_PLATFORM": {
- "type": "STRING",
- "value": "simple_platform"
- }
- }
- },
- {
- "name": "simple-gcc",
- "displayName": "simple-gcc",
- "description": "Target simple platform build with bare-metal gcc toolchain.",
- "inherits": [
- "base",
- "simple-platform",
- "gcc-toolchain"
- ]
- },
- {
- "name": "simple-clang",
- "displayName": "simple-armclang",
- "description": "Target simple platform build with bare-metal armclang toolchain.",
- "inherits": [
- "base",
- "simple-platform",
- "armclang-toolchain"
- ]
- },
- {
- "name": "mps3-300-gcc",
- "displayName": "mps3-300-gcc",
- "description": "Target mps3 board, SSE-300 subsystem with bare-metal gcc toolchain.",
- "inherits": [
- "base",
- "mps3-300",
- "gcc-toolchain"
- ]
- },
- {
- "name": "mps3-300-clang",
- "displayName": "mps3-300-armclang",
- "description": "Target mps3 board, SSE-300 subsystem with bare-metal armclang toolchain.",
- "inherits": [
- "base",
- "mps3-300",
- "armclang-toolchain"
- ]
- },
- {
- "name": "mps3-310-gcc",
- "displayName": "mps3-310-gcc",
- "description": "Target mps3 board, SSE-310 subsystem with bare-metal gcc toolchain.",
- "inherits": [
- "base",
- "mps3-310",
- "gcc-toolchain"
- ]
- },
- {
- "name": "mps3-310-clang",
- "displayName": "mps3-310-armclang",
- "description": "Target mps3 board, SSE-310 subsystem with bare-metal armclang toolchain.",
- "inherits": [
- "base",
- "mps3-310",
- "armclang-toolchain"
- ]
- },
- {
- "name": "native",
- "inherits": [
- "base"
- ],
- "displayName": "native",
- "description": "Target native system.",
- "cacheVariables": {
- "TARGET_PLATFORM": {
- "type": "STRING",
- "value": "native"
- },
- "CMAKE_TOOLCHAIN_FILE": {
- "type": "STRING",
- "value": "${sourceDir}/scripts/cmake/toolchains/native-gcc.cmake"
- }
- }
- }
- ],
- "buildPresets": [
- {
- "name": "native",
- "configurePreset": "native"
- },
- {
- "name": "mps3-300-gcc",
- "configurePreset": "mps3-300-gcc"
- },
- {
- "name": "mps3-300-clang",
- "configurePreset": "mps3-300-clang"
- },
- {
- "name": "mps3-310-gcc",
- "configurePreset": "mps3-310-gcc"
- },
- {
- "name": "mps3-310-clang",
- "configurePreset": "mps3-310-clang"
- },
- {
- "name": "simple-gcc",
- "configurePreset": "simple-gcc"
- },
- {
- "name": "simple-clang",
- "configurePreset": "simple-clang"
- }
- ],
- "testPresets": [
- {
- "name": "native-tests",
- "description": "native tests",
- "displayName": "Run native tests.",
- "configurePreset": "native"
- }
- ]
+ {
+ "name": "simple-clang",
+ "displayName": "simple-armclang",
+ "description": "Target simple platform build with bare-metal armclang toolchain.",
+ "inherits": [
+ "simple-platform",
+ "armclang-toolchain"
+ ]
+ },
+ {
+ "name": "mps3-300-gcc",
+ "displayName": "mps3-300-gcc",
+ "description": "Target mps3 board, SSE-300 subsystem with bare-metal gcc toolchain.",
+ "inherits": [
+ "mps3-300-platform",
+ "gcc-toolchain"
+ ]
+ },
+ {
+ "name": "mps3-300-clang",
+ "displayName": "mps3-300-armclang",
+ "description": "Target mps3 board, SSE-300 subsystem with bare-metal armclang toolchain.",
+ "inherits": [
+ "mps3-300-platform",
+ "armclang-toolchain"
+ ]
+ },
+ {
+ "name": "mps3-310-gcc",
+ "displayName": "mps3-310-gcc",
+ "description": "Target mps3 board, SSE-310 subsystem with bare-metal gcc toolchain.",
+ "inherits": [
+ "mps3-310-platform",
+ "gcc-toolchain"
+ ]
+ },
+ {
+ "name": "mps3-310-clang",
+ "displayName": "mps3-310-armclang",
+ "description": "Target mps3 board, SSE-310 subsystem with bare-metal armclang toolchain.",
+ "inherits": [
+ "mps3-310-platform",
+ "armclang-toolchain"
+ ]
+ },
+ {
+ "name": "native",
+ "displayName": "native",
+ "description": "Target native system.",
+ "inherits": [
+ "native-platform",
+ "native-toolchain"
+ ]
+ },
+ {
+ "name": "mps3-300-gcc-custom",
+ "displayName": "mps3-300-gcc-custom",
+ "description": "mps3-300-gcc with debug enabled, default option for inference.",
+ "inherits": [
+ "mps3-300-gcc",
+ "log-debug",
+ "single-input"
+ ]
+ }
+ ],
+ "buildPresets": [
+ {
+ "name": "native",
+ "configurePreset": "native",
+ "inherits": "usecase-targets"
+ },
+ {
+ "name": "mps3-300-gcc",
+ "configurePreset": "mps3-300-gcc",
+ "inherits": "usecase-targets"
+ },
+ {
+ "name": "mps3-300-gcc-custom",
+ "configurePreset": "mps3-300-gcc-custom",
+ "inherits": "usecase-targets"
+ },
+ {
+ "name": "mps3-300-clang",
+ "configurePreset": "mps3-300-clang",
+ "inherits": "usecase-targets"
+ },
+ {
+ "name": "mps3-310-gcc",
+ "configurePreset": "mps3-310-gcc",
+ "inherits": "usecase-targets"
+ },
+ {
+ "name": "mps3-310-clang",
+ "configurePreset": "mps3-310-clang",
+ "inherits": "usecase-targets"
+ },
+ {
+ "name": "simple-gcc",
+ "configurePreset": "simple-gcc",
+ "inherits": "usecase-targets"
+ },
+ {
+ "name": "simple-clang",
+ "configurePreset": "simple-clang",
+ "inherits": "usecase-targets"
+ }
+ ],
+ "testPresets": [
+ {
+ "name": "native-tests",
+ "description": "native tests",
+ "displayName": "Run native tests.",
+ "configurePreset": "native"
+ }
+ ]
}
diff --git a/scripts/cmake/options-preset.json b/scripts/cmake/options-preset.json
new file mode 100644
index 0000000..57b7a7d
--- /dev/null
+++ b/scripts/cmake/options-preset.json
@@ -0,0 +1,71 @@
+{
+ "version": 4,
+ "cmakeMinimumRequired": {
+ "major": 3,
+ "minor": 23,
+ "patch": 0
+ },
+ "configurePresets": [
+ {
+ "name": "log-trace",
+ "hidden": true,
+ "cacheVariables": {
+ "LOG_LEVEL": {
+ "type": "STRING",
+ "value": "LOG_LEVEL_TRACE"
+ }
+ }
+ },
+ {
+ "name": "log-debug",
+ "hidden": true,
+ "cacheVariables": {
+ "LOG_LEVEL": {
+ "type": "STRING",
+ "value": "LOG_LEVEL_DEBUG"
+ }
+ }
+ },
+ {
+ "name": "log-info",
+ "hidden": true,
+ "cacheVariables": {
+ "LOG_LEVEL": {
+ "type": "STRING",
+ "value": "LOG_LEVEL_INFO"
+ }
+ }
+ },
+ {
+ "name": "log-warning",
+ "hidden": true,
+ "cacheVariables": {
+ "LOG_LEVEL": {
+ "type": "STRING",
+ "value": "LOG_LEVEL_WARN"
+ }
+ }
+ },
+ {
+ "name": "log-error",
+ "hidden": true,
+ "cacheVariables": {
+ "LOG_LEVEL": {
+ "type": "STRING",
+ "value": "LOG_LEVEL_ERROR"
+ }
+ }
+ },
+ {
+ "name": "single-input",
+ "hidden": true,
+ "description": "Use single default input data for each use case.",
+ "cacheVariables": {
+ "USE_SINGLE_INPUT": {
+ "type": "BOOL",
+ "value": "TRUE"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/scripts/cmake/platforms/platforms-preset.json b/scripts/cmake/platforms/platforms-preset.json
new file mode 100644
index 0000000..7a96d7a
--- /dev/null
+++ b/scripts/cmake/platforms/platforms-preset.json
@@ -0,0 +1,62 @@
+{
+ "version": 4,
+ "cmakeMinimumRequired": {
+ "major": 3,
+ "minor": 23,
+ "patch": 0
+ },
+ "configurePresets": [
+ {
+ "name": "mps3-300-platform",
+ "description": "Target mps3 board, SSE-300 subsystem.",
+ "hidden": true,
+ "cacheVariables": {
+ "TARGET_PLATFORM": {
+ "type": "STRING",
+ "value": "mps3"
+ },
+ "TARGET_SUBSYSTEM": {
+ "type": "STRING",
+ "value": "sse-300"
+ }
+ }
+ },
+ {
+ "name": "mps3-310-platform",
+ "description": "Target mps3 board, SSE-310 subsystem.",
+ "hidden": true,
+ "cacheVariables": {
+ "TARGET_PLATFORM": {
+ "type": "STRING",
+ "value": "mps3"
+ },
+ "TARGET_SUBSYSTEM": {
+ "type": "STRING",
+ "value": "sse-310"
+ }
+ }
+ },
+ {
+ "name": "simple-platform",
+ "description": "Target simple platform.",
+ "hidden": true,
+ "cacheVariables": {
+ "TARGET_PLATFORM": {
+ "type": "STRING",
+ "value": "simple_platform"
+ }
+ }
+ },
+ {
+ "name": "native-platform",
+ "description": "Target native platform.",
+ "hidden": true,
+ "cacheVariables": {
+ "TARGET_PLATFORM": {
+ "type": "STRING",
+ "value": "native"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/scripts/cmake/toolchains/toolchain-preset.json b/scripts/cmake/toolchains/toolchain-preset.json
new file mode 100644
index 0000000..728547f
--- /dev/null
+++ b/scripts/cmake/toolchains/toolchain-preset.json
@@ -0,0 +1,43 @@
+{
+ "version": 4,
+ "cmakeMinimumRequired": {
+ "major": 3,
+ "minor": 23,
+ "patch": 0
+ },
+ "configurePresets": [
+ {
+ "name": "gcc-toolchain",
+ "description": "Use gcc toolchain.",
+ "hidden": true,
+ "cacheVariables": {
+ "CMAKE_TOOLCHAIN_FILE": {
+ "type": "STRING",
+ "value": "${sourceDir}/scripts/cmake/toolchains/bare-metal-gcc.cmake"
+ }
+ }
+ },
+ {
+ "name": "armclang-toolchain",
+ "description": "Use armclang toolchain.",
+ "hidden": true,
+ "cacheVariables": {
+ "CMAKE_TOOLCHAIN_FILE": {
+ "type": "STRING",
+ "value": "${sourceDir}/scripts/cmake/toolchains/bare-metal-armclang.cmake"
+ }
+ }
+ },
+ {
+ "name": "native-toolchain",
+ "description": "Use native toolchain.",
+ "hidden": true,
+ "cacheVariables": {
+ "CMAKE_TOOLCHAIN_FILE": {
+ "type": "STRING",
+ "value": "${sourceDir}/scripts/cmake/toolchains/native-gcc.cmake"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/source/use_case/usecase-preset.json b/source/use_case/usecase-preset.json
new file mode 100644
index 0000000..330fc10
--- /dev/null
+++ b/source/use_case/usecase-preset.json
@@ -0,0 +1,27 @@
+{
+ "version": 4,
+ "cmakeMinimumRequired": {
+ "major": 3,
+ "minor": 23,
+ "patch": 0
+ },
+ "buildPresets": [
+ {
+ "name": "usecase-targets",
+ "description": "Base preset for specifying use-case targets in build presets.",
+ "hidden": true,
+ "targets": [
+ "all",
+ "ethos-u-ad",
+ "ethos-u-asr",
+ "ethos-u-img_class",
+ "ethos-u-inference_runner",
+ "ethos-u-kws_asr",
+ "ethos-u-kws",
+ "ethos-u-noise_reduction",
+ "ethos-u-object_detection",
+ "ethos-u-vww"
+ ]
+ }
+ ]
+} \ No newline at end of file