Building libzip with Microsoft Visual C++
=========================================
The script vsbuild.cmd can be used to build (and optionally test) libzip using
Microsoft Visual C++.

Prerequisites
-------------
Windows Server 2003 or Windows Vista or later (tested with Windows 7 x64)
Microsoft Visual Studio (tested with VS2013 Premium)
CMake (tested with version 3.3.1)
Source code for zlib (tested with version 1.2.8)

To run tests, you will also need:
Perl interpreter (tested with ActiveState ActivePerl 5.20.2 64-bit)
CPAN module IPC::Cmd (comes with ActivePerl)

You'll also need to make sure all of the above (specifically: msbuild.exe,
cmake.exe and perl.exe) are in your PATH at the time of running the script.

Unpacking zlib
--------------
Because libzip depends on zlib, the vsbuild.cmd script takes care of building
zlib for you as well. Download the source code from http://zlib.org/ and extract
all the files and subdirectories from the "zlib-x.y.z" directory into
vstudio/zlib.

Building libzip with Visual Studio 2013 for the impatient
---------------------------------------------------------
1. Make sure all the prerequisites (see above) are installed and in your PATH.
2. Don't forget to unpack zlib (see "Unpacking zlib" above).
3. Open a Visual Studio Command Prompt in the "vstudio" directory (the directory
   containing this file).
4. Enter the following command for a 32-bit x86 build:
   vsbuild build "Visual Studio 12" v120
   or for a 64-bit x64 build:
   vsbuild build "Visual Studio 12 Win64" v120

If you'd like to run the tests as well, use one of the following commands:
vsbuild build+test "Visual Studio 12" v120
vsbuild build+test "Visual Studio 12 Win64" v120

Building libzip
---------------
The script vsbuild.cmd has three modes of operation, with the following syntax:
vsbuild clean
vsbuild build <generator> <toolset>
vsbuild build+test <generator> <toolset>

"vsbuild clean" deletes all output and intermediate files and directories
generated by the build process.

"vsbuild build" just builds zlib and libzip and leaves the DLL files in the
following locations:
vstudio/zlib/installed/bin/zlib.dll
vstudio/zlib/installed/bin/zlibd.dll
build/lib/Debug/zip.dll
build/lib/Release/zip.dll

"vsbuild build+test" builds zlib and libzip as above, then runs the libzip
regression test suite.

The "build" and "build+test" commands require the following parameters:

<generator>: The CMake generator to use for project files. This identifies the
version of Visual Studio you're using, and also allows you to specify whether
the 32-bit or 64-bit of the libraries should be built.
I've tested "Visual Studio 12" (VS2013 x86) and "Visual Studio 12 Win64"
(VS2013 x64) but other versions should work as well. Run "cmake --help" for a
list of generators.

<toolset>: Specifies the platform toolset to use. Normally, this will match the
version of Visual Studio (e.g. "v120" for Visual Studio 2013 aka Visual Studio
12). See the Visual Studio documentation for more information about platform
toolsets.

Andrew Molyneux
andrew@molyneuxfamily.co.uk