To set a particular memory model, it appears I have to set pragma in each and every source code file. Is that true? Is there no Project option parameter I can use to set it globally?
Does anyone else find the documentation with the Keil tools to be as useless as I do? Just curious.
"Is that true?"
No, it's not.
Look at the desription of each directive:
http://www.keil.com/support/man/docs/c51/c51_small.htm http://www.keil.com/support/man/docs/c51/c51_compact.htm http://www.keil.com/support/man/docs/c51/c51_large.htm
Each one tells you how to do it in uVision - and that will apply to the whole project.
http://www.keil.com/support/man/docs/uv3/uv3_dg_target51.htm
"Does anyone else find the documentation with the Keil tools to be as useless as I do?"
Do they still "ship" the Getting Started guide with the tools - GS51.PDF for the 8051 tools? That one walked you through the whole toolchain, and would've answered your question.
But I note that the trend seems to be away from PDF documentation...
Also, the CD (both free and paid-for) used to include some introductory videous that walked you though all the tools and menus