-
Notifications
You must be signed in to change notification settings - Fork 3k
mbed_app.json update does not mark build as dirty #2073
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
cc @bogdanm |
Interesting, thank you. Currently, So, to recap, there are two ways to change this:
Short term, 1 will work, but I'm wondering if 2 might be a better solution long term. @screamerbg @sg-, thoughts? |
I was thinking about 2nd previously as --preinclude is convenient, but we found few shortcomings (iar asm preinclude as an example). The biggest disadvantage of the 2nd option is that we would need to add ìnclusion of I would go for 2nd. Include it in the |
@theotherjimmy: that sounds just about right to me. To recap:
|
@theotherjimmy: let me know if you're already working on this; if not, I'll implement it. |
@bogdanm I have not started yet, I got sidetracked. |
OK, thank you. I'll work on this then. |
This commit address the issue presented in #2073. Previously, mbed_config.h was automatically included by the toolchain. With this change, all the sources that need "mbed_config.h" need to include it manually. However, "mbed.h" now includes "mbed_config.h", so configuration data is automatically available to sources that include "mbed.h". With this change, even if there's no configuration data in the project being built, an empty "mbed_config.h" is generated by the build system. This change looks big, but most of it is an almost complete reversal of #1975. This is likely a breaking change, and needs to be properly communicated.
This commit adds a check for configuration data changes. If a change in configuration data is detected, all the sources in the tree are rebuilt. This is a fix for #2073. #2162 was originally proposed as a fix, but it was agreed that `--preinclude` is a more convenient way to include configuration data, since it can be used to change the behaviour of source files that don't include "mbed_config.h" directly, which is a big advantage when importing 3rd party source trees. Compared to #2162, this commit has the disadvantage of rebuilding all the source files if a configuration change is detected, but it was agreed that the advantage of using `--preinclude` outweighs the disadvantage of the increased compilation time.
ARM Internal Ref: IOTMORF-147 |
Closing as it looks like #2177 fixed this. |
mbed_app.json
Expected: project gets rebuild
Actual: project does not rebuild. Need manually clean for changes to be picked up.
The text was updated successfully, but these errors were encountered: