cancel
Showing results for 
Search instead for 
Did you mean: 

CMake project generation with CubeMX + CubeAI fail

jjaccard
Associate II

Hello,

I use STM32CubeMX V6.11.1 with cmake version 3.28.1 (the one embedded in STM32CubeCLT_1.15.1) to generate a project for STM32F746G Discovery kit.

When trying the new cmake project generation feature in conjunction with CubeAI, the generated project is not building.

I get the error:

```
[build] Starting build
[build] Build finished with exit code -1
[cmake] -- Configuring done (1.8s)
[cmake] Build type: Debug
[cmake] CMake Error at CMakeLists.txt:64 (target_link_libraries):
[cmake] Cannot find source file:
[cmake]
[cmake] C:/projects/st_trials/X-CUBE-AI/App/network.c
[cmake]
[cmake]
[cmake] CMake Error at CMakeLists.txt:38 (add_executable):
[cmake] No SOURCES given to target: ai_app
[cmake]
[cmake]
[cmake] CMake Generate step failed. Build files cannot be regenerated correctly.
```
This issue is due to the file `cmake\stm32cubemx\CMakeLists.txt` being incorrectly generated and containing two issues:
 
The first one is that all over the file some path are one level too high, for example:
```
target_include_directories(stm32cubemx INTERFACE
    ../../X-CUBE-AI/App
    ../../X-CUBE-AI
    ../../Core/Inc
    ../../../Middlewares/ST/AI/Inc #<---incorrect path
    ../../../X-CUBE-AI/App #<---incorrect path
    ../../Drivers/STM32F7xx_HAL_Driver/Inc
    ../../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy
    ../../Drivers/CMSIS/Device/ST/STM32F7xx/Include
    ../../Drivers/CMSIS/Include
)
```
 
The second one is that for some reason in `target_include_directories` the main includes are omitted (e.g. `
    ../../Core/Inc`)
 
Once corrected, the project builds but everytime the project is regenerated, the file `cmake\stm32cubemx\CMakeLists.txt` is overwritten and the correction have to be redone. Is there a way to have the project correctly building after generation?
 
Thanks in advance for the response
1 ACCEPTED SOLUTION

Accepted Solutions

Hello @jjaccard 

I’m not able to reproduce this behavior with the STM32CubeMX V6.13.0. If you still have the same issue, please tel me to check this again for you @Remyhx , please create a new post on the wireless forum since it is a wireless product related your issue with a description of all your case details and with a .ioc file that reproduce your behavior on the CubeMX V6.13.0.

Best Regards.

STTwo-32

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

6 REPLIES 6
STTwo-32
ST Employee

Hello @jjaccard and welcome to the ST Community :smiling_face_with_smiling_eyes:.

Can you share your .ioc file so we can try to reproduce (with a description on how you did it if possible).

Best Regards.

STTwo-32 

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

jjaccard
Associate II

Hello,

Thanks for the welcome : )

Sure, you can find linked the .ioc file. As mentionned above, I created a project with STM32CubeMX V6.11.1 for STM32F746G Discovery kit (all default periph.). I then added X-CUBE-AI V9.0.0 with the application template and added a simple dense .tflite model. Finally I generated the code for cmake toolchain.

Then I followed your video to open and import the cmake project in vscode: https://www.youtube.com/watch?v=DDVdq47Dd94

And when I try to build, the issue mentioned in my original post arise. As mentioned above, I can fix it but every time I want to change something in CubeMx and regenerate the code I have to re-fix the build system (when I update the .tflite model for example, which happens quite often).

Thanks in advance for the help.

Jérémie

jjaccard
Associate II

Hello,

 

Any news on this issue?

 

Thanks

Remyhx
Associate III

Same kind of mistake here: STM32WB with first ble included, later excluded. Had to remove tinylpm.c from cmake/stm32cubemx/cmakelists.txt. Every time I regenerate the project it has to manually be removed.

I see no follow up from STM.

Hello @jjaccard 

I’m not able to reproduce this behavior with the STM32CubeMX V6.13.0. If you still have the same issue, please tel me to check this again for you @Remyhx , please create a new post on the wireless forum since it is a wireless product related your issue with a description of all your case details and with a .ioc file that reproduce your behavior on the CubeMX V6.13.0.

Best Regards.

STTwo-32

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Also 6.13.0, migrated from 6.12. Couple of times gave me the error, but somehow it vanished. Thx for the reply.