- Add the "VCPKG_DEVELOPMENT_WARNINGS" flag
- setting "WERROR" will also set this flag
- This flag is set by default
- on GCC/clang, this will pass '-Wall -Wextra -Wpedantic -Werror'
- on GCC, this will additionally pass '-Wmissing-declarations'
- on clang, this will additionally pass '-Wmissing-prototypes'
- on MSVC, this will pass '-W4 -WX'
- On Visual Studio 2017 and later, pass '-permissive-'
- Change the source for fallout of these changes
- add `format` subcommand
- formats all C++ source and header files using clang-format
- move `include/vcpkg-test/catch.h` to `include/catch2/catch.hpp`
- pass CONFIGURE_DEPENDS to file(GLOB)
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.