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
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.