enh(build): using IFW to generates installer for apps
Description
Related to #894 (closed)
CPack can also package applications using Qt Installer Framework, documentation is available here.
CPack will generate .run on Linux and .exe on Windows, it will open a UI installer program and let the user choose the directory where to install the app. A "maintenance" tool will also being packaged, allowing to remove the installed app.
This can replace the archive packaging on Linux, and might be an interesting alternative to WIX or NSIS on Windows.
Proposal
Replace our packaging generator by IFW
Functional specifications
- General behavior remains unchanged (packaging of sight, packaging of targets).
- If possible, installer should also be scriptable (install with command line for the CI)
- (optional) shortcut entry ?
- (optional) updatable packages ?
Technical specifications
- Most of the work should be on package.cmake files (both Linux & Windows)
- provide the dedicated CPACK_IFW* options
- Logo/banner on installer ?
- Accept licenses ? (how ?)
- Due to limitation of the generator, shortcut seems not installed by default, we could provide an external script to install/uninstall shortcut (shell)
Test plan
-
Generates package for a well known application (sightViewer) -
install it -
Launch it -
Try to update it with a different version -
Try to uninstall it -
Try a sample/tuto -
Try a CLI app -
Compare NSIS installer with IFW on Windows