Commit Graph

609 Commits

Author SHA1 Message Date
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
Alexander Karatarakis
35e19d5926 Improve error message when we have an error code 2018-02-21 19:35:12 -08:00
Alexander Karatarakis
494f3002bf Add internal option to clean packages\<port> after the build 2018-02-21 15:32:20 -08:00
Robert Schumacher
adb0930bc5 [vcpkg-metrics] Adjust reporting of build times 2018-02-20 18:02:09 -08:00
Alexander Karatarakis
9909299039 Expected::check_exit() now always shows line_info if it fails 2018-02-20 16:58:24 -08:00
Robert Schumacher
12f19c7a30 [vcpkg] Remove create_install_plan in favor of create_feature_install_plan 2018-02-19 07:11:30 -08:00
Robert Schumacher
7ed5eb18ec
Merge pull request #2817 from Squareys/fix-build-with-feature-deps
* [vcpkg] Add find/find_installed/is_installed for FeatureSpec

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Fix build command for packages that depend of features

Signed-off-by: Squareys <squareys@googlemail.com>
2018-02-16 21:32:07 -08:00
Robert Schumacher
452c8ba1ff [vcpkg] Avoid using s::status_known() -- it does not do what you think it does 2018-02-16 15:40:22 -08:00
Squareys
f1ce125a28 [vcpkg] Fix build command for packages that depend of features
Signed-off-by: Squareys <squareys@googlemail.com>
2018-02-16 14:27:59 +01:00
Squareys
16faed6785 [vcpkg] Add find/find_installed/is_installed for FeatureSpec
Signed-off-by: Squareys <squareys@googlemail.com>
2018-02-16 14:27:59 +01:00
Jonathan Hale
425d07ef7f [vcpkg] Implement Default-Features (#2697)
* [vcpkg] Add Default-Feature to make_status_pgh utility function

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Parse "Default-Features" as dependencies and add test for parsing

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Document some methods and structures

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Add install_default_features_test

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Change install_default_features_test to not have preinstalled package

* [vcpkg] Test install behaviour of default features

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Implement default features

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Test default features upgrade behavior

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Implement upgrade with default features

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Test behaviour of upgrade with default features in dependencies

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Make upgrade install new default features

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Move collecting of packages for which to prevent defaults

Further down the line to create_feature_install_plan.

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Fix core missing from default features and potential inf loop

Signed-off-by: Squareys <squareys@googlemail.com>

* [vcpkg] Rename, fix and move some tests

Signed-off-by: Squareys <squareys@googlemail.com>
2018-02-14 16:18:25 -08:00
Robert Schumacher
41a0eee5d1 [vcpkg] Add missing include. Fixes #2700. 2018-02-01 10:44:29 -08:00
atkawa7
75f19a58ba [vcpkg] Add string constructor (#2429)
* [vcpkg] Add string constructor

* Update versiont.h
2018-01-26 14:44:07 -08:00
Alexander Karatarakis
639f993798 Add missing method const 2018-01-23 15:38:08 -08:00
Robert Schumacher
130fa279f9 [vcpkg] Revert making remove_package() take status_db by const
The in-memory database must be updated to communicate to future actions that they need to look at this package's files (or not)
2018-01-23 14:14:01 -08:00
Robert Schumacher
3beeb94ec5 [vcpkg] Use InstalledPackageView instead of unsorted raw vectors 2018-01-23 06:50:24 -08:00
Robert Schumacher
78d3302940 [vcpkg] Remove overload of StatusParagraphs::find_installed() 2018-01-23 02:36:39 -08:00
Robert Schumacher
ff8a2d1726 [vcpkg] Remove AnyParagraph and InstallPlanType::INSTALL 2018-01-23 02:21:47 -08:00
Robert Schumacher
10d712ed01 [vcpkg] Added StatusParagraph::is_installed() 2018-01-23 01:56:25 -08:00
Robert Schumacher
3e42585f47 [vcpkg] Span usage improvements. 2018-01-23 01:54:31 -08:00
Robert Schumacher
0682bb734d [vcpkg] Store Optional<&> instead of Optional<*> 2018-01-22 23:40:41 -08:00
Alexander Karatarakis
f563d2b588 Use StringLiteral and constexpr for options/switches 2018-01-17 19:39:46 -08:00
Alexander Karatarakis
458dafc812 Add new struct: StringLiteral 2018-01-17 19:38:17 -08:00
Jacek Blaszczynski
a28138eb9e Add preliminary support for arm-windows and arm64-windows triplets (#2371)
* Add preliminary support for arm-windows and arm64-windows triplets

Visual Studio 15.4 shipped with new VC tools targeting arm and arm64
for desktop. This change allows for recognition and usage of new
triplets supporting arm and arm64 Windows desktop and server targets.

* Remove unnecessary changes

* Part 2

* Part 3

* Make detection of Arm64 _VCPKG_TARGET_ARCHITECTURE precise

* Enforce usage of Visual Studio CMake generatorfor arm and temporarily arm64 targets

* Address code review feedback, clean libjpeg-turbo port.cmake

* [libjpeg-turbo][tiff] Reduce changes to existing libraries.

* [vcpkg-cmake] Simplify toolchain selection logic and improve comments
2018-01-03 17:19:52 -06:00
Alexander Karatarakis
e48a655df0
Merge pull request #2431 from procxx/certutil_replace
[vcpkg-hash] Use cmake built-in hash commands instead of certutil.exe call
2018-01-02 23:23:41 +02:00
Robert Schumacher
332414111d Revert "clang-tidy fixes"
This reverts commit 2d0a76370e.
2017-12-23 07:29:12 -08:00
Stanislav Ershov
7cc7c28e20 [vcpkg-hash] Replace certutil.exe with cmake built-in hash commands 2017-12-23 17:26:05 +03:00
Alexander Karatarakis
2d0a76370e clang-tidy fixes 2017-12-22 16:52:11 -08:00
Robert Schumacher
5ac69dd02b [vcpkg] Improve error message upon graph cycle detected. 2017-12-18 23:00:11 -08:00
Robert Schumacher
63a23cf0ca [vcpkg] Fix regressions in WSL build. 2017-12-14 14:31:28 -08:00
Robert Schumacher
7a2120dba1 [vcpkg] Revert revert of #2369. 2017-12-13 11:02:04 -08:00
Robert Schumacher
eb1a7b099e [vcpkg] Fix regressions introduced with update command. Fixed issue with upgrade where it assumed downloads were not allowed. 2017-12-13 05:43:00 -08:00
Robert Schumacher
7a6ffdc75c Revert "[vcpkg-upgrade] Initial commit of upgrade command."
This reverts commit 803347a0c5.
2017-12-13 04:48:13 -08:00
Robert Schumacher
e6b16165e7 Revert "[vcpkg-upgrade] Accept list of packages to specifically upgrade."
This reverts commit d88563cd09.
2017-12-13 04:47:59 -08:00
Robert Schumacher
d88563cd09 [vcpkg-upgrade] Accept list of packages to specifically upgrade. 2017-12-13 03:01:50 -08:00
Robert Schumacher
803347a0c5 [vcpkg-upgrade] Initial commit of upgrade command. 2017-12-13 02:22:52 -08:00
Alexander Karatarakis
d540915a3a Improve error message on invalid dependency of package 2017-12-06 14:42:17 -08:00
Robert Schumacher
71f8958a06 [vcpkg-contact-survey] Add monthly survey prompt 2017-12-01 16:08:09 -08:00
Robert Schumacher
d38d4a7540 [vcpkg] Add --x-xunit internal command to print installation results in a VSTS friendly format. 2017-11-30 08:09:09 -08:00
Alexander Karatarakis
2af7fe8690 Add System::powershell_execute() 2017-11-26 02:49:23 -08:00
Robert Schumacher
5335d17f53 [vcpkg] Initial experimental support for VCPKG_BUILD_TYPE release 2017-11-25 15:25:18 -08:00
Robert Schumacher
141f10801c [vcpkg] Improve external toolchain handling. 2017-11-25 11:50:31 -08:00
Robert Schumacher
f7c10858f7
Merge pull request #1752 from martin-s/patch-vs2013
Added support for VS2013 build chain tools.
2017-11-21 21:47:51 -08:00
Alexander Karatarakis
786d53c002 Fix vcpkg integrate install for unicode usernames 2017-11-20 19:15:47 -08:00
Alexander Karatarakis
1313a418cf Introduce PowershellParameter to add '' to parameter values.
Also place that and CMakeVariable in System.h
2017-11-20 18:17:24 -08:00
Robert Schumacher
468e9e70e6 [vcpkg] Refactor to remove Build::BuildResults -- too similar to ExtendedBuildResult 2017-11-16 19:29:32 -08:00
Robert Schumacher
34b4db1fb4 [vcpkg] Output autodetected CMake usage information after install. 2017-11-16 17:42:15 -08:00
Robert Schumacher
ca1aa816d2 [vcpkg-ci] Clean up buildtrees during build to avoid consuming 200+ Gb of SSD 2017-11-14 15:27:12 -08:00
Robert Schumacher
71289ee5e8 [vcpkg-contact] Add --survey so users can easily provide feedback 2017-11-13 23:06:04 -08:00
Robert Schumacher
415789b42e [vcpkg-metrics] Replace SQM with MAC hash. 2017-11-13 21:49:11 -08:00
Robert Schumacher
6ece1871b1 [vcpkg] Simplify code -- Maps::maybe_find is not very useful compared to iterators. 2017-11-11 22:10:38 -08:00
Robert Schumacher
e4d38bb874 [vcpkg-ci] Fix crash when not passed --exclude.
Added Util::Maps::maybe_find.
Added Optional<T&>.
2017-11-11 21:45:37 -08:00
Robert Schumacher
ecd21d6cb4 [vcpkg-tests] Use PCH.
[vcpkg-update] Fix feature packages with update command.
Fixes #2003.
2017-11-11 19:47:56 -08:00
martin-s
d5a7da6bcb Merge branch 'master' of https://github.com/Microsoft/vcpkg into patch-vs2013
# Conflicts:
#	scripts/cmake/vcpkg_configure_cmake.cmake
#	toolsrc/src/vcpkg/vcpkgpaths.cpp
2017-11-05 19:13:16 +01:00
Alexander Karatarakis
61c0a33784 Improve error messages around calling powershell scripts 2017-11-04 16:40:23 -07:00
Robert Schumacher
2feea0828b [vcpkg] Improve vcpkg help -- now has per-command help! 2017-11-02 18:17:21 -07:00
Robert Schumacher
6a91d1ece1 [vcpkg] Refactor argument parsing to use common code paths. 2017-11-02 15:20:42 -07:00
Robert Schumacher
a705df80b0 [vcpkg] Fix bug where packages with uninstalled features appear to be uninstalled. 2017-10-31 03:47:35 -07:00
Robert Schumacher
925fab565a [vcpkg] --head should only apply to USER_REQUESTED packages. 2017-10-31 03:04:28 -07:00
Robert Schumacher
33fc44a0e3 [vcpkg] Add optional Abi field to BinaryParagraph for future use. 2017-10-31 02:13:49 -07:00
Robert Schumacher
5f42214207 [vcpkg] Enable pkg[*] as alias for all features. 2017-10-30 23:06:04 -07:00
Alexander Karatarakis
79ebd26605 Remove VcpkgCmdArguments.check_and_get_optional_command_arguments() overload
Also, use Util::Sets::contains() where possible.
2017-10-26 19:17:12 -07:00
Alexander Karatarakis
2c9536ce4f [vcpkg ci] Introduce --exclude option 2017-10-26 19:17:12 -07:00
Alexander Karatarakis
8a952743a3 Introduce Util::Sets::contains() 2017-10-26 19:17:12 -07:00
Alexander Karatarakis
23702360ce Merge trim() and trimmed() functions 2017-10-23 16:11:13 -07:00
Alexander Karatarakis
92d1a53215 [LineInfo] Store empty string instead of null in default construction 2017-10-23 16:11:13 -07:00
Alexander Karatarakis
7fb0342b8a [system.h] Naming scheme fixes 2017-10-19 21:35:22 -07:00
Alexander Karatarakis
50ae9eec87 Do not depend on newlines when getting output from powershell 2017-10-19 19:57:58 -07:00
Alexander Karatarakis
b1d5d8e8ba Introduce Strings::replace_all() 2017-10-19 19:57:58 -07:00
Alexander Karatarakis
ecdfd3c8e3 ci now accepts multiple triplets. Refactoring to accomodate 2017-10-18 19:04:37 -07:00
Alexander Karatarakis
3c4f620dbc autocomplete Add autocompletion for vcpkg integrate 2017-10-17 02:59:55 -07:00
Alexander Karatarakis
70b458f5d9 Remove Metrics::track_property(std::wstring) 2017-10-16 13:56:05 -07:00
Alexander Karatarakis
61777425db Remove CharType template paramter from Strings::join() 2017-10-16 13:54:38 -07:00
Alexander Karatarakis
c797ab4794 Remove Strings::wformat() 2017-10-16 13:52:35 -07:00
Alexander Karatarakis
ced047ad78 Remove usages of CWStringView, except in Strings::to_utf8() 2017-10-16 13:50:28 -07:00
Robert Schumacher
7214c3583b [vcpkg] Push use of UTF-16 to only around Win32 call boundaries. 2017-10-16 11:44:04 -07:00
Alexander Karatarakis
798f8a91e4 Introduce Vectors::concatenate() 2017-10-15 23:53:35 -07:00
Alexander Karatarakis
b486be5eb3 Introduce VcpkgPaths::get_available_triplets() 2017-10-15 23:24:34 -07:00
martin-s
9c2fa042ee Merge branch 'master' of https://github.com/Microsoft/vcpkg into patch-vs2013
# Conflicts:
#	toolsrc/include/vcpkg/vcpkgpaths.h
#	toolsrc/src/vcpkg/vcpkgpaths.cpp
2017-10-15 02:00:19 +02:00
Robert Schumacher
58fd38c820 [vcpkg-autocomplete] Add edit completion 2017-10-14 02:16:55 -07:00
Robert Schumacher
bea4c2ff49 [vcpkg] Begin refactor to use CommandStructure to represent command parsing 2017-10-13 20:58:00 -07:00
Robert Schumacher
a790820e8c [vcpkg] Merge from master into refactor-includes 2017-10-13 18:50:12 -07:00
Robert Schumacher
e17de99599 [vcpkg] Re-layout all files using new organization scheme.
All filenames and directories are lowercase. Use dots for namespace separation.
2017-10-13 18:37:41 -07:00
Alexander Karatarakis
f6a0d78c82 autocomplete Rework command, fixing a lot of corner cases in the process 2017-10-13 14:54:31 -07:00
Alexander Karatarakis
3efcc3d377 Fix #1963 (permissive- issue) 2017-10-12 11:45:08 -07:00
Robert Schumacher
bb48a94606 Merge pull request #1896 from mariatav/dev/mariatav/autocomplete
Autocomplete: Command to enable tab completion
2017-10-06 14:42:34 -07:00
Alexander Karatarakis
f0c23aeb6b Completely rework Visual Studio detection
- Now using vswhere.exe to detect all VS instance (2015 + 2017)
- Default version preference order is now: stable, prerelease, legacy
- Within each preference weight, the latest one is chosen
- findVisualStudioInstallationInstances.ps1 now has a parameter to choose VS instance
2017-10-05 18:29:34 -07:00
Alexander Karatarakis
9a963f7eff Overhaul VS selection. Add triplet option to specify VS instance 2017-10-05 18:27:07 -07:00
Alexander Karatarakis
7f68aa6630 Introduce Util::stable_keep_if() 2017-10-05 18:27:07 -07:00
Robert Schumacher
c98db75415 [vcpkg] Refactor out implication in option parsing for export 2017-10-04 16:24:03 -07:00
Robert Schumacher
ddbd57f505 [vcpkg] Reformat and fix headers. 2017-10-04 15:58:05 -07:00