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
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Fabien created this revision.Mar 7 2019, 16:56
Herald added a reviewer: Restricted Project. · View Herald TranscriptMar 7 2019, 16:56
Herald added a subscriber: schancel. · View Herald Transcript
deadalnix accepted this revision.Mar 8 2019, 21:28
This revision is now accepted and ready to land.Mar 8 2019, 21:28
This revision was automatically updated to reflect the committed changes.