CMakeLists.txt: Build the ArduinoCore-API implementations#149
CMakeLists.txt: Build the ArduinoCore-API implementations#149DhruvaG2000 merged 2 commits intozephyrproject-rtos:nextfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request introduces support for building ArduinoCore-API implementation files and adds infrastructure improvements for board variant handling. The main focus is enabling the build system to compile ArduinoCore-API source files when not using the Rust implementation, while maintaining compatibility with the Rust-based implementation path.
Changes:
- Added compilation of seven ArduinoCore-API C++ source files (CanMsg, CanMsgRingbuffer, Common, IPAddress, Print, Stream, String) for non-Rust builds
- Improved board variant directory resolution with double underscore normalization and support for board revision-specific overlay files
- Refined conditional compilation in cores/arduino to properly handle Rust vs C++ implementation paths
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| CMakeLists.txt | Added ArduinoCore-API source files to build, improved variant directory lookup with normalization, and included ArduinoCore-API headers for both Rust and non-Rust paths |
| cores/arduino/CMakeLists.txt | Made zephyrPrint.cpp and apiCommon.cpp conditional on Rust implementation usage |
| cores/arduino/Arduino.h | Changed api/ArduinoAPI.h include from angle brackets to quotes and removed zephyrPrint.h include |
| samples/*/CMakeLists.txt (10 files) | Added support for board revision-specific overlay files with fallback to base overlay files |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Doesn't build with this branch on my local setup either: Had to hack something locally to make it fetch: |
|
ok so you're fixing that issue here: #154 ? |
103b9c6 to
e76a9c8
Compare
With the introduction of `west blobs`, the licensing situation is now clear, so we can include the ArduinoCore-API implementations in the build. Exclude `zephyrPrint.cpp` as it conflicts with the API implementations. Also exclude `apiCommon.cpp`, which is only used by the Rust build. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Fix the Rust API implementation build by referencing ArduinoCore-API in Rust builds. For licensing reasons, we plan to provide an alternative API implementation for the Rust build in the future. Until then, use ArduinoCore-API. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Uh oh!
There was an error while loading. Please reload this page.