ARMmbed / ARMmbed/mbed-tools

Drive mbed config processing from CMake

Open
#266 1 comment 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
49
Forks
32
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
We have a number of issues due to our coupling between mbed-tools configuration processing and the CMake build system. Driving the config processing from CMake would mean mbed-tools wouldn't have to concern itself with such implementation details as "build directory" or "mbed-os-path", which are already known by our CMake build system. This approach also makes it easier for users to only run CMake commands to build mbed-os, as it removes the need for the user to run an `mbed-tools configure` before running CMake.

**Describe the solution you'd like**
Split the config processing module into a separate Python package. Run the config tool from mbed-os CMake where source & build tree locations are available and always correct.

**Describe alternatives you've considered**
Move all config processing to raw CMake without using any python tools, or use an off the shelf config system such as KConfig.

Contributor guide

Open the contributing guide

Research direction

Start by locating the existing config processing module and the `mbed-tools configure` entry point. Then inspect how mbed-os CMake exposes source and build tree locations. Done means config processing is a separate Python package invoked from CMake, without requiring users to run `mbed-tools configure` first.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.