This commit adds a basic crash-report system that can be optionally
configured to automatically send minidump crash-reports in addition
to product versions and a platform description including the OS
name and CPU architecture. Reports can be received at a configured
REST endpoint(POST). This endpoint URL can be configured using
a CMake variable `CRASH_REPORT_URL` which defaults to
"http://localhost:8080/submit".
- Introduces a new CMake option `ENABLE_CRASHREPORTS`, defaulting
to OFF. This allows developers to enable crash reporting features
at build time selectively. We also define a new macro with the
same name to expose the state to QML in order to hide the UI
components if needed.
- Implemented conditional inclusion of crashpad dependencies using
`ENABLE_CRASHREPORTS`. If set, `ENABLE_CRASHPAD` is also enabled
(other crash reporters exist and we may want to use them).
- 2 new application settings are added: `EnableCrashReporting` and
`EnableAutomaticCrashReporting`. Default settings make it so
crash-reports are generated but not automatically sent. With this
default configuration, users will be prompted upon application
start to confirm the report upload. Additionally, users may
opt-in in order to have reports sent automatically at crash-time.
Gitlab: #1454
Change-Id: I53edab2dae210240a99272479381695fce1e221b