Skip to content

CMAKE_EXECUTABLE_SUFFIX doesn't seem to be working for FPrime v4.0.0a1 #41

Closed
@ethancheez

Description

@ethancheez

This line in ArduinoFw.cmake was added to fix the rpipico builds. A .elf extension needed to be added to the binary.

set(CMAKE_EXECUTABLE_SUFFIX "${FPRIME_ARDUINO_EXECUTABLE_SUFFIX}" CACHE INTERNAL "" FORCE)

These lines in arduino-support.cmake sets the .elf extension:

# Set the executable suffix if not defined
if (NOT DEFINED FPRIME_ARDUINO_EXECUTABLE_SUFFIX)
    set(FPRIME_ARDUINO_EXECUTABLE_SUFFIX ".elf")
endif()

However this doesn't work anymore when building for rpipico and rpipicow. See output after running fprime-util build rpipicow:

ERROR: filename '/randompath/fprime-tutorial-arduino-blinker/build-fprime-automatic-rpipicow/bin/rpipicow/LedBlinker' does not have a recognized file type (extension)
[ARDUINO WRAPPER POST BUILD WARNING] Error in executing: /home/user/.arduino15/packages/rp2040/tools/pqt-picotool/4.0.1-8ec9d6f/picotool uf2 convert /randompath/fprime-tutorial-arduino-blinker/build-fprime-automatic-rpipicow/bin/rpipicow/LedBlinker /randompath/fprime-tutorial-arduino-blinker/build-fprime-automatic-rpipicow/bin/rpipicow/LedBlinker.uf2 --family rp2040

In the end, this generates an empty LedBlinker.uf2 in the build-artifacts directory.

This works on F Prime v3.6.3
Did something change in the fprime build from v3.6.3 to v4.0.0a1?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions