diff options
Diffstat (limited to 'docs/build-win.rst')
-rw-r--r-- | docs/build-win.rst | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/docs/build-win.rst b/docs/build-win.rst new file mode 100644 index 0000000..1e65c27 --- /dev/null +++ b/docs/build-win.rst @@ -0,0 +1,57 @@ +windows build +============= + +The build currently expects MINGW64 environment, on a native windows host. +A cross-compiling procedure (at least for the application binaries) should be possible in the near future, using mxe. (There's already some support for it in `gui/build.sh`). + +You should instal: make, wget, as well as a recent Qt5 version (for instance, with chocolatey: choco install make && choco install wget). + +(In order to avoid makefiles, you are welcome to submit a port of the build scripts using powershell or cscript - see the build.wsf script in openvpn-build for inspiration). + +For the installer, install QtIFW for windows (tested with version 3.2.2). + +Assuming you have the vendor path in place and correctly configured, all you need to do is `make installer`:: + + export PATH="/c/Qt/Qt5/bin/":"/c/Qt/QtIFW-3.2.2/bin":$PATH + export VENDOR_PATH=providers + export PROVIDER=riseup + make generate # FIXME this is not called in win + make vendor && make installer + +If you're doing a final release:: + + export RELEASE=yes + + +checking signatures +------------------- +we should be signing all binaries on a release build. + +to check the binaries have proper signatures, you can use the sigcheck +utilities, part of the sysinternals suite: + +https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite + +unzip and place sigcheck.exe somewhere in your path. + +make sure to pass -accepteula parameter on some manual run so that it does not +ask again. + +adding metadata to binaries +--------------------------- + +the steps to do release signatures are:: + + make build + make dosign + make installer + make sign_installer + +or all together as:: + + make package_win_release + + +unreviewed notes +---------------- +see comment about patching dlls and windeployqt not being needed anymore https://stackoverflow.com/a/61910592 |