delphidelphi-xe3finalbuilderdelphi-xe7

$(BDSCOMMONDIR) different when compiling from FinalBuilder vs IDE


I am in the middle of upgrading from Delphi XE3 to XE7 and I have noticed that my FinalBuilder script is no longer working as expected.

I have various Delphi projects configured to output the BPL / DCP files to $(BDSCOMMONDIR)\* which is set as a system environment variable to C:\Users\Public\Documents\Embarcadero\Studio\15.0. Opening up the projects in the IDE & compiling works as expected, however, whenever I compile using FinalBuilder the files are built to C:\Users\Public\Documents\RAD Studio\15.0 and I have no idea why, I have searched everywhere and can't see where this path is set i.e.

In all those locations the path is as expected. My suspicion is it's an issue with having both XE3 and XE7 installed on the same machine, purely because for the XE3 setup $(BDSCOMMONDIR) points to C:\Users\Public\Documents\RAD Studio\10.0 (only difference is the product version). As I am only evalulating XE7 at the moment I would like to try avoid having to uninstall XE3 unless it's absolutely necessary.

Note - one other difference here is when I installed XE7 I chose the Delphi install rather than RAD Studio one which I used previously when installing XE3 (I don't need the C++ Builder stuff).

Does anyone have any idea why this is happening?


Solution

  • BDSCOMMONDIR is virtualised along with all the other delphi variables like BDS, otherwise it's impossible to compile with multiple versions of delphi.. which is something library/component vendors do all the time.

    The issue here is a bug in Finalbuilder's XE7 support, a fix will be released shortly.