The merged executable will work without gui_definition.json!
Optimization for size
I tried many things to reduce the binary size.
Removed more codes from wxWidgets.
Applied optimazation for objective-c++ files.
Applied link time optimization.
Changed the json library from nlohmann/json to RapidJSON.
Used cstdio instead of iostream.
Removed RTTI.
Then, even the uncompressed executables became about 1MB!
I removed the UPX versions from the releases cause the uncompressed ones are small enough for me.
Changelog
Breaking change:
choice
andcheck_array
formats:warning: The old JSON files won't work if they have
choice
orcheck_array
components.For old versions,
choice
andcheck_array
components required an array for each option.From v0.5.0, they need an array of
items
, and you can put options for each item.New feature: JSON embedding
You can use command-line utils to embed a JSON file into SimpleCommandRunner!
The merged executable will work without
gui_definition.json
!Optimization for size
I tried many things to reduce the binary size.
Then, even the uncompressed executables became about 1MB! I removed the UPX versions from the releases cause the uncompressed ones are small enough for me.
Other changes