# SPDX-License-Identifier: MIT # Copyright (c) 2023 John Watts and the LuminaSensum contributors cmake_minimum_required(VERSION 3.25) # Initialize Mbed OS build system set(MBED_TARGET "DISCO_F769NI") set(MBED_APP_JSON_PATH mbed_app.json) include(mbed-os/tools/cmake/app.cmake) add_subdirectory(mbed-os) # Globally enable some compiler sanity add_compile_options(-fwrapv -fno-strict-aliasing -fsigned-char) # Create BSP project project(STBSP) file(GLOB BSP_FILES "${PROJECT_SOURCE_DIR}/BSP/*.c") add_library(STBSP STATIC ${BSP_FILES}) target_link_libraries(STBSP PRIVATE mbed-os) target_include_directories(STBSP PUBLIC "${PROJECT_SOURCE_DIR}/BSP") # Create Tardis project project(Tardis) file(GLOB SRC_FILES "${PROJECT_SOURCE_DIR}/src/*.cpp") add_executable(Tardis ${SRC_FILES}) target_include_directories(Tardis PRIVATE "${PROJECT_SOURCE_DIR}/include") target_link_libraries(Tardis PRIVATE mbed-os mbed-storage-qspif mbed-usb-msd mbed-storage-littlefs-v2 STBSP) target_compile_options(Tardis PRIVATE -Wall -Wextra -Wpedantic -Werror) mbed_set_post_build(Tardis) mbed_finalize_build()