michaellukashov / Far-NetBox

SFTP/SCP/FTP/FTPS/WebDAV/S3 client for Far Manager 3 (http://farmanager.com/)
https://forum.farmanager.com/viewtopic.php?t=6317
GNU General Public License v2.0
155 stars 52 forks source link

Include map file in release build and fix optimizations #460

Closed ssvine closed 2 months ago

ssvine commented 2 months ago

There are several issues with release builds:

  1. If NetBox crashes and Far is able to create a crash report, that report won't contain meaningful names of NetBox functions. A random user may create an issue attaching such a problematic report. So, it's a good idea to include rather small .map file in the binary distribution, because Far can use them to convert addresses to meaningful names. (Far releases include .map files for all executables.)
  2. Release build is not fully optimized.

This pull request adds NetBox.map file to the release build.

It also fixes and simplifies compiler and linker flags among different build types:

To summarize: Release has maximum speed and the whole program optimizations. RelWithDebInfo is the same as Release, but also generates debug info and the map file. MinSizeRel is the same as Release but it creates the smallest file.

sonarcloud[bot] commented 2 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

ssvine commented 2 months ago

This pull request is closed because it will be recreated later due to merge conflicts