Enhance the example-application repository with a configurable,
trivial library example and associated test cases.
.
This implementation appears to make no assumptions.
.
This implementation was verified by running the following commands
in an example-application workspace and verifying all tests passed.
1. `west build -b native_posix -p always example-application/tests/lib/custom_lib/`
2. `./build/zephyr/zephyr.exe`
3. `west build -b native_posix -p always example-application/tests/lib/custom_lib/ -- -DCONFIG_CUSTOM_LIB_GET_VALUE_DEFAULT=6`
4. `./build/zephyr/zephyr.exe`
5. `zephyr/scripts/twister -T example-application/tests/ \
-p qemu_cortex_m0`
6. `cd zephyr/doc && make clean && make` built cleanly.
.
Note that `twister` does not follow the `zephyr/module.yml:tests`
setting to discover tests in modules, so the testcase-root must be
explicitly provided.
Fixes#35177
Signed-off-by: Gregory Shue <gregory.shue@legrand.us>
Create lib subsystem with empty Kconfig menu, subsystem build file.
Updated top-level build and documentation to include subsystem.
This was created to provide an example of how the `lib/` directory
can be connected to the Zephyr build system through `module.yml`,
and so that CI can verify that the extension settings used here
work with these sub-trees.
.
The approach follows the pattern of paralleling the Zephyr tree.
An empty subsystem was implemented rather than a non-empty one
in order to isolate the core changes from any specific library.
This provides a clean reference for users.
.
It was assumed that some users will want to strip out the `lib/`
subsystem separate from existing subsystems, and vice versa.
.
This was verified by:
- visually verifying a clean build of:
`west build -b custom_plank -p always example-application/app/`
- visually verifying the subsystem appeared in the correct
location in a clean build of:
`west build -b custom_plank -p always example-application/app/`
Signed-off-by: Gregory Shue <gregory.shue@legrand.us>