Nicole Mazzuca
65d34c5e55
wheeeee more fixes
2019-07-15 18:51:03 -07:00
Nicole Mazzuca
a0fe40ea58
add tests!
...
Also, fix all the bugs I found when I wrote the tests!
2019-07-11 18:21:25 -07:00
Nicole Mazzuca
510b0c5cc0
fix more comments
2019-07-11 18:21:09 -07:00
Nicole Mazzuca
3190235875
fix some comments from code reviewers
2019-07-11 18:20:36 -07:00
Nicole Mazzuca
bb57907207
make it compile on macos under g++6
2019-07-11 18:20:36 -07:00
Nicole Mazzuca
5b76f24f35
make this compile on macos
2019-07-11 18:20:36 -07:00
Nicole Mazzuca
3b6d6b3465
actually get the code compiling
2019-07-11 18:20:35 -07:00
Nicole Mazzuca
43493b56df
delete the random number generator
2019-07-11 18:20:35 -07:00
Nicole Mazzuca
2d6df16849
remove_all parallelized, and fix the issues with symlink
2019-07-11 18:20:35 -07:00
Nicole Mazzuca
5857e2c680
initial remove-in-parallel
...
doesn't actually do parallel remove yet
2019-07-11 18:20:35 -07:00
gnaggnoyil
7f80c0e2d3
Make handle features ( #6797 )
2019-07-09 16:02:48 -04:00
Robert Schumacher
2b8e225b2e
[vcpkg] Fix powershell font corruption bug ( #7094 )
...
* [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-06 13:29:46 -07:00
martin-s
91da4aab4c
Allow redirection of the scripts folder. ( #6552 )
...
* 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-07-01 22:51:07 -07:00
Victor Romero
35e985d3cc
Triplets Overlay Implementation ( #7053 )
...
* Triplets Overlay Implementation
* Use cache for get_triplet_file_path()
* Code cleanup
2019-06-27 12:20:12 -07:00
Victor Romero
9e565e9867
[--overlay-ports] Show location of overriden ports during install plan ( #7002 )
...
* [--overlay-ports] Show source location of overlayed ports during install plan
* Code cleanup
* Code cleanup
2019-06-24 12:09:48 -07:00
Victor Romero
f3db66b403
Ports Overlay partial implementation ( #6981 )
...
* 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 b069ceb2f2
* Report errors from Paragraphs::try_load_port()
2019-06-21 23:50:05 -07:00
Stephan T. Lavavej
f0902b3537
VS 2019 16.3 deprecates <experimental/filesystem>. ( #6968 )
...
VS 2019 16.3 will contain a couple of source-breaking changes:
* <experimental/filesystem> will be deprecated via an
impossible-to-miss preprocessor "#error The <experimental/filesystem>
header providing std::experimental::filesystem is deprecated by
Microsoft and will be REMOVED. It is superseded by the C++17
<filesystem> header providing std::filesystem. You can define
_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING to acknowledge
that you have received this warning."
* <filesystem> will no longer include <experimental/filesystem>.
In the long term, I believe that vcpkg should detect when it's being
built with VS 2017 15.7 or newer, compile in C++17 mode, include
<filesystem>, and use std::filesystem. (Activating this for VS 2019 16.0
or newer would also be reasonable.) Similarly for other toolsets
supporting std::filesystem.
In the short term, this commit makes vcpkg compatible with the upcoming
deprecation. First, we need to define the silencing macro before
including the appropriate header. I've chosen to define it
unconditionally (without checking for platform or version), since it
has no effect for other platforms or versions. Second, we need to deal
with <filesystem> no longer including <experimental/filesystem>.
I verified that VS 2015 Update 3 contained <experimental/filesystem>
(back then, it simply included the <filesystem> header, where the
experimental implementation was defined; this was later reorganized).
Therefore, all of vcpkg's supported MSVC toolsets have
<experimental/filesystem>, so we can simply always include it.
I've verified that this builds with both VS 2015 Update 3 and
VS 2019 16.1.3 (the current production version).
2019-06-20 11:46:55 -07:00
Sean Yen
4c7188919a
Add version-suffix and maintainer options.
2019-06-19 16:36:48 -07:00
seanyen
e5a6c7a7a6
first check-in.
2019-06-19 16:36:47 -07:00
Robert Schumacher
e5b92a3911
[vcpkg] Improve vcpkg::Files::Filesystem error handling ( #6919 )
...
* [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
2019-06-19 11:49:57 -07:00
Curtis J Bezault
b7d6160b80
[icu] Enable parallel builds ( #6695 )
...
* Add VCPKG_NUM_LOGICAL_CORES
* break out logic that retries running a command several times into its own function
* Parallelize icu
2019-06-12 14:18:43 -07:00
Phil Christensen
d962dc7d65
[vcpkg] Add optional 'Homepage' field to CONTROL ( #6844 )
...
* [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.
2019-06-10 16:35:22 -07:00
Robert Schumacher
8045248372
[vcpkg] Apply clang format ( #6826 )
2019-06-08 18:31:58 -07:00
Sean Warren
17623739df
[toolsrc] Optionally allow vcpkg to clean after each build ( #6522 )
...
* [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
2019-05-23 11:24:02 -07:00
Robert Schumacher
77af264118
[vcpkg] Fix regression in --debug
. Remove old features
featureflag. ( #6507 )
2019-05-18 18:15:31 -07:00
grdowns
eeac6187c9
Merge branch 'depend_info_no_recurse' of https://github.com/jediry/vcpkg into dev/grdowns/6055
2019-04-11 19:10:08 -07:00
Curtis J Bezault
8fe6f4bdd8
Print what port installed confliciting files ( #6037 )
2019-04-11 08:27:44 -07:00
Ryan Saunders
a492caf9d5
Merge branch 'master' into query_deps
2019-04-10 23:07:17 -07:00
Ryan Saunders
80965287d1
Add --no-recurse switch to depend-info command.
2019-04-10 23:01:37 -07:00
Victor Romero
1db72cd0ea
Revert "Print what port installed confliciting files"
...
This reverts commit 79682317c9
.
2019-04-09 15:55:20 -07:00
Curtis J Bezault
b1b7ec5c0b
Merge branch 'master' into master
2019-04-09 15:22:49 -07:00
Curtis.Bezault
79682317c9
Print what port installed confliciting files
2019-04-09 15:04:44 -07:00
Robert Schumacher
b39b0899cb
[vcpkg] Synchronize vcpkg-base with external repo ( #5934 )
2019-04-08 23:26:18 -07:00
Griffin Downs
c63e466dd6
Revert "Use feature macro to check for support of filesystem"
2019-03-21 14:10:54 -07:00
Griffin Downs
61922f919f
Update check for VS2015
2019-03-12 16:46:40 -07:00
Griffin Downs
1c879a4b92
Use identical check when creating namespace alias
2019-03-12 15:05:49 -07:00
Don
795eb45248
Use feature macro to check for support of filesystem
...
Rather than defaulting to std::experimental::filesystem in files.h a feature
macro can be used to determine what stdfs uses.
2019-03-12 10:12:18 -07:00
Phil Christensen
8fd34506c3
[vcpkg] improve xunit xml output used in CI tests
2019-02-21 22:24:20 -08:00
Robert Schumacher
39b7876db4
[vcpkg] Randomize topological sort in CI plans to allow concurrent builds to more efficiently interact
2019-01-22 17:11:36 -08:00
Billy O'Neal (VC LIBS)
02839ae4a8
vcpkg was going out of its way to use partition before calling the container erase function which is slower than just using remove_if.
...
remove_if is already stable, so separate stable and unstable versions are unnecessary.
https://iterator.wordpress.com/2016/01/31/algorithms_0/
Unstable remove_if algorithms are possible that might win, as indicated in that article; but plain remove_if provides the most consistent behavior.
2018-11-15 11:24:24 -08:00
Alexander Karatarakis
f19df646a0
Survey times. Refactor Chrono stuff. All times UTC, unless explicitly mentioned
...
Survey is set to be every 6 months, but you also get one in the first 10 days.
2018-10-17 19:43:15 -07:00
LRFLEW
3d12e5ca72
Handle symlink when installing or removing a library ( #4479 )
2018-10-17 11:46:27 -07:00
Robert Schumacher
df82d21f32
[vcpkg] Fix OSX build for old GCC versions
2018-10-16 05:53:57 -07:00
Robert Schumacher
56e1d2f696
[vcpkg] Wrap all external process spawning in a Ctrl-C catcher to avoid corrupted consoles
2018-10-16 00:35:47 -07:00
Alexander Karatarakis
276da906c5
Remove status_known()
2018-10-09 20:14:51 -07:00
Alexander Karatarakis
1f79c92eb0
Add command x-vsinstances
2018-09-18 20:55:35 -07:00
Robert Schumacher
da9850efc7
[vcpkg-ci] Fix bug in "vcpkg ci" which results in different features being installed than originally desired.
2018-07-12 02:24:02 -07:00
Robert Schumacher
d977ac231e
[vcpkg] Remove vcpkg::Archives from vcpkg::base. Add vcpkg::Hash.
2018-07-09 07:06:29 -07:00
Robert Schumacher
802f51a142
[vcpkg] Split vcpkg::Commands::Fetch into backend and frontend
2018-07-09 06:29:37 -07:00
Robert Schumacher
03a038cb86
[vcpkg] Improve metrics performance on Windows
2018-06-30 19:48:26 -07:00
Robert Schumacher
3ff69f138b
[vcpkg] Warn instead of fail on tombstone
2018-06-30 19:48:25 -07:00
Robert Schumacher
3314845a92
[vcpkg] Remove calls to where.exe to improve startup performance
2018-06-27 23:15:48 -07:00
Robert Schumacher
0ad79a67c7
[vcpkg] Enable storing archives across filesystems
2018-06-27 18:58:29 -07:00
Alexander Karatarakis
6b7b82c58a
[fetch] Refactor to allow getting the version along with the path
2018-06-19 23:07:31 -07:00
Alexander Karatarakis
31374871f2
Rename VcpkgStringRange -> StringRange
2018-06-19 23:07:31 -07:00
Alexander Karatarakis
c256ccf452
Introduce stringrange.h/cpp and visualstudio.h/cpp
2018-06-19 23:07:31 -07:00
Alexander Karatarakis
dbae3bfe56
Introduce archives.h/cpp
2018-06-19 23:07:31 -07:00
Alexander Karatarakis
3e76baa163
Introduce downloads.h/cpp
2018-06-19 23:07:31 -07:00
Robert Schumacher
78e4d07e84
[vcpkg] Improve CMake messages to account for case-sensitive filesystems.
...
Improve CMake messages to display shortest targets first (which are hopefully the "public" ones).
Also, fix bug in StringLiteral.
2018-05-22 03:37:40 -07:00
Alexander Karatarakis
285c69b0fa
[c++] Condense powershell helper code into the remaining single usage
...
`vcpkg integrate powershell` uses it
2018-05-19 19:23:33 -07:00
Alexander Karatarakis
f69cce7051
Fix typo
2018-05-16 15:34:13 -07:00
Alexander Karatarakis
1b0682a39e
[vcpkg] Significantly reduce usage of powershell. Reduce console font switching bug
2018-05-15 23:27:14 -07:00
Robert Schumacher
8f0ebdf8d5
[vcpkg] Remove utf16 usage from non-Windows
2018-05-03 15:03:35 -07:00
Robert Schumacher
a9d989ec05
[vcpkg-integrate-install] Add vcpkg.path.txt to localappdata for more generic consumption.
2018-04-28 14:17:52 -07:00
Alexander Karatarakis
9167511656
Fix #3170 issue with /permissive-
2018-04-25 18:15:54 -07:00
Alexander Karatarakis
f6530368eb
Remove noexcept from BinaryParagraph()
2018-04-25 00:19:27 -07:00
Robert Schumacher
a2aeb2f194
[vcpkg] Mark many types noexcept. Make certain code patterns more transparent to /analyze. #ifdef-out unused code on non-windows.
2018-04-12 00:47:17 -07:00
Robert Schumacher
8da8f3e5b3
[vcpkg] Rework dependencies.cpp to improve type safety and error detection
2018-04-11 23:48:32 -07:00
Alexander Karatarakis
77338ee0df
Remove more unused #include directives
2018-04-07 04:55:37 -07:00
Alexander Karatarakis
402bbbc1e2
[Checks] Take parameter by ref
2018-04-06 19:31:20 -07:00
Alexander Karatarakis
80f16f769e
Use Cache class
2018-04-06 17:26:59 -07:00
Alexander Karatarakis
1bfb01cfee
[vcpkg hash] Add sanity checking
2018-04-06 17:26:58 -07:00
Alexander Karatarakis
e712308554
[vcpkg hash] Add string hashing (as opposed to file hashing)
2018-04-06 17:24:46 -07:00
Alexander Karatarakis
870fa61e01
[vcpkg hash] Don't use cmake for non-windows hashes. Use shasum instead
2018-04-06 17:24:46 -07:00
Alexander Karatarakis
0c0f68939e
Introduce "vcpkg fetch"
2018-04-06 17:24:46 -07:00
Jacob Zhong
892f7052f9
[vcpkg] Add support of external downloader aria2
2018-04-02 18:48:14 -07:00
Alexander Karatarakis
adccba04db
[vcpkg.exe] Look for vcpkgTools in downloads/tools/$toolname-$toolversion
...
(only non-windows currently)
2018-04-02 18:47:37 -07:00
Alexander Karatarakis
3a91b0072d
Fix name
2018-03-24 01:28:24 -07:00
Alexander Karatarakis
69dfad795f
Introduce Maps::transform_values()
2018-03-24 01:27:40 -07:00
Robert Schumacher
1f62b32641
[vcpkg] Sort abi tags to ensure stability
2018-03-22 10:01:12 -07:00
Alexander Karatarakis
d45954a96b
System::get_program_files() now returns Optional<fs::path>
2018-03-21 18:21:30 -07:00
Robert Schumacher
d80dd5cbc7
[vcpkg] Handle failure to store archive
2018-03-20 19:14:20 -07:00
Alexander Karatarakis
ab7985a34b
[vcpkg-hash] Use BCrypt on Windows
2018-03-20 19:12:35 -07:00
Robert Schumacher
eab1d5c531
[vcpkg-ci] Do not rebuild libraries that were previously successful or failed
2018-03-20 19:12:35 -07:00
Jacob Zhong
d253123055
Add options and documentation for env command ( #3007 )
...
* [vcpkg] Add options and documentation for env command
* [vcpkg-env] Cleanup. Add tools/*.
2018-03-18 05:24:19 -07:00
Robert Schumacher
90c4b8dbb7
[vcpkg] Further refactoring inside build_package()
2018-03-14 09:58:23 -07:00
Robert Schumacher
3c7997215b
[vcpkg] Improve default triplets for non-windows
2018-03-13 11:06:22 -07:00
Robert Schumacher
f72b46690a
[vcpkg] Silence warnings on recent clang
2018-03-13 06:25:59 -07:00
Robert Schumacher
81b9ab1291
[vcpkg] Refactor do_build_package and add archive tombstoning
2018-03-13 04:26:00 -07:00
Robert Schumacher
6670b87c18
[vcpkg] Add VCPKG_DEFAULT_VS_PATH environment variable
2018-03-10 14:19:51 -08:00
Robert Schumacher
bad51b0462
[vcpkg] Improve handling of external toolchain files
2018-03-02 09:25:32 -08:00
Robert Schumacher
bbbbfb9e79
[vcpkg] Add tests for create_export_plan and remove unused arguments
2018-02-28 12:15:16 -08:00
Robert Schumacher
ef4febc7ef
[vcpkg] Fix exporting packages with features-depending-on-features
2018-02-28 11:55:29 -08:00
Robert Schumacher
25b8f25dad
[vcpkg] Initial commit of experimental compressed binary archiving behind a flag
2018-02-26 18:38:25 -08:00
Robert Schumacher
a2e6ffd86d
[vcpkg] Refactor VcpkgCmdArguments to not utilize global state
2018-02-26 18:22:17 -08:00
Robert Schumacher
e2980c8f91
[vcpkg] Add 7zip internal tool
2018-02-26 18:18:43 -08:00
Robert Schumacher
8b97ae2dc1
[vcpkg] Fix "just-in-time" requirements calculation
2018-02-25 10:40:28 -08:00
Robert Schumacher
0ef0300b8e
[vcpkg] Enable metrics on linux
2018-02-21 23:01:54 -08:00
Robert Schumacher
222fa36012
[vcpkg] Fixup previous commit
2018-02-21 22:21:19 -08:00
Robert Schumacher
65e241cf8b
[vcpkg] Add non-throwing implementation of write_contents()
2018-02-21 22:18:43 -08:00