See Also C++ Developer's Guide
The source distribution can be built on Windows using the Visual Studio 2010 compiler and project files are included for all of the components. You can use newer versions of Visual Studio, but the projects have to be left at 2010 level to use the older toolchain.
The primary difficulty is gathering and building all the dependencies, but the latest dependency builds can be found at https://shibboleth.net/downloads/misc/
The complete list includes:
Additionally the test targets require that CxxTest V3 be installed (which in turn requires perl).
Optional components include development files for any non-IIS web servers you want to support (Various versions of Apache and/or FastCGI). The code will build and run against the Apache distributions supplied by http://www.apachelounge.com/. No other support is guaranteed.
There is no "install" target, so using a source build requires a lot of manual copying of files around and IIS configuration changes have to be done by hand, unless you simply build the Windows installer itself.
Dependencies should all be placed under a common directorty and that direcrtory pointed to by a property sheet in the directory which contains the Shibboleth projects called
BuildPaths.props, for instance:
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
You will also need to check out a set of property files from https://svn.shibboleth.net/cpp-parent-projects/cpp-msbuild (each release of the SP should correspond to a tag on that project containing the right versions of these files). The property files specify the dependency versions used.
A makefile is also provided that can be used to run the solution builds.
Bulding the MSI files requires that WiX be installed.