[sword-devel] sword-build-win32 - New automated solution for building the latest SWORD dll (+deps) for Windows

Tobias Klein contact at tklein.info
Sun Feb 16 12:39:58 EST 2020


Hi all,

In an attempt to improve the Sword build process for Win32 I’ve automated this now, using the GitHub actions functionality.
https://github.com/tobias-klein/sword-build-win32

This repository links to the SWORD dependencies (CURL, ICU, etc.) in the form of Git submodules. It also links SWORD (using the Git mirror from BibleTime) as a submodule.

I’ve set up automatic build scripts, which means whenever one of the versions (of either Sword or any of its dependencies) in the scripts has been changed and pushed back to GitHub a new build will be automatically created. When a release is published, the corresponding release binaries (dlls) are automatically generated and the current SWORD headers are also included in the release zip file. The zip file (containing the libraries and headers) is then automatically attached to the release page on GitHub. The compiler used to build the dependencies and SWORD itself is Visual Studio 2019.

An example is the current „development release“ 1.8.900-2020-02-16.
https://github.com/tobias-klein/sword-build-win32/releases/tag/v1.8.900-2020-02-16

I’m using these auto-generated binaries now for the Windows build of node-sword-interface, the SWORD backend of Ezra Project (before I was using manually generated Windows binaries that I created a year ago).

There is one odd thing that I had to do when linking against the sword.dll. I had to include the following snippet in node-sword-interface:
char * sword::SWBuf::nullStr = (char *)"";
For some reason this symbol is stripped out of sword.dll and unless I add it in the software that links against sword.dll I get a linker error …
I already needed to handle this issue when building Sword for Windows manually one year ago.

Best regards,
Tobias

PS:
@Troy
For some reason I couldn’t observe the recently described crash anymore in this most recent build.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20200216/f2d667f1/attachment.html>


More information about the sword-devel mailing list