Page MenuHomePhabricator

[GITIAN] Migrate OSX Gitian builds to CMake and Ninja
ClosedPublic

Authored by Fabien on Nov 7 2019, 15:44.

Details

Summary

Replace autotools by CMake for the OSX 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.

Test Plan

Run the OSX Gitian build twice.
Check the hashes are identical between the builds.
Run the binaries and installers (DMG).

Diff Detail

Repository
rABC Bitcoin ABC
Branch
gitian_osx_cmake
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 8147
Build 14327: Default Diff Build & Tests
Build 14326: arc lint + arc unit

Event Timeline

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

Depending on system libs will cause the build to not be reproducible. You need to be using depends libs.

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

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, 19:49
Fabien planned changes to this revision.Nov 18 2019, 08:45

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

Remove CMAKE_EXTRA_OPTIONS.
I first planned to make it the rule but after D4461 it will become the
exception (only used on windows).

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