aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
AgeCommit message (Collapse)Author
2019-08-16[vcpkg] Major tool CMakeLists.txt updatesNicole Mazzuca
- 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)
2019-08-16Merge pull request #7305 from cbezault/external_file_abiCurtis J Bezault
[vcpkg] Public ABI override option
2019-08-14[depend-info] Fix bugs, add `--sort`, `--show-depth` and `--max-recurse` ↵Victor Romero
options (#7643) * [depend-info] Follow same rules as vcpkg install * [depend-info] Add --max-depth and --sort options * [depend-info] Improve output readability (a tiny bit) * [depend-info] Add --show-depth option * [depend-info] Fix build on VS 2015 * [depend-info] Fix output of --dot and --dgml
2019-08-12[vcpkg] Fix the build on VS2015 debug (#7637)nicole mazzuca
The VS2015 standard library requires, in debug mode, a comparison operator on `T × U` and `U × T` to also be a comparison operator on `T × T` and on `U × U`, and so in vcpkg::Install::install_package::intersection_compare, I've added two new `operator()` overloads which take those respectively, on VS2015. Also, `[nodiscard]` was added to somewhere in `vcpkg/base/strings.h`, which gives a warning in VS2015 -- thus, I added the `vcpkg/pragmas.h` include, since that fixes the warning.
2019-08-10clang-format, and fix a leftoverNicole Mazzuca
2019-08-10[vcpkg] Fix build under /W4Nicole Mazzuca
I was building under /W3, because CMake hadn't been set up to build under /W4 -- therefore, I didn't see some warnings. We also decided to remove the niebloids and instead break ADL by using `= delete`, since otherwise we get warnings when we define a local variable with the same name as a niebloid. I also removed `status` and `symlink_status` from the `files` header, since it's unnecessary now, and they're just implementation details of `RealFilesystem`. I also removed some existing uses of unqualified `status(path)`, since that no longer compiles. I also added `Filesystem::canonical`, to remove another use of `fs::stdfs` in a function I was already working in.
2019-08-09remove unnecessary include, fix variable extractionCurtis.Bezault
2019-08-09Change purpose of this PR to just overriding the abiCurtis.Bezault
2019-08-09Merge branch 'master' into external_file_abiCurtis J Bezault
2019-08-07[vcpkg] Make Filesystem::remove_all faster #7570Nicole Mazzuca
I added benchmarks to measure how fast the parallel remove_all code was -- it turns out, about 3x slower than stdfs::remove_all. Since this was the case, I removed all of the parallelism and rewrote it serially, and ended up about 30% faster than stdfs::remove_all (in addition to supporting symlinks). In addition, I did the following three orthogonal changes: - simplified the work queue, basing it on Billy O'Neal's idea - Fix warnings on older versions of compilers in tests, by splitting the pragmas out of pch.h. - Ran clang-format on some files In fixing up remove_all, the following changes were made: - On Windows, regular symlinks and directory symlinks are distinct; as an example, to remove directory symlinks (and junctions, for that matter), one must use RemoveDirectory. Only on Windows, I added new `file_type` and `file_status` types, with `file_type` including a new `directory_symlink` enumerator, and `file_status` being exactly the same as the old one except using the new `file_type`. On Unix, I didn't make that change since they don't make a distinction. - I added new `symlink_status` and `status` functions which use the new `file_status` on Windows. - I made `Filesystem::exists` call `fs::exists(status(p))`, as opposed to the old version which called `stdfs::exists` directly. - Added benchmarks to `vcpkg-test/files.cpp`. They test the performance of `remove_all` on small directories (~20 files), with symlinks and without, and on large directories (~2000 files), with symlinks and without.
2019-08-02improve logic expression evaluation (#7508)Phil Christensen
* better logic expression evaluation Improve the logic expression evaluation currently used when filtering dependencies. Biggest improvements: + Allow '|' operator + Support nested '()' + Allow whitespace + Useful error message for malformed expressions Also changed names of types to RawParagraph when that is what the original author was using.
2019-07-26[vcpkg] Fix RealFilesystem::remove_all (#7430)nicole mazzuca
* fix remove_all we were attempting to remove READONLY files before this, and so set them to non-READONLY * fix linux/macos support * whee fix vs2015
2019-07-24Merge branch 'master' into external_file_abiCurtis J Bezault
2019-07-24store fs::path instead of std::stringCurtis.Bezault
2019-07-23only use filenameCurtis.Bezault
2019-07-23Remove types from this PRCurtis.Bezault
2019-07-23remove needs_rebuild from statusparagraphsCurtis.Bezault
2019-07-23Merge build.cppCurtis.Bezault
2019-07-23Prompt rebuild if external hash changesCurtis.Bezault
2019-07-23add external file hashes to the binary paragraphCurtis.Bezault
2019-07-19allow tests to run on older standard librariesNicole Mazzuca
2019-07-19switch to new test frameworkNicole Mazzuca
2019-07-19Merge branch 'trunk' into parallel-file-opsNicole Mazzuca
2019-07-19Merge branch 'master' into external_file_abiCurtis J Bezault
2019-07-19[vcpkg] Portfile Settings (#7292)Curtis J Bezault
2019-07-18Rewrite the tests! now they're cross-platform! (#7315)nicole mazzuca
* begin exploratory rewriting of tests * continue working on tests * more test work! holy butts vcpkg-tests/plan.cpp was a bunch of work * finish writing new tests - [x] write catch2 tests - [ ] rewrite/at least delete the VS project files - [ ] document running tests * Fix tests to work on WSL, rewrite test vcxproj still need to test on macOS also, delete tests.pch.h * Condense add_test calls
2019-07-18clang-format all the thingsNicole Mazzuca
2019-07-18add needs_rebuild, should probably be moved to somewhere elseCurtis.Bezault
2019-07-18[vcpkg] Environment Variable Passthrough (#7290)Curtis J Bezault
* use additional env param * remove partials * remove change to linux triplet * Fix some issues that vicroms pointed out * whitespace change
2019-07-17Add type fieldCurtis.Bezault
2019-07-17sourceparagraph changesCurtis.Bezault
2019-07-17first pass at abi additional filesCurtis.Bezault
2019-07-16revert unecessary reorderingCurtis.Bezault
2019-07-16First pass at port settingsCurtis.Bezault
2019-07-16use additional env paramCurtis.Bezault
2019-07-15wheeeee more fixesNicole Mazzuca
2019-07-11add tests!Nicole Mazzuca
Also, fix all the bugs I found when I wrote the tests!
2019-07-11fix more commentsNicole Mazzuca
2019-07-11fix some comments from code reviewersNicole Mazzuca
2019-07-11make it compile on macos under g++6Nicole Mazzuca
2019-07-11make this compile on macosNicole Mazzuca
2019-07-11actually get the code compilingNicole Mazzuca
2019-07-11delete the random number generatorNicole Mazzuca
2019-07-11remove_all parallelized, and fix the issues with symlinkNicole Mazzuca
2019-07-11initial remove-in-parallelNicole Mazzuca
doesn't actually do parallel remove yet
2019-07-09Make handle features (#6797)gnaggnoyil
2019-07-06[vcpkg] Fix powershell font corruption bug (#7094)Robert Schumacher
* [vcpkg] Fix font corruption bug on Windows by downloading Powershell Core * [vcpkg] Rename subtool to powershell-core * [vcpkg] Add missing includes to project files
2019-07-01Allow redirection of the scripts folder. (#6552)martin-s
* Allow redirection of the scripts folder with an environment variable. * - Updated feature from environment variable to argument. * Fix crash when no scripts override is given and use --scripts-root=<PATH> format * Update help messages to use --scripts-root=<PATH> format
2019-06-27Triplets Overlay Implementation (#7053)Victor Romero
* Triplets Overlay Implementation * Use cache for get_triplet_file_path() * Code cleanup
2019-06-24[--overlay-ports] Show location of overriden ports during install plan (#7002)Victor Romero
* [--overlay-ports] Show source location of overlayed ports during install plan * Code cleanup * Code cleanup