Page MenuHomePhabricator

[CMAKE] Use static linkage when cross compiling for windows
ClosedPublic

Authored by Fabien on Mar 7 2019, 16:56.

Details

Summary

This will avoid the need to distribute dll files along with the
binaries.

Depends on D2653 and D2664

Test Plan

Prerequisite:
Follow the doc/build-windows.md and depends/README.md documentation
and install the dependencies for i686-w64-mingw32 and
x86_64-w64-mingw32.

# 32-bit version
mkdir buildcmake && cd buildcmake
cmake -GNinja .. -DBUILD_BITCOIN_SEEDER=OFF \
  -DCMAKE_TOOLCHAIN_FILE=../cmake/platforms/Win32.cmake
ninja

Check the build succeeds.
Check src/bitcoind.exe runs as expected, without copying any dll.

Operate the same for Win64.

# 64-bit version
rm -rf *
cmake -GNinja .. -DBUILD_BITCOIN_SEEDER=OFF \
  -DCMAKE_TOOLCHAIN_FILE=../cmake/platforms/Win64.cmake
ninja

Check the build succeeds.
Check src/bitcoind.exe runs as expected, without copying any dll.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
cmake_windows_static
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 5174
Build 8411: Bitcoin ABC Buildbot (legacy)
Build 8410: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Mar 8 2019, 21:28
This revision was automatically updated to reflect the committed changes.