Errors while building a custom board based on nrf5340dk

hi,

I am in the process of creating a board definition for a custom hardware we are proptotyping. I follwed the instructions in the intermediate course, copying the nrf5340dk board definition and changing all occurencies of "nrf5340dk" with "dmp113a" (the code of the custom board, just a name).

Everything looks fine until you try to create  a new build configuration, when west fails saying 

No board named 'dmp113a_nrf5340_cpuapp' found.

Please choose one of the following boards:

dmp113a

[...]

After trying a few times it became clear that the same files worked with "nrf5340dk" but not with "dmp113a". I was just a step away from calling an excorcist, then I found that CMake while parsing the boards includes a mysterious "deprecated.cmake" where the "nrf5340dk_nrf5340_cpuapp" is converted to "nrf5340dk/nrf5340/cpuapp".

Adding the same definition for my board made the trick.

The question is: how do I create a custom board definition that does not need a patch in that file? I'd like to have the project files self-sufficient, and keep the board definition in a "boards" subdirectory of the project tree (at the moment it is this way and everything works after the patch to deprecated.cmake.

Thank you

Davide

PS the find & replace with the "preserve case" option in VSCode is a life saver 

Related