HomePhabricator

[CMAKE] Create a windows installer

Description

[CMAKE] Create a windows installer

Summary:
This diff adds NSIS to the windows package generators, and configure it
to create a windows graphical installer/uninstaller.

The generated installer is very similar to the one from autotools, the
main difference is that this installer asks for licence agreement.

The installed files differ from autotools, which installs a lot of files
in a custom subtree, including documentation on how to build the
software and a lot of things which are unexpected output from a
graphical installer. This one only installs the files from the package,
identical to what is distributed as part of a release.

Depends on D4284.

Test Plan:

mkdir buildcmake && cd buildcmake
cmake -GNinja .. -DBUILD_BITCOIN_SEEDER=OFF \
  -DCMAKE_TOOLCHAIN_FILE=../cmake/platforms/Win64.cmake
ninja package

Check a bitcoin-abc-<version>-x86_64-w64-mingw32.exe installer is
created.
Run the installer, check all the steps are correct.
After installation run Bitcoin ABC and Bitcoin ABC (testnet) from
the start menu folder.
Uninstall the software using then windows settings panel and check all
the files are deleted.

Reviewers: #bitcoin_abc, deadalnix, jasonbcox

Reviewed By: #bitcoin_abc, deadalnix, jasonbcox

Subscribers: jasonbcox

Differential Revision: https://reviews.bitcoinabc.org/D4274

Details

Provenance
FabienAuthored on Oct 18 2019, 15:28
FabienPushed on Oct 30 2019, 14:11
Reviewer
Restricted Project
Differential Revision
D4274: [CMAKE] Create a windows installer
Parents
rABCeb1d98d21207: [CMAKE] Build bitcoinconsensus library both static and shared
Branches
Unknown
Tags
Unknown