diff options
author | Maksims Svecovs <maksims.svecovs@arm.com> | 2022-08-03 16:39:35 +0100 |
---|---|---|
committer | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2022-08-05 12:49:41 +0000 |
commit | f24f17d9b85343f97ffa59ed2ae581ac6ee8607d (patch) | |
tree | 566682d244f31caf061a6086ac186490d574bd82 /CMakePresets.json | |
parent | e7113b22146b3c37662288aeba98cad7e412f207 (diff) | |
download | ml-embedded-evaluation-kit-f24f17d9b85343f97ffa59ed2ae581ac6ee8607d.tar.gz |
MLECO-3232: Add basic cmake presets
Assuming cmake 3.21 adds basic configuration and build presets:
* Target mps3 board with gcc
* Target mps3 board with armclang
* Target simple platform with gcc
* Target simple platform with armclang
* Target native build system
Adds test preset for native build to run default ctests.
Adds respective doc section to building instructions.
Note: hidden configurationPresets are to be moved to respective project
directories once cmake 3.24 is supported in the codebase and preset
include is supported.
Note: it is encouraged to create a personal CMakeUserPresets.json with
personal preferences like specific `LOG_LEVEL` and `jobs` for faster
compilation time.
Usage example:
cmake --preset=mps3-gcc
Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: I07a8861ed91160cc3f5167e16be45a921b60a285
Diffstat (limited to 'CMakePresets.json')
-rw-r--r-- | CMakePresets.json | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000..491a245 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,196 @@ +{ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 21, + "patch": 0 + }, + "configurePresets": [ + { + "name": "base", + "description": "Base configuration, sets build directory.", + "hidden": true, + "generator": "Unix Makefiles", + "binaryDir": "${sourceDir}/build-${presetName}" + }, + { + "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" + } + ] +}
\ No newline at end of file |