Commit Graph

27 Commits

Author SHA1 Message Date
Billy O'Neal
aa60b7efa5
[vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (#15474)
This reduces bootstrap cost for Windows customers, resolving the issue initially submitted as #12502 .

The `toolsrc` tree was extracted to https://github.com/microsoft/vcpkg-tool. `bootstrap.sh` was changed to download the right source tarball, extract, and build it. This was chosen over the previous attempt, a submodule, over concerns of accidentally destroying people's local modifications.
2021-02-04 10:15:44 -08:00
Clare Macrae
a0016c0690
[docs] Correct the "new port requests" link in FAQ (#15845)
Fixes #15844
2021-01-24 21:37:36 -08:00
nicole mazzuca
1d8f0acc9c
[vcpkg manifest] Manifest Implementation (#11757)
==== Changes Related to manifests ====

* Add the `manifests` feature flag
  * This only says whether we look for a `vcpkg.json` in the cwd, not
    whether we support parsing manifests (for ports, for example)
* Changes to the manifests RFC
  * `"authors"` -> `"maintainers"`
  * `--x-classic-mode` -> `-manifests` \in `vcpkg_feature_flags`
  * reserve `"core"` in addition to `"default"`, since that's already
    reserved for features
  * Add a small helper note about what identifiers must look like
  * `<license-string>`: SPDX v3.8 -> v3.9
  * `"feature"."description"` is allowed to be an array of strings as well
  * `"version"` -> `"version-string"` for forward-compat with versions
    RFC
* Add the `--feature-flags` option
* Add the ability to turn off feature flags via passing
  `-<feature-flag>` to `VCPKG_FEATURE_FLAGS` or `--feature-flags`
* Add CMake toolchain support for manifests
  * Requires either:
    * a feature flag of `manifests` in either `Env{VCPKG_FEATURE_FLAGS}`
      or `VCPKG_FEATURE_FLAGS`
    * Passing the `VCPKG_ENABLE_MANIFESTS` option
  * The toolchain will install your packages to
    `${VCPKG_MANIFEST_DIR}/vcpkg_installed`.
* Add MSBuild `vcpkg integrate install` support for manifests
  * Requires `VcpkgEnableManifest` to be true
* `vcpkg create` creates a port that has a `vcpkg.json` instead of a
  `CONTROL`
* argparse, abseil, 3fd, and avisynthplus ports switched to manifest
  from CONTROL
* Add support for `--x-manifest-root`, as well as code for finding it if
  not passed
* Add support for parsing manifests!
* Add a filesystem lock!

==== Important Changes which are somewhat unrelated to manifests ====

* Rename `logicexpression.{h,cpp}` to `platform-expression.{h,cpp}`
* Add `PlatformExpression` type which takes the place of the old logic
  expression
  * Split the parsing of platform expressions from checking whether
    they're true or not
  * Eagerly parse PlatformExpressions as opposed to leaving them as
    strings
* Add checking for feature flag consistency
  * i.e., if `-binarycaching` is passed, you shouldn't be passing
    `--binarysource`
* Add the `Json::Reader` type which, with the help of user-defined
  visitors, converts JSON to your internal type
* VcpkgArgParser: place the switch names into a constant as opposed to
  using magic constants
  * In general update the parsing code so that this ^ works
* Add `Port-Version` fields to CONTROL files
  * This replaces the existing practice of
    `Version: <my-version>-<port-version>`

==== Smaller changes ====
* small drive-by cleanups to some CMake
  * `${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}` ->
    `${CURRENT_INSTALLED_DIR}`
  * Remove `-analyze` when compiling with clang-cl, since that's not a
    supported flag (vcpkg's build system)
  * Add a message about which compiler is detected by vcpkg's build
    system machinery
* Fix `Expected::then`
* Convert `""` to `{}` for `std::string` and `fs::path`, to avoid a
  `strlen` (additionally, `.empty()` instead of `== ""`, and `.clear()`)
* Add `Strings::strto` which converts strings to numeric types
* Support built-in arrays and `StringView` for `Strings::join`
* Add `operator<` and friends to `StringView`
* Add `substr` to `StringView`
* SourceParagraphParser gets some new errors
2020-06-30 10:40:18 -07:00
nicole mazzuca
09319cd79e
[vcpkg metrics] Allow someone to opt out after build (#11542)
* [vcpkg metrics] start using json library

Additionally, add floats to the JSON library since they're required.

* [vcpkg metrics] allow users to disable metrics after the build

Additionally, as a drive by, fix UUID generation

* fix metrics data

* code review
2020-05-29 14:09:03 -07:00
dan-shaw
0a0440c1a8 update telemetry 2019-11-22 15:07:00 -08:00
dan-shaw
4984408bed
Update privacy.md 2019-11-14 13:21:54 -08:00
dan-shaw
552296a741 [vcpkg] update telemetry 2019-11-14 13:12:36 -08:00
shogerr
5d90c36ad5 Add detailed instructions for custom configurations (#8258)
Resolves #2346
2019-09-19 15:01:17 -07:00
Phil Christensen
34cadd0b04
[docs] clean up CONTROL file documentation (#6378) 2019-05-09 13:27:00 -07:00
Bo Rydberg
c247a7d21f Fix minor spelling mistakes in documentation (#5620) 2019-03-10 20:31:02 -07:00
Simon Brand
077b7f1378 Add packaging GitHub repo example 2018-11-16 11:24:19 +00:00
Simon Brand
56c94a8102 Rename example documents
The current names and titles of the examples put too much emphasis on the package which is being demonstrated rather than the concept. This can be jarring for newcomers. This patch renames them to put the emphasis on the concept instead.
2018-11-15 11:23:34 +00:00
Raydelto Hernandez
26d431c120
Removing cases and making clearer the text
The word Privacy was capitalized for no reason. I've also added to word programming so that it's clear that the document refers to programming languages, before it referred only to language.
2018-10-18 17:37:20 -03:00
Alexander Karatarakis
e441811bc2 Fix typo in FAQ 2018-08-23 02:45:32 -07:00
Alexander Karatarakis
56cc9ac15c Make bootstrap.bat parameters match bootstrap.sh 2018-06-12 17:13:17 -07:00
Alexander Karatarakis
82f53ac82c Fix slash 2018-06-11 13:26:16 -07:00
Alexander Karatarakis
5af585756c Fix shell prefix 2018-06-08 18:41:46 -07:00
Alexander Karatarakis
52b945f8a3 Update doc 2018-06-08 18:40:20 -07:00
Alexander Karatarakis
39c70573df Update documentation 2018-06-08 16:33:38 -07:00
Robert Schumacher
2988f8577b [faq.md] Update with support for Linux/OSX. Fixes #3416. 2018-05-17 23:39:36 -07:00
Mateusz Loskot
be0e643437 Update FAQ about cleaning downloads and build trees (#3044)
* Update FAQ about cleaning downloads and build trees

Answers #2202 and #2538

* [vcpkg-docs] Add packages folder to list of temporary folders
2018-03-18 04:36:55 -07:00
Darío Hereñú
fe842b31d4 Minor fix 2017-10-21 22:39:01 +02:00
paercebal
e5861d356b Updated the documentation to reflect the greater tolerance on configs 2017-08-31 10:59:42 +02:00
Robert Schumacher
b966cdce67 [vcpkg-docs] Add integrate project to faq section 2017-08-30 21:00:59 -07:00
paercebal
23649f58ec Add doc on Vcpkg integration per project 2017-08-29 18:21:31 +02:00
paercebal
ab78c3b6ed Add doc on Vcpkg integration for custom config 2017-08-29 17:56:11 +02:00
Robert Schumacher
49cd399586 [vcpkg-docs] Rework documentation for compatibility with readthedocs.io and MkDocs. 2017-05-28 14:15:13 -07:00