Commit Graph

636 Commits

Author SHA1 Message Date
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
Robert Schumacher
a34b6ee16e Merge branch 'export-ifw' of https://github.com/podsvirov/vcpkg into podsvirov-export-ifw 2017-10-04 14:14:58 -07:00
Robert Schumacher
63753e86a6 [vcpkg] Split toolset searches based on triplet's specification (don't pick v120 if it's blank). 2017-10-03 16:00:23 -07:00
Robert Schumacher
d5705e87c4 Merge branch 'master' into martin-s-patch-vs2013 2017-10-03 15:52:29 -07:00
Robert Schumacher
3838d58804 [vcpkg] Add more operator== to CStringView. Uppercase Span to follow naming convention. 2017-10-03 15:51:24 -07:00
Alexander Karatarakis
e25a31eca8 Suppress 4768 warning from shlobj.h 2017-10-02 17:29:11 -07:00
Maria Tavlaki
b3e06443ea Create stub autocomplete function 2017-10-02 01:23:55 +03:00
Alexander Karatarakis
2de9f83ff2 Introduce Strings::case_insensitive_ascii_starts_with(); 2017-10-01 13:22:29 -07:00
Alexander Karatarakis
0ccea4f367 [Toolset selection] Use VS2017 vcvarsall for v140 if available 2017-09-27 18:55:09 -07:00
Konstantin Podsvirov
c6149fae2f [vcpkg-export-ifw] Usage QtIFW tools
Download and use tools to make repository and installer
2017-09-28 00:21:26 +03:00
Konstantin Podsvirov
68b9c2d8b9 [vcpkg-export-ifw] Separate IFW loop
Separate IFW loop compatible with main export loop
Fixed mistakes in templates
Set current date to ReleaseDate tag
2017-09-28 00:21:26 +03:00
Konstantin Podsvirov
ba0cc3f1d7 WIP: Export IFW
Add export to binary crossplatform repository/installer
with GUI based on QtIFW:
http://doc.qt.io/qtinstallerframework/ifw-overview.html

For correct operation of these changes,
you must use the corrected QtIFW:
https://codereview.qt-project.org/#/c/203958
2017-09-28 00:21:25 +03:00
Alexander Karatarakis
2d6029e41c Introduce Version::warn_if_vcpkg_version_mismatch() 2017-09-14 04:08:02 -07:00
Alexander Karatarakis
d521d366b2 Rework vcpkg install (and vcpkg ci)
- Refactor install-plan-execution code to reduce duplication
- Add `vcpkg install --keep-going` option
- Add elapsed time to each invidial package and total time
- Add a counter to the install (e.g. Starting package 3/12: <name>)
2017-09-13 17:23:04 -07:00
Alexander Karatarakis
43dde3f489 Refactor package removal code to eliminate its duplication 2017-09-13 16:10:25 -07:00
Alexander Karatarakis
d2de7d3e7d [vcpkg_Build.h] Naming scheme, unneeded #include, unneeded inline 2017-09-07 16:16:30 -07:00
martin-s
c167c70c27 - Added support for VS2013 build chain tools. 2017-09-02 16:48:29 +02:00
Alexander Karatarakis
95fa51a12a Remove unused #include 2017-09-01 17:14:26 -07:00
Alexander Karatarakis
e25a125d85 Don't return by const copy 2017-09-01 17:13:45 -07:00
Alexander Karatarakis
66eeab0015 [Triplet] Naming convention and missing const 2017-09-01 17:08:21 -07:00
Alexander Karatarakis
2d758beea9 [vcpkg_Checks] Naming convention fixes 2017-09-01 17:05:22 -07:00
Alexander Karatarakis
c15c80e802 [vcpkg_Parse] Add missing const 2017-09-01 17:01:02 -07:00
Alexander Karatarakis
badecd4207 CoffFileReader naming convention 2017-08-31 18:03:54 -07:00
Alexander Karatarakis
72394491b2 Naming convention 2017-08-31 18:02:51 -07:00
Alexander Karatarakis
d86d9727f6 Function naming convention 2017-08-31 18:02:12 -07:00
Alexander Karatarakis
62cde6598d Move function to Files::find_from_PATH() 2017-08-30 22:42:43 -07:00
Alexander Karatarakis
d35a5c98e4 Fix /permissive- issue 2017-08-30 12:35:15 -07:00
Alexander Karatarakis
5337adf107 Remove Strings::is_empty(). Use std::string.empty() 2017-08-29 16:20:46 -07:00
Alexander Karatarakis
992f192c5e Add System::println() with no args 2017-08-28 19:54:01 -07:00
Alexander Karatarakis
5b91a84230 Change Strings::EMPTY to char * 2017-08-28 19:54:01 -07:00
Alexander Karatarakis
f3d803addf Introduce Strings::is_empty() 2017-08-28 19:54:01 -07:00
Alexander Karatarakis
7d46adb47c Use Strings::EMPTY 2017-08-28 19:54:01 -07:00
Alexander Karatarakis
259d6f83b4 Introduce Strings::EMPTY 2017-08-28 19:54:01 -07:00
Alexander Karatarakis
dc46f68f6a [Strings::join()] Modify to work for any container 2017-08-28 19:54:01 -07:00
Alexander Karatarakis
75cc10b0f3 Add missing const 2017-08-28 17:10:50 -07:00
Alexander Karatarakis
2140236506 Fix /permissive- issue 2017-08-28 14:42:44 -07:00
Robert Schumacher
3a026cbe21 Merge pull request #1690 from Mixaill/vcpkg-toolsetsdetection-fix
[vcpkg] testing for architectures supported by toolset
2017-08-26 00:38:27 -07:00
Robert Schumacher
70949b0d81 [vcpkg] Use vcvars argument strings from detected toolset. Avoid c-string pointer comparison. 2017-08-26 00:20:03 -07:00
Robert Schumacher
67b9475ef2 [vcpkg] Set codepage to 65001, duplicate of #1682, fixes #1660 #1631 #1644 2017-08-25 17:30:56 -07:00
Robert Schumacher
98ee8a949a [vcpkg] Trap Ctrl-C, enable thread safety for global data structures 2017-08-25 16:03:57 -07:00
Alexander Karatarakis
88d96a3699 Run cleanup before exiting instead of calling atexit 2017-08-24 16:29:41 -07:00
Alexander Karatarakis
e237682cad Introduce GlobalState struct 2017-08-24 16:29:40 -07:00
Alexander Karatarakis
14f42a66d3 [Strings::format] Add overload for unisigned long 2017-08-24 12:07:16 -07:00
Mikhail Paulyshka
7dd082cad7 [vcpkg] testing for architectures supported by toolset 2017-08-24 13:26:42 +03:00
Robert Schumacher
bed70f54bc [vcpkg] Add stringify for BuildResult::FILE_CONFLICTS 2017-08-23 22:46:28 -07:00
Robert Schumacher
14a99b0730 [vcpkg] Deduplicate code from feature packages 2017-08-23 15:57:46 -07:00
Robert Schumacher
687ea82f89 [vcpkg] Improve formatting of search and list. Fix gl2ps version. 2017-08-22 15:59:27 -07:00
Robert Schumacher
92dd1b77ed [vcpkg] Add Util::ResourceBase, use MoveOnlyBase 2017-08-22 15:14:15 -07:00
Robert Schumacher
6784704638 [vcpkg] Improve error messages when a feature is requested that doesn't exist. 2017-08-21 21:08:43 -07:00
Robert Schumacher
d708484077 [vcpkg] Feature packages now include user requested packages even if they are already installed. 2017-08-21 20:06:47 -07:00
Robert Schumacher
27be8b5c74 [vcpkg] Fix feature packages for non-default triplets. Reduce duplication between normal installs and feature installs. 2017-08-21 17:16:14 -07:00
Robert Schumacher
c7de717cbc [vcpkg] Refactor features implementation. Improve error handling. 2017-08-20 20:06:21 -07:00
Robert Schumacher
1ba7cef1f0 [vcpkg] Remove incomplete default features implementation 2017-08-20 19:36:43 -07:00
Robert Schumacher
bd222504ab [vcpkg] Refactor parsing together and flatten featurespec usages 2017-08-20 19:09:39 -07:00
Robert Schumacher
f219ce0b8c [vcpkg] Reorganize some parsing functions. 2017-08-19 19:27:34 -07:00
Robert Schumacher
4d34488649 [vcpkg] Consolidate specifier parsing 2017-08-18 20:32:35 -07:00
Daniel Shaw
307b761df4 partial end to end feature packages hdf5
added vcpkg feature package support to other commands

remove comments

change qualifier bracket to parens

added features to qualified dependencies
2017-08-16 15:10:50 -07:00
Alexander Karatarakis
8b49289b77 [BinaryParagraph] Remove extra qualification (permissive-) 2017-07-31 03:18:00 -07:00
Robert Schumacher
06597edfb7 [vcpkg-export] Add NuGet id and NuGet version options to export command. 2017-07-26 16:25:24 -07:00
Robert Schumacher
60296cf161 [vcpkg] Add support for single-option arguments. 2017-07-26 14:28:19 -07:00
Daniel Shaw
59389ca236 end to end feature pkg draft 2017-07-24 15:21:32 -07:00
Daniel Shaw
1445115906 refactor feature packages 2017-07-19 14:19:11 -07:00
Daniel Shaw
336e25218a feature packages graph traversal 2017-07-14 13:21:25 -07:00
Daniel Shaw
7944f9f777 refactor create_install_plan tests 2017-06-27 15:46:40 -07:00
Daniel Shaw
838e8783d6 adding tests for install plans 2017-06-26 15:36:57 -07:00
Alexander Karatarakis
b188fefeca [triplet] Use pointer to instance-controlled strings and cache hashcode 2017-06-21 15:27:34 -07:00
Robert Schumacher
8741214bf6 [vcpkg] Use unique_ptr<> for paragraphs. Post-parser phase rework. 2017-06-20 09:36:21 -07:00
Robert Schumacher
34c08e2b15 Merge branch 'feature_package_implementation' 2017-06-19 15:09:54 -07:00
Daniel Shaw
bca0988023 [vcpkg] feature packages initial parsing 2017-06-19 15:06:15 -07:00
Alexander Karatarakis
8d955c83b5 Use std::experimental::filesystem instead of std::tr2::sys 2017-06-19 13:25:41 -07:00
Robert Schumacher
44a995d446 [vcpkg] Hotfix previous commit. 2017-06-08 04:36:11 -07:00
Robert Schumacher
247a6cec90 [vcpkg] Improve diagnostics upon port load failure 2017-06-08 04:32:57 -07:00
Alexander Karatarakis
9a698d7088 Convert BuildType/Configuration Type into simple enum classes 2017-06-06 16:37:58 -07:00
Robert Schumacher
831f0631f7 [vcpkg] Added parser support for 'Supports' field 2017-06-06 16:08:36 -07:00