| Age | Commit message (Collapse) | Author |
|
There's a bug in `std::experimental::filesystem::status` on
libstdc++ -- it incorrectly sets its `error_code` when a file
doesn't exist, or when a path doesn't exist. In order to get
around this, `error_code` was cleared when the file doesn't exist,
but it was not cleared when the path didn't exist.
Note: in this case, I say "the file doesn't exist" when, if you
look up "a/b/c", "a/b" exists but "c" doesn't. I say "the path
doesn't exist" when, if you look up "a/b/c", either "a" or "a/b"
doesn't exist.
|
|
|
|
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.
|
|
* 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.
|
|
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
|
|
line endings; (#7491)
- when an option is not recognized (perhaps because it has trailing whitespace characters), print it out enclosed with single quote to delimit and highlight potenatial not printable characters.
|
|
* 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
|
|
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
|
* use additional env param
* remove partials
* remove change to linux triplet
* Fix some issues that vicroms pointed out
* whitespace change
|
|
|
|
|
|
|
|
|
|
Also, fix all the bugs I found when I wrote the tests!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
doesn't actually do parallel remove yet
|
|
|
|
|
|
|
|
* [vcpkg] Fix font corruption bug on Windows by downloading Powershell Core
* [vcpkg] Rename subtool to powershell-core
* [vcpkg] Add missing includes to project files
|
|
* 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
|
|
* [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option
* [vcpkg_configure_cmake] Add documentation for new NO_CHARSET_FLAG option
* [vcpkg_configure_cmake, windows toolchain] Handle NO_CHARSET_FLAG in toolchain
* [build.cpp] Add Windows toolchain to package hash
* [duilib,msix,thrift,tidy-html5] Use NO_CHARSET_FLAG to fix regressions
|
|
* [vcpkg] fail port install when decompression fails
* [vcpkg] clang-format
|
|
|
|
* Triplets Overlay Implementation
* Use cache for get_triplet_file_path()
* Code cleanup
|
|
* [--overlay-ports] Show source location of overlayed ports during install plan
* Code cleanup
* Code cleanup
|
|
* Ports Overlay feature spec
* Ports Overlay implementation
* [--overlay-ports] Refactor handling of additional paths
* Code cleanup
* [--overlay-ports] Add help
* [depend-info] Support --overlay-ports
* Add method to load all ports using PathsPortFileProvider
* Make PortFileProvider::load_all_control_files() const
* Remove unused code
* [vcpkg] Avoid double-load of source control file between Build::perform_and_exit and Build::perform_and_exit_ex
* [vcpkg] Clang format
* [vcpkg] Fixup build failure introduced in b069ceb2f231
* Report errors from Paragraphs::try_load_port()
|
|
* [vcpkg] Modify Filesystem::remove and Filesystem::rename to not throw.
* [.gitignore] Ignore new VS2019 CMake integration default location
* [.gitignore] Ignore CMakeSettings.json in toolsrc
* [vcpkg] Time external processes called with System::cmd_execute
* [vcpkg] Work around VS2019 CMake bug
* [vcpkg] Fix several unused variable warnings.
* [vcpkg] Improve error handling in vcpkg::Files::Filesystem
Always require either std::error_code or LineInfo to print better errors.
* [vcpkg] Fixup missing return value.
Drive by fix: silence warnings in tests.
* [vcpkg] Fix exiting in error_code overload
Drive by fixes for /analyze with VS2019
|
|
lld on Linux can now process #pragma comment(lib, "foo") macros which
results in build failures on Linux when lld is used. Fix this by
protecting these macros with _WIN32 checks.
|
|
* Add VCPKG_NUM_LOGICAL_CORES
* break out logic that retries running a command several times into its own function
* Parallelize icu
|
|
* [control file] Add optional 'Homepage' tag
This allows a 'Homepage' tag to be added to a port in order to support
changes such as PR #2933. It currently does not do anything with it.
* [docs]
Add Homepage to the control file documentation
* move urls from descriptions to homepage field.
|
|
|
|
* [toolsrc] Optionally allow vcpkg to clean packages, buildtrees and downloads after each build
Adds switch --clean-after-build
* [toolsrc] Clarify that --clean-after-build deletes downloads
* [toolsrc] Revert changes to ci download caching behaviour
|
|
|
|
|
|
|
|
Remove Addtional checks since CMake support vs2019 now
|
|
|