| 4 | |
| 5 | MSVC buildsystem is a part of [https://github.com/OpenVPN/openvpn-build openvpn-build subproject] in [https://github.com/ GitHub]. It allows building OpenVPN and all it's dependencies on a Windows box with minimal dependencies. |
| 6 | |
| 7 | '''NOTE:''' This buildsystem is not officially supported, and you're strongly encouraged to use the [wiki:BuildingUsingGenericBuildsystem cross-compile buildsystem] instead. If you really need to build OpenVPN using MSVC and encounter any issues, please send email to the [http://sourceforge.net/mail/?group_id=48978 openvpn-devel mailinglist]. |
| 8 | |
| 9 | = Setting up the build computer = |
| 10 | |
| 11 | MSVC build was written with least dependencies in mind. You'll need only [http://www.activestate.com/activeperl Perl] and Visual Studio 2010 (Express). Once dependencies have been installed, launch Git Bash and follow [wiki:BuildingUsingGenericBuildsystem#Checkingoutopenvpn-buildrepository these instructions] to checkout [https://github.com/OpenVPN/openvpn-build openvpn-build] repository, which contains the MSVC buildsystem. |
| 12 | |
| 13 | To customize the build options, refer to ''build-env.bat'', it contains the defaults for building, most settings can be customized by setting environment variable before executing the build script. You can also configure the build to use a Git repository or tarball of your liking, for example: |
| 14 | |
| 15 | {{{ |
| 16 | set OPENVPN_GIT=git://openvpn.git.sourceforge.net/gitroot/openvpn/openvpn.git |
| 17 | set OPENVPN_SOURCE=git |
| 18 | set OPENVPN_BRANCH=master |
| 19 | }}} |
| 20 | |
| 21 | |
| 22 | = Building using MSVC buildsystem = |
| 23 | |
| 24 | == Building everything == |
| 25 | |
| 26 | Descend to the ''openvpn-build/msvc'' directory and build: |
| 27 | |
| 28 | {{{ |
| 29 | > cd openvpn-build/msvc |
| 30 | > build |
| 31 | }}} |
| 32 | |
| 33 | |
| 34 | This fetches all the dependencies, builds them and builds OpenVPN. |
| 35 | |
| 36 | == Building dependencies only == |
| 37 | |
| 38 | To build only dependencies (helpful for developers): |
| 39 | |
| 40 | {{{ |
| 41 | > set DO_ONLY_DEPS=true |
| 42 | > set TARGET=c:\Temp\build-deps |
| 43 | > build |
| 44 | }}} |
| 45 | |
| 46 | == Build OpenVPN manually == |
| 47 | |
| 48 | Provided you built the dependencies you can use the MSVC build system within OpenVPN tree, edit ''build-env-local.bat'' which is loaded by ''build.bat''. The variables defined in ''build-env-local.bat'' override the defaults given in ''build-env.bat''. For example, you can manually define the location of dependencies: |
| 49 | |
| 50 | {{{ |
| 51 | set OPENVPN_DEPROOT=c:\Temp\build-deps |
| 52 | }}} |
| 53 | |
| 54 | Then open IDE using: |
| 55 | |
| 56 | {{{ |
| 57 | > msvc-dev |
| 58 | }}} |
| 59 | |
| 60 | Or build using: |
| 61 | |
| 62 | {{{ |
| 63 | > msvc-build |
| 64 | }}} |