Join GitHub today
Example output folders #73
The current examples are all configured as follows:
I propose that this be changed to:
or if we must have the platform/config part, of which I'm not a fan, then:
The important part is that the individual examples should not have the unit output folder of other examples in their search path.
I'm a fan of $(Platform)\$(Config), since without it when switching between platforms and configs (especially 32 und 64 bit), the .dcu files get into each others' way. But nevertheless, I would write a script to adjust the paths as proposed (without $(Platform)\$(Config)), so switching to one or the other style is easy.
@micha137 Yes, I understand that in a real project, which needs to support multiple platforms or build configs, one would use
Do we really need to handle that someone might compile the examples for both 32 and 64 bit? I'm not saying that it's impossible I just think it would be very rare - and it can be handled just by doing a Build instead of a Compile. Those that compile for 64 bit probably already know that. Anyhow I don't feel strongly about this.
I see that you assigned yourself to this task. You should coordinate with @AngusJohnson since he has already done some work on this and I believe he has a solution ready.
Sorry to comment this so late, but as I mentioned before, I had a bit of work to do for my current project I earn my money with.
Regarding this issue: I might be the only one who have objections with it, but here we go:
Actually the name shouldn't matter, but for sake of consistency I would vote to keep it as it is.
When I started working in the GR32 team, the members were very strict when it came to naming. The code should be formatted according to the Pascal Style Guide. Within the guide procedure and field names started with a capital letter. Thus I would prefer to keep the capital letter here:
For this reason I'd also opt for using $(Platform)$(Config)
The only problem we have is the fact that there are currently many example units named "MainUnit". It would be necessary to rename them in order to see a benefit.
Sure. No problem.
Habit from my days as a C/C++ developer where intermediaries would go into
Speed surely can't be the overriding reason for this decision. It's Delphi we're talking about; I don't think it matters if it takes 1 second or 1.2 to compile an example.
I understand your point but isn't the target audience of the examples the users of graphics32? In any case my experience is that compile speed is a non-problem with the examples.
@CWBudde: Sorry I went forward already, but with the script it is (relatively) easy to change again.
Capitalisation for consistency is good, not abbreviating is also fine with me.
I just checked why we didn't hit the cache directory issue before, considering
I also have to add