Drive mbed config processing from CMake
- 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
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