Thanks. I reported command line used by current Lazarus version on Windows 64 bits. LazarusBaseDir is needed to locate LCL, used by GUI app.
I know that there are many things platform dependent (widgets, path syntax of file system, executable name conventions etc).
I'd like to write a cross platform procedure, using conditional compilation, that run fpc to compile GUI application, but I undestand that, due to above reasons, it is not a trivial task.