I agree with Bill and Andrew. The files in Templates are really a hack
because compilers don't support export templates, etc. In an ideal
world, we wouldn't need the Templates directory at all. It contains
stuff that could, in principle, be machine generated. Often, a-b+.cxx
contains nothing more than
template class a<b>;
While I am surprised that Borland breaks on a dash in the filename, I
don't think the dash is so vital that we should sacrifice the Borland
compiler. Yes, you could do all sorts of scripting and other magic to
fix it, but that leaves open situations like shared source builds and
non-CMake build environments.
The current naming scheme is clear and easy to read, but I'll argue
that a small loss in clarity in essentially machine generated code is
a small price to pay for supporting another (good) compiler.