This PR does the following:
* fix tests -- now, they're always built in the CMake scripts, and they work on VS2015
*add a new flag, BUILD_TESTING, which allows one to turn off testing builds
* Add documentation for running tests
* Bootstrap for windows when called from within bash for windows
When calling `bootstrap-vcpkg.sh` from within a git-bash script it fails
with the error message `Unknown uname: MINGW64_NT-10.0`.
This change delegates bootstrapping to `bootstrap-vcpkg.bat` by
executing it in a `cmd` session when the result of `uname -s` matches
the pattern `MINGW*_NT*`.
* [vcpkg-bootstrap] Avoid using bash extensions and keep ./bootstrap-vcpkg.sh as a simple forwarder.
* Add detection for VCPKG_DOWNLOADS environment variable in vcpkgpaths.cpp.
* Pass the downloads directory from VcpkgPaths to cmake.
* Also fixup bootstrap on *nix.
* Make error message a little prettier.
* Make that bash script actually work :)
* [vcpkg] Alter Optional<> usage style
* [vcpkg-docs] Add section on Environment Variables to the docs
On Ubuntu 16.04, old versions of g++ such as 4.9 are available. Other
Linux distributions may also ship with g++ versions older than 5. With
the previous test, the bootstrap script was not failing fast and instead
was starting to compile vcpkg before it encountered the unsupported flag
-std=c++1z. The error message was not very explicit and that was making
it difficult to the developer to understand what the problem was. However,
when using g++ 5, an clear error message was printed to help the user.
This commit shows the helpful error message anytime g++ is older than
version 6.