Had a huge difference with mode release.
From: 70,664 fell to 7,109.
Excellent result.
Good job.
First know that the smallest size I can get under a Windows GUI Application x86 is: 1,82 MB. With the default form and units.
It's smaller here, only 1562112 bytes (1.5 MB) with application icon removed. The secret is to compile everything (including LCL) optimized without any debug info
I forget to remove application Icon. I remembered that removing the icon works after writing the 1,82 MB size.
You're right, optimizing everything you'll get smallest and faster code, I forget that too since I never do it, just tested that thing only one time about some years ago and never again. Without optimizing and removing the icon I get 1,69 MB.
Compiled with rebuilding the IDE with 'Optimized IDE' I get 1,60 MB.
Optimizing LCL, FCL, LCLBase, LazUtils does not make any difference with the 'Optimized IDE' for me. I get 1,60 MB. The same.
So you Win
by some kb. Maybe I'm missing something, I have FPC 2.6.4 and Lazarus 1.4.2.
Removing the manifest (under Windows) I save 1kb
Applications that I compile for x64 are always bigger.
FPC units can be recompiled and also optimized right? But not from the Lazarus IDE..