summaryrefslogtreecommitdiff
path: root/docs/build-win.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/build-win.rst')
-rw-r--r--docs/build-win.rst57
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