CMake: Add information about the current state of support (#13551)

pull/13566/head
Martin Kojtal 2020-09-07 16:00:30 +01:00 committed by Hugues Kamba
parent 30ec7fa901
commit 18cb55a457
1 changed files with 55 additions and 0 deletions

55
cmake/README.md Normal file
View File

@ -0,0 +1,55 @@
## CMake for Mbed OS
Until further notice, CMake for Mbed OS is still in development.
Application profile selection (`bare metal` or `full`), printf library selection (`minimal-printf` or `std`), C library selection (`small` or `std`) and other features that require altering compiler/linker command line options are not yet supported.
The full profile with the standard printf and C library are selected by default.
### Supported targets
Only a limited set of targets is supported at the moment.
These targets should work:
- K64F
- DISCO_L475VG_IOT01A
- NRF52840_DK
- WIO_3G
- K66F
### Supported toolchains
Arm Compiler 6 and GNU Arm Embedded toolchains are supported.
### Examples
Supported examples can be identified by the presence of a top level `CMakelists.txt` input source file.
### Known issues
- ARMClang6: the assembler does not include definitions. It will be fixed in the upcoming release (>3.18.2). Reference: https://gitlab.kitware.com/cmake/cmake/-/issues/21148#note_823305
- Ninja: ARMClang6 response files require unix paths on Windows. Reference: https://gitlab.kitware.com/cmake/cmake/-/issues/21093
## How to build an application
Prerequisities:
- CMake >=3.18.2
- mbed-tools >=3.2.0
From the application root or wherever `mbed-os.lib` is found:
1. Run the following command to create the Mbed OS configuration CMake module:
```
mbedtools configure -m <mbed-target> -t <toolchain>
```
1. Run the following command to create a build directory, generate the project configuration and build the project using `Ninja`:
```
mkdir build && cd build && cmake .. -GNinja && cmake --build .
```
The default build type is `Develop`. Use `CMAKE_BUILD_TYPE` to select `Develop`, `Release` or `Debug` as follows:
```
cmake .. -GNinja -DCMAKE_BUILD_TYPE=<supported-build-type> && cmake --build .
```