Hi,
I have a project with multiple build configurations. The differences between them are small, I use this for instance to build for several languages.
The problem I'm getting is that on every build on say FoobarUK it not only builds the objects that are out of date for FoobarUK, but also the ones that are out of date for FoobarDE.
This is getting pretty annoying, because even if FoobarUK is fully up to date, if I build it many objects are compiled anyway on each build, only because FoobarDE is not up to date, and thus eats time.
I don't see any differences between the projects, except for the defines that determine the language. But I also have no clue where to look, so any help would be appreciated.
I'm using GCC for Renesas RX version 4.8.4.201801, on e2studio 7.1.0, but I saw this behavior on older versions as well.
Peter
Hello, Peter.
> because even if FoobarUK is fully up to date, if I build it many objects are compiled anyway on each build, only because FoobarDE is not up to date, and thus eats time.It is because each objects are placed in different places under each of build configuration named folders.
For example, you could configure FoobarDE linker to use FoobarUK *.obj files for common objects and then exclude *.c files from FoobarDE, as stated below.
Hope it works for you.
Hello, Peter. > 3. If I now build FoobarUK again, foo.c get's compiled again This behavior tells that resource refresh path for the build configuration(s) do not match to actual folder structure.If the refresh path was wrong, builder cannot compare source files and try to build everything. You could fix this by configuring "Refresh Policy" (look at the same named tab in the project configuration "C/C++ Build").Need to configure source folder (for each build configurations), but can't edit. So, once remove wrong (lost link) folder and add the actual folder. Again, hope it works for you.