Page MenuHomePhabricator

[CMAKE] Migrate windows gitian build to cmake and ninja
ClosedPublic

Authored by Fabien on Nov 6 2019, 20:35.

Details

Summary

Replace autotools by CMake for the windows Gitian builds, and use
Ninja as a generator.

Note 1:
The test_bitcoin binary is no longer part of the Gitian output.

Note 2: There are some more dependencies required.
This is because CMake is run for the native platform in order to build a
couple helper binaries for secp256k1 and univalue. CMake is run from the
project root and check for all the dependencies despite only a compiler
is required. This is a minor inconvenience which can be reworked later.

Depends on D4445.

Test Plan

Run the Windows Gitian build twice.
Check the hashes are identical between the builds.
Run the binaries and installers for both 32 bits and 64 bits
architectures.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
gitian_win_cmake
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 8020
Build 14038: Bitcoin ABC Buildbot (legacy)
Build 14037: arc lint + arc unit

Event Timeline

deadalnix requested changes to this revision.Nov 10 2019, 12:57

You need to be using the depends libs and not the system's.

This revision now requires changes to proceed.Nov 10 2019, 12:57

Reduce the amount of dependencies required by rebasing on top of D4425.
Disable ccache for the build.

Fabien planned changes to this revision.Nov 12 2019, 14:08

Rebase and add the wrappers to path.

Fabien planned changes to this revision.Nov 13 2019, 13:24
Fabien planned changes to this revision.Nov 14 2019, 10:39
Fabien requested review of this revision.Nov 14 2019, 10:54

The rebase fixed the determinism issue.

deadalnix requested changes to this revision.Nov 17 2019, 23:06

See comments in D4356

This revision now requires changes to proceed.Nov 17 2019, 23:06

Address comments from D4356 (they are applicable to this diff as well).

This revision is now accepted and ready to land.Nov 19 2019, 23:37