summaryrefslogtreecommitdiff
path: root/fw/btl
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2025-04-05 11:10:12 +0200
committerxengineering <me@xengineering.eu>2025-04-05 15:33:09 +0200
commit82fa02bcac5e278586cb2e3c9cc597699f6f640d (patch)
tree4a6bfc82f3f94fadd7c3717633203ed64e1f0495 /fw/btl
parent00189e737517f4470336d819d52327a037509493 (diff)
downloadiot-contact-82fa02bcac5e278586cb2e3c9cc597699f6f640d.tar
iot-contact-82fa02bcac5e278586cb2e3c9cc597699f6f640d.tar.zst
iot-contact-82fa02bcac5e278586cb2e3c9cc597699f6f640d.zip
fw: btl: Configure bootloader build with Meson
CMake ExternalProject creates a pretty confusing build tree. Since the rest of the project anyway starts moving to Meson the bootloader is configured via Meson as a first step.
Diffstat (limited to 'fw/btl')
-rwxr-xr-xfw/btl/configure.sh14
-rw-r--r--fw/btl/meson.build16
2 files changed, 30 insertions, 0 deletions
diff --git a/fw/btl/configure.sh b/fw/btl/configure.sh
new file mode 100755
index 0000000..87df3d2
--- /dev/null
+++ b/fw/btl/configure.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+
+set -eufx
+
+
+cmake \
+ "-S$1" \
+ "-B$2" \
+ "-DBOARD=$3" \
+ "-DZEPHYR_BASE=$4" \
+ "-DZEPHYR_MODULES=${5}" \
+ "-DEXTRA_CONF_FILE=${6}" \
+ "-DCONFIG_BOOT_SIGNATURE_KEY_FILE=\"${7}\""
diff --git a/fw/btl/meson.build b/fw/btl/meson.build
new file mode 100644
index 0000000..fd6562e
--- /dev/null
+++ b/fw/btl/meson.build
@@ -0,0 +1,16 @@
+bootloader_config = meson.current_source_dir() / 'bootloader.conf'
+
+external_project = import('unstable-external_project')
+bootloader_bin = meson.current_build_dir() / 'zephyr' / 'zephyr.bin'
+bootloader_project = external_project.add_project('configure.sh',
+ configure_options: [
+ bootloader_firmware,
+ meson.current_build_dir(),
+ board,
+ zephyr,
+ ';'.join(zephyr_modules),
+ bootloader_config,
+ signing_key,
+ ],
+ verbose: true,
+)