Skip to content

arduino-cli compile does full recompile every time #392

Closed
@csurf

Description

@csurf

sorry if this is a dumb question, but does arduino-cli compile forcibly recompile everything each time it is run? is there a way to speed this up by only rebuilding object files for those files that have changed?

Unless there's something wrong with my setup, this doesn't appear to be the case. Each time I run arduino-cli compile mySketch', I see the message Build options changed, rebuilding all, and I can see it going through a full compile of all libraries & source files.

I've tried specifying directories for both the core & sketch builds, but it doesn't appear to be doing much. What am I missing? Is there a way to keep the build process from constantly rebuilding unchanged source files & libraries in order to speed things up?

FYI, in my case, one thing I'm seeing is that the build process finds multiple versions of diferent libraries, and informs me that it's selecting a certain version:

Build options changed, rebuilding all
Alternatives for Wire.h: [[email protected]]
ResolveLibrary(Wire.h)
  -> candidates: [[email protected]]
Alternatives for LiquidCrystal_I2C.h: [NewLiquidCrystal_lib]
ResolveLibrary(LiquidCrystal_I2C.h)
  -> candidates: [NewLiquidCrystal_lib]
Alternatives for TMC2130Stepper.h: [[email protected]]
ResolveLibrary(TMC2130Stepper.h)
  -> candidates: [[email protected]]
Alternatives for SPI.h: [[email protected]]
ResolveLibrary(SPI.h)
  -> candidates: [[email protected]]
Alternatives for Cmd.h: [Cmd]
ResolveLibrary(Cmd.h)
  -> candidates: [Cmd]
Sketch uses 21946 bytes (68%) of program storage space. Maximum is 32256 bytes.
Global variables use 1419 bytes (69%) of dynamic memory, leaving 629 bytes for local variables. Maximum is 2048 bytes.

please help me figure out how to get some kind of build caching to work...

Metadata

Metadata

Assignees

No one assigned

    Labels

    conclusion: duplicateHas already been submittedtopic: codeRelated to content of the project itselftype: imperfectionPerceived defect in any part of project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions