CMake User Applications selection
Update documentation about building a new application and add instructions to add the app in CMake files.
This commit is contained in:
parent
e00b98b82c
commit
f2996f54a8
|
@ -59,7 +59,7 @@ and then the function `create` is called to create an instance of the app.
|
|||
|
||||
The list of user applications is generated at build time by the `consteval` function `CreateAppDescriptions()`
|
||||
in `UserApps.h`. This method takes the list of applications that must be built into the firmware image.
|
||||
This list of applications is defined as a list `Apps` enum values named `UserAppTypes` in `Apps.h`.
|
||||
This list of applications is defined as a list `Apps` enum values named `UserAppTypes` in `Apps.h`.
|
||||
For each application listed in `UserAppTypes`, an entry of type `AppDescription` is added to the array `userApps`.
|
||||
This entry is created by using the information provided by a template `AppTraits`
|
||||
that is customized for every user application.
|
||||
|
@ -159,6 +159,24 @@ If your application is a **user** application, you don't need to add anything in
|
|||
everything will be automatically generated for you.
|
||||
The user application will also be automatically be added to the app launcher menu.
|
||||
|
||||
Since the list of **user** application is generated by CMake, add a new `option` in the main [CMakeLists.txt file](../../CMakeLists.txt). The application will be built by default if the value is set to `True`. :
|
||||
|
||||
```cmake
|
||||
option(ENABLE_APP_MYAPP "Enable the MyApp application" True)
|
||||
```
|
||||
|
||||
The default value can be overridden by passing an additional parameter to the command line of CMake :
|
||||
|
||||
```cmake
|
||||
$ cmake ... -DENABLE_APP_MYAPP=True ...
|
||||
```
|
||||
|
||||
Then add your **user app** to the list of apps by calling `AddToListIfEnabled()` :
|
||||
|
||||
```cmake
|
||||
AddToListIfEnabled(USERAPP_TYPES_LIST ${ENABLE_APP_MYAPP} "Apps::MyApp")
|
||||
```
|
||||
|
||||
You should now be able to [build](../buildAndProgram.md) the firmware
|
||||
and flash it to your PineTime. Yay!
|
||||
|
||||
|
|
Loading…
Reference in a new issue