This repository contains batch scripts and GitHub CI scripts that build the SWORD library and all its dependencies for the WIN32 platform (using the Visual Studio 2019 C++ compiler). The SWORD library gives access to Bible text modules and related ressources. The released files are used to build the Windows version of node-sword-interface.
When cloning this repository you must use the option --recurse-submodules
so that all submodule repos are available immediately. You also need to have
git-lfs installed, because some of the modules
are using lfs properties.
The following libraries are automatically built with every push on this repo:
- zlib
- XZ Utils
- bzip2
- curl
- SWORD
Furthermore, when a release is created, binaries are automatically uploaded as release artifacts.
When linking against sword.dll you need to have the define SWUSINGDLL
set in your application's build environment. This ensures that symbols
are being imported correctly (see defs.h
in SWORD headers).
This is a sample list of libraries to link against (example from node-sword-interface, note that the syntax is node-gyp specific):
'-l<(module_root_dir)/build/sword-build-win32/lib/sword.lib',
'-l<(module_root_dir)/build/sword-build-win32/lib/libbz2.lib',
'-l<(module_root_dir)/build/sword-build-win32/lib/liblzma.lib',
'-l<(module_root_dir)/build/sword-build-win32/lib/libcurl_imp.lib',
'-lWldap32.lib',
'-lWs2_32.lib',
'-lcrypt32.lib',
'-lNormaliz.lib'
Besides providing the list of linked libraries you also need to make sure that the include path is configured correctly, see this example from node-sword-interface, note that the syntax is node-gyp specific:
"<(module_root_dir)/build/sword-build-win32/include"