Skip to content
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

boilerplate.cmake parses shield list vs multiple board root locations incorrectly #1488

Closed
Percentnineteen opened this issue Oct 11, 2022 · 2 comments
Labels
bug Something isn't working user configs

Comments

@Percentnineteen
Copy link

While building nice_view along with an oled-enabled board that was defined in my user config area, the build process threw an error about having spi and i2c configured simultaneously. I root caused the issue to boilerplate.cmake.

Boilerplate.cmake seems to follow this basic methodology:

  1. foreach board root:
  2. foreach shield:
  3. if shield is found, append a bunch of stuff to a bunch of lists

What happens this way is the dtsi for nice_view_adapter and nice_view are read before the dtsi for the keyboard shield

I locally modified boilerplate.cmake to fix the issue (maybe not optimally). I've attached a patch. I would have issued a pr but wasn't exactly sure how to navigate the hierarchy of git repos for this particular file.
patch.txt

@caksoylar caksoylar added bug Something isn't working user configs labels Jun 11, 2023
@caksoylar
Copy link
Contributor

I think this would be pretty nice to fix, it frequently causes headaches with custom shields in user config repos, where there are various issues with the build ordering when trying to add nice_view_adapter and nice_view shields to them. There is a PR by @Percentnineteen in the Zephyr repo for it: zmkfirmware/zephyr#24

@petejohanson
Copy link
Contributor

Please try again, as I've just merged zmkfirmware/zephyr#24

Feel free to reopen if you still have any issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working user configs
Projects
None yet
Development

No branches or pull requests

3 participants