MLECO-3747: Minor changes to Catch2 inclusion

Catch2, included for tests on native target, is now added
using FetchContent to download it at configuration stage.
Minor improvements added to prevent name clashes if this
project is used as a submodule in other projects where
Catch2 is already a named dependency/target.

Change-Id: I6f0ff02704e54a5c4cefe499ac80d434cf89b463
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
diff --git a/scripts/cmake/toolchains/toolchain-preset.json b/scripts/cmake/toolchains/toolchain-preset.json
index 30b5366..19ea6f8 100644
--- a/scripts/cmake/toolchains/toolchain-preset.json
+++ b/scripts/cmake/toolchains/toolchain-preset.json
@@ -7,9 +7,18 @@
     },
     "configurePresets": [
         {
+            "name": "source-dir",
+            "description": "Sets the root of the ml-embedded-eval-kit repo. This should be overridden if this repo is used as a submodule/dependency.",
+            "hidden": true,
+            "environment": {
+                "MLEK_BASE_DIR": "${sourceDir}/"
+            }
+        },
+        {
             "name": "gcc-toolchain",
             "description": "Use gcc toolchain.",
             "hidden": true,
+            "inherits": ["source-dir"],
             "cacheVariables": {
                 "CMAKE_TOOLCHAIN_FILE": {
                     "type": "STRING",
@@ -21,6 +30,7 @@
             "name": "armclang-toolchain",
             "description": "Use armclang toolchain.",
             "hidden": true,
+            "inherits": ["source-dir"],
             "cacheVariables": {
                 "CMAKE_TOOLCHAIN_FILE": {
                     "type": "STRING",
@@ -32,6 +42,7 @@
             "name": "native-toolchain",
             "description": "Use native toolchain.",
             "hidden": true,
+            "inherits": ["source-dir"],
             "cacheVariables": {
                 "CMAKE_TOOLCHAIN_FILE": {
                     "type": "STRING",