spaxel/firmware/CMakeLists.txt
jedarden f76ab62698 feat(firmware): OTA SHA-256 verification and captive portal URL decoding
- Add git-based version header generation for firmware builds
- Implement SHA-256 hash verification for OTA downloads with mbedtls
- Add URL decoding for captive portal form parsing (spaces, special chars)
- Add mbedtls dependency for SHA-256 verification

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 19:56:11 -04:00

32 lines
813 B
CMake

cmake_minimum_required(VERSION 3.16)
# SPAXEL ESP32-S3 Firmware
# WiFi CSI-based indoor positioning node
# Get version from git tags, fallback to 0.1.0
execute_process(
COMMAND git describe --tags --dirty 2>/dev/null
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE GIT_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
if(GIT_VERSION)
set(PROJECT_VERSION "${GIT_VERSION}")
else()
set(PROJECT_VERSION "0.1.0")
endif()
message(STATUS "Building SPAXEL firmware version: ${PROJECT_VERSION}")
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(spaxel-firmware VERSION "${PROJECT_VERSION}")
# Generate version header
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/main/version.h.in
${CMAKE_CURRENT_BINARY_DIR}/spaxel-firmware/main/version.h
@ONLY
)