Граф коммитов

2120 Коммитов

Автор SHA1 Сообщение Дата
Billy O'Neal dbe5d27b65
Use /MT and CMake 3.15. (#182)
* Use /MT and CMake 3.15.

CMakeLists.txt:
1 Bump to 3.15
4 Turn on policy CMP0092 to disable default cmake warnings.
30 Remove previous now-redundant use of MSVC_RUNTIME_LIBRARY
99 Remove regex obsoleted by CMP0092

utilities.cmake
194 Remove clang 9.x development warnings workaround.
203 Remove /W3 when development warnings are off.

* Make CMAKE_MSVC_RUNTIME_LIBRARY toolchain and command line overridable.

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-09-03 14:31:45 -07:00
Robert Schumacher 6d539419b0
Enable CMAKE_MSVC_RUNTIME_LIBRARY (#180) 2021-08-31 20:12:33 -07:00
autoantwort 321db28235
[asset caching] Add cli parameter to pass asset sources (#174)
* [asset caching] Add cli parameter to pass asset sources

* Introduce imbue_from_fake_environment to avoid environment dependency in tests

* Fix broken test

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-08-31 20:11:28 -07:00
Robert Schumacher a23237293d
Do not consult vswhere.exe unless the triplet requests Visual Studio support (#159) 2021-08-19 17:34:13 -07:00
Kevin Lalumiere 5e55749af9
Add triplet option VCPKG_DISABLE_COMPILER_TRACKING (#110)
* Add NO_COMPILER_TRACKING triplet option

* Use 'disable_compiler_tracking'

* Handle per-port compiler tracking

* Add test for compiler tracking

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-08-19 15:54:07 -07:00
autoantwort 0edcc5744f
Update format to clang-format 12 (#164) 2021-08-18 14:51:38 -07:00
autoantwort 63ca034dc5
For asset cache put opertions to file:// the http status code is 0, but this is not an error (#162) 2021-08-17 17:26:28 -07:00
Robert Schumacher f6e44dfbd3
Implement parallel cache decompression (#161)
* Implement parallel cache decompression

* Switch parallel fmap to queue instead of chunked

* Switch to std::async

* Inline parallel_fmap due to Only One User
2021-08-17 15:50:27 -07:00
Robert Schumacher 95aa40d156
Remove all uses of std::io_errc (#158) 2021-08-13 22:37:47 -07:00
Billy O'Neal 85ab112d5e
Repackage macos to make less manual work when creating a github release. (#157) 2021-08-12 18:29:34 -07:00
Billy O'Neal 4544175405
Update version number. (#156) 2021-08-12 15:57:28 -07:00
Billy O'Neal e893851e1e
Use unique_ptr rather than a bespoke lock type. (#154) 2021-08-11 17:20:57 -07:00
Robert Schumacher ea594278d1
Retry msi on ERROR_INSTALL_ALREADY_RUNNING (#153) 2021-08-11 12:49:50 -07:00
Billy O'Neal a96332cdcc
Preserve RAII for file locking through virtual dispatch. (#152)
* Preserve RAII for file locking through virtual dispatch.

This change was extracted from adding the POSIX backend for filesystem to be easier to review. It moves everything related to file locking into files.cpp, and eliminates ifdefs in files.h for platform selection. It uses std::function to unlock the lock instead. Notably, this is the same number of virtual dispatches as before, and eliminates a theoretical lifetime problem where the Filesystem* did not outlive the ExclusiveFileLock type.

* Update include/vcpkg/base/files.h

Co-authored-by: Billy O'Neal <bion@microsoft.com>

Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
2021-08-11 11:33:30 -07:00
Robert Schumacher 5058aed7bc
Fix versioning features of transitive manifests (#151)
* Fix versioning features of transitive manifests

* Format manifests
2021-08-11 10:38:41 -07:00
Vitaly Zaitsev 8f850e8039
Implemented base CMake installation support. (#132)
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2021-08-10 15:53:43 -07:00
Billy O'Neal 8405016906
Add testing with gcc-6 and fix build breaks. (#150) 2021-08-09 15:49:46 -07:00
Billy O'Neal cb1e40d6fe
Move all references to stdfs:: into files.cpp (#141)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2021-08-06 14:43:46 -07:00
Alexander Neumann f9131cb4f4
Add Intel oneAPI env variables. (#148)
* add Intel oneAPI env variables.
Required to use the Intel Fortran compiler instead of gfortran
2021-08-06 13:39:27 -07:00
nicole mazzuca 1a6d67b815 Bump version to 2021-08-03 2021-08-03 15:45:42 -07:00
Billy O'Neal 8799c7f34e
Delete tests of vcpkg_minimum_required, obsoleted by https://github.com/microsoft/vcpkg/pull/19257 (#144) 2021-08-02 14:43:32 -07:00
Billy O'Neal 59112b1afc
Remove "return std::move(local);"s. (#145) 2021-08-02 12:36:10 -07:00
Billy O'Neal 4bb7363fdc
Change array_elements to return empty vector rather than nullopt. (#146) 2021-08-02 12:36:00 -07:00
Stefano Sinigardi 7265ebc09a
Increase timeouts for downloads (#116) 2021-07-30 13:43:04 -07:00
nicole mazzuca 1e4448e073
[x-download] teach to not need a sha512 (#142) 2021-07-30 13:42:23 -07:00
Billy O'Neal 816d21f303
Fix master build. (#143) 2021-07-29 14:47:24 -07:00
autoantwort 19863472b3
vcpkg integrate: Add support for zsh (#87)
* vcpkg integrate: Add support for zsh
2021-07-29 12:02:59 -07:00
Billy O'Neal 9c2f4d2b34
Enforce cross platform paths in registries. (#137)
* Enforce cross platform paths in registries.

This also drops the dependency on path::iterator which means Bill doesn't have to implement it in project depath

* Also fix array_elements to actually be diengaged on failure.
2021-07-28 15:00:44 -07:00
nicole mazzuca 72ec56426f
change the vcpkglib library to an object library (#139)
this is in line with that vcpkglib is _not_ a thing we want to ship

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2021-07-28 13:37:07 -07:00
Robert Schumacher 85b2b99a17
Improve error messages around versioning baselines (#130)
* Improve error messages around versioning baselines

* Disentangle filesystem-style use vs git-style use of builtin baseline
2021-07-28 13:27:25 -07:00
Billy O'Neal a2279823b5
Add signature validation to tls12-download.exe. (#136) 2021-07-27 20:07:31 -07:00
Billy O'Neal 9425cf5f51
Bump version number to today. (#135) 2021-07-26 18:01:29 -07:00
Robert Schumacher 464aec54c5
Improve messages based on feedback from Microsoft/vcpkg#19104 (#134) 2021-07-26 17:48:53 -07:00
Billy O'Neal dee2b65c7c
Unify error handling in filesystem and localize all stdfs:: (#126)
Unify error handling in filesystem.

Change all filesystem functions that may fail to have the form

f(args, args, error_code&)
f(args, args, LineInfo)

with "ignore_errors_t" replaced with a workaround to pass a throwaway std::error_code.

Adds get_directories_(non_)?recursive and get_regular_files(non_)?_recursive, which move the most common filtering criterion of callers of get_files_(non_)?recursive into the filesystem layer. This will improve performance on Windows where the directory-ness of an entity is returned as part of the normal enumeration process, which will save us N file open calls.

Changes termination messages to use a shared infrastructure which avoids bugs where the format string does not match the set of inputs.

Also changed generic_u8string to u8string in a lot of appropriate places.

Audited case sensitivity in path comparison to be consistent.
2021-07-26 17:48:28 -07:00
Robert Schumacher d8ac976089
Teach overrides to understand embedded port versions (#129) 2021-07-26 14:57:02 -07:00
nicole mazzuca fc18c5ef5f
fix check for ignore_lock_failures (#128)
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2021-07-26 14:12:46 -07:00
Robert Schumacher e04703f1e5
Add more specific error message if user attempts to use comments in json (#131) 2021-07-26 13:35:36 -07:00
autoantwort cbc83eb79f
vcpkg install: requesting non existing features should be an error (#106)
* vcpkg install: requesting non existing features should be an error

* Support print2(VCPKG_LINE_INFO) for debugging

* Handle the case of a feature removal during package upgrade

* Fix formatting

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-07-26 13:07:09 -07:00
Robert Schumacher c2f2cf3036
Display usage information after installing in manifest mode (#133) 2021-07-26 13:05:19 -07:00
Billy O'Neal f6c8e328d9
Delete machine_type.h/cpp (#120)
It didn't make sense to be burning a whole TU for one function.

Also unwrap "DllInfo" and "LibInfo" structs that were not providing value.
2021-07-22 15:56:46 -07:00
Ryan b2bddd62cc
Add support for msvc v143 toolset (#124) 2021-07-22 15:09:51 -07:00
Billy O'Neal cec5e1c2b0
Make symlink tests work on all Windows versions (#125)
* Make symlink tests work on all Windows versions

test/files.cpp
Rather than try to read windows client specific registry keys as a means of predicting whether symlinks work, now that we distribute vcpkg in binary forms on Windows, we can assume it is built with a modern compiler, and thus with std::filesystem. This means we can detect the problematic condition by just attempting to create the symlink, and testing if we get ERROR_PRIVILEGE_NOT_HELD back.

utilities.cmake:
Delete handling for old compilers on Windows.

files.h and base/files.cpp:
Add create_directory_symlink called by tests, and the missing overloads of create_symlink.
Delete code blocks looking for defined(_WIN32) && !VCPKG_USE_STD_FILESYSTEM.
Fix bad format string in create_directory error message without enough %s.
Remove unnecessary regex_search for invalid chars.

util.h and util.cpp:
Delete extra copy of create_symlink infrastructure and mechanism to guess if create_symlink works.

strings.cpp:
Inline b32_encode

hash.h and hash.cpp and hash.cpp:
Drive by delete SHA1.

* Delete unused rol32 and format.

* Delete unused variable.

Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
2021-07-22 13:32:39 -07:00
Billy O'Neal 244f69e78d
Bumped version to 2021-07-21 (#123) 2021-07-21 11:37:52 -07:00
Billy O'Neal 5575acecc0
Fix build failure on GCC 7. (#122)
* Fix build failure on GCC 7.

Fixes https://github.com/microsoft/vcpkg/issues/19022

* Fix job name.
2021-07-21 11:26:16 -07:00
autoantwort ed7add8643
platform expressions: windows should also be true for mingw systems (#113) 2021-07-19 16:12:08 -07:00
Billy O'Neal 1b4f920162
Change signing pool from VSEng-MicroBuildVS2019 to VSEngSS-MicroBuild2019 (#121) 2021-07-19 15:27:51 -07:00
Billy O'Neal e7bbe0a2ff
stdfs::copy_options -> copy_options (#119)
In keeping with our desire to not say stdfs outside of files.h machinery, this PR removes unnecessary stdfs:: qualifications from copy_options.
2021-07-19 12:18:08 -07:00
Billy O'Neal 3be6b75f69
Update version number to 2021-07-16 (#118) 2021-07-16 16:33:22 -07:00
Robert Schumacher 4eba3d3e00
Teach vcpkg fetch to handle msi files (#117)
* Teach vcpkg fetch to handle msi files

* Fix linux build

* Add e2e test for vcpkg fetch
2021-07-15 14:40:06 -07:00
Billy O'Neal 8ca028c3f4
Avoid repeated binary cache server operations. (#97)
We recently have run into problems in our normal CI infrastructure when we increased the size of the VMs where all VMs tried to fetch the same nonexistent entries over and over and caused failures. To alievate that problem, this changes binary caching to not issue server I/Os for status that vcpkg already knows.

To that end, this is a substantial redesign of the IBinaryProvider mechanism to give this global knowledge of which things have been restored from cache, such that MergedBinaryProvider is replaced with class BinaryCache, and the functions that were 'masaging' the interface to IBinaryProvider are put in that type. Moreover, NullBinaryProvder is an empty binary cache.

Incidential fixes:
* Different commands were inconsistent in how they configured the binary cache, in particular manifest mode and normal mode installs treated --download-only differently.
* The different IBinaryProviders that make a temp zip file all use the same zip file name.
2021-07-15 12:59:28 -07:00