To avoid conflicts as we expose our CMake list files via CMAKE_MODULE_PATH. Some files already include it, this
aligns the rest of files.
I leave app.cmake as it is - it's user facing and it would be breaking change. We can clean this one for the next major version.
Ensure WICED is included for Mbed targets that require it.
This also removes the need for checking MBED_TARGET_LABELS repeatedly and
allows us to be more flexible in the way we include MBED_TARGET
source in the build.
A side effect of this is it will allow us to support custom targets
without breaking the build for 'standard' targets, as we use CMake's
standard mechanism for adding build rules to the build system, rather
than implementing our own layer of logic to exclude files not needed for
the target being built. Using this approach, if an MBED_TARGET is not
linked to using `target_link_libraries` its source files will not be
added to the build. This means custom target source can be added to the
user's application CMakeLists.txt without polluting the build system
when trying to compile for a standard MBED_TARGET.
Refactor all ST targets to be CMake buildsystem targets. This removes
the need for checking MBED_TARGET_LABELS repeatedly and allows us to be
more flexible in the way we include MBED_TARGET source in the build.
A side effect of this is it will allow us to support custom targets
without breaking the build for 'standard' targets, as we use CMake's
standard mechanism for adding build rules to the build system, rather
than implementing our own layer of logic to exclude files not needed for
the target being built. Using this approach, if an MBED_TARGET is not
linked to using `target_link_libraries` its source files will not be
added to the build. This means custom target source can be added to the
user's application CMakeLists.txt without polluting the build system
when trying to compile for a standard MBED_TARGET.
Add targets subdirectory to high level CMake configuration file and
create new configurations for MCUs and individual targets. Change the
interpreter in the ARM scatter file to armclang, which is required for
CMake. Remove private and public interfaces in emac target
configuration. Ensure that all targets build on the arm gcc compiler and
arm compiler.
* Fix CMake syntax errors
* Fix indentation
* List directories and source files in alpahabetical order with spaces between files located in different directories
* Create STARTUP_FILE variable as done for all other targets
Add configuration files for targets and individual MCUs. Add include
paths and sources to mbed-core link library and specify linker and
startup scripts.
Directories that start with special prefixes (TARGET_, FEATURE_, COMPONENT_) are added to the build based on Mbed target configuration from targets.json instead of calling utility function mbed_add_cmake_directory_if_labels().