4. Installation on Windows

Metaproxy has been tested Microsoft Visual Studio. 2013 (C 12.0).

4.1. Boost

Install Boost with vcpkg as described in Section 4.5, “Metaproxy”. The Windows makefile uses the shared libraries from the selected Windows triplet.

For more information about installing Boost refer to the getting started pages.

4.2. Libxslt

Libxslt can be downloaded for Windows from here.

Libxslt also requires libxml2 to operate.

4.3. YAZ

YAZ can be downloaded for Windows from here.

4.4. YAZ++

Get YAZ++ as well. Version 1.6.0 or later is required.

YAZ++ includes NMAKE makefiles, similar to those found in the YAZ package.

4.5. Metaproxy

Metaproxy is shipped with an NMAKE makefile, similar to those found in the YAZ++/YAZ packages. The makefile uses Boost, libxml2 and libxslt installed with vcpkg in classic mode. Install Visual Studio with the Desktop development with C++ workload, including the Windows SDK, and Git for Windows. The following commands are for a Windows command prompt and install vcpkg in C:\vcpkg, matching the makefile defaults:

      git clone https://github.com/microsoft/vcpkg.git C:\vcpkg
      cd /d C:\vcpkg
      bootstrap-vcpkg.bat

Install Boost and the XML libraries for a 64-bit build:

      vcpkg install boost:x64-windows libxml2:x64-windows libxslt:x64-windows

If vcpkg is already installed, run this command from its directory. vcpkg installs these packages and their dependencies under C:\vcpkg\installed\x64-windows. The x64-windows triplet provides shared libraries. The makefile reads the installation paths directly; vcpkg integrate install is not required.

Check the following settings in win\makefile, especially if vcpkg, YAZ or YAZ++ is installed elsewhere:

DEBUG

If set to 1, the software is compiled with debugging libraries (code generation is multi-threaded debug DLL). If set to 0, the software is compiled with release libraries (code generation is multi-threaded DLL).

BARCH

Target architecture: x86 or x64. Defaults to the Visual Studio target architecture, or x64 if it is not set.

BOOST

Boost installation prefix, defaulting to C:\vcpkg\installed\$(BARCH)-windows. Headers are read from include, and libraries and DLLs from lib and bin. Debug builds use debug\lib and debug\bin. Boost version and toolset names do not need to be configured.

YAZ_DIR, YAZPP_DIR

YAZ and YAZ++ source/build directories, defaulting to ..\..\yaz and ..\..\yazpp relative to Metaproxy's win directory. Build both with the same architecture and debug/release setting as Metaproxy.

LIBXSLT_DIR, LIBXML2_DIR

Installation prefixes for libxslt and libxml2, both defaulting to C:\vcpkg\installed\$(BARCH)-windows. As with Boost, debug builds use the debug subdirectory for libraries and DLLs.

Open an x64 Native Tools Command Prompt for Visual Studio, change to the win directory in the Metaproxy source tree, and build with:

      nmake BARCH=x64

Release mode is the default; use nmake BARCH=x64 DEBUG=1 for a debug build. The makefile copies the runtime DLLs it names to Metaproxy's bin directory.

For a 32-bit build, install the same vcpkg packages with :x86-windows instead of :x64-windows, open an x86 Native Tools Command Prompt, and run nmake BARCH=x86. The default dependency paths then select C:\vcpkg\installed\x86-windows.

After successful compilation you'll find metaproxy.exe in the bin directory.