Disable Frameworks for CI builds

Sysprogs forums Forums VisualGDB Disable Frameworks for CI builds

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #21254
    Yuriy
    Participant

    Hi!

    Our project includes Embedded Framework “Fast Semihosting and Embedded Profiler”
    We use this framework for developement and debugging purposes, but final firmware should not include framework’s sources.

    Framework can’t be “included” only in Debug configuration, and “excluded” from Release configuration, right?
    We need something like console command to disable framework on CI machines.

    How we can “remove” framework from project automatically, without GUI?

    #21259
    support
    Keymaster

    Hi,

    This is a known limitation. Referencing a framework automatically adds its source files to a project, that affects all configurations. Hence all framework-related settings are shared between the configurations.

    If you are using MSBuild, the easiest workaround would be to mark the framework files as “does not participate in build” for the release configuration. This will prevent VisualGDB from building them (adding/removing frameworks won’t override this as long as the files are physically present).

    #21271
    Yuriy
    Participant

    Thanks, this approach looks good for us.

    Actually, we use MSBuild and know this workaround. But what if Framework will change?
    For example, in next update you will modify or add new source files to Framework. In such case we will need to update all our projects manually, and exclude Framework files from build again, right? How updater works?

    Thank you for support!

    #21274
    support
    Keymaster

    Hi,

    If the framework changes, VisualGDB won’t replace the entire file list overriding your changes. Instead it will add the new sources to the project, keeping the “does not build” flag for the old ones.

    If the new source files only contain functions/methods used by the old ones, the linker will automatically eliminate them (as long as other files are excluded), so you won’t need to update this manually.

    Long term, we will solve this by fully supporting the Advanced CMake Project Subsystem for embedded projects – the frameworks will be converted to separate CMake targets and you will be able to fine-tune the references by editing the CMake files, although this will be added after the upcoming v5.4.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.