| 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 |