* Repair msbuild damage and workaround the way we integrate on VS2015.
This is a fix for a pile of issues discovered by https://github.com/microsoft/vcpkg/pull/18906
* VS 2015 has a bug that the <VcpkgInstalledDir Condition="!$(VcpkgInstalledDir.EndsWith('\'))">$(VcpkgInstalledDir)\</VcpkgInstalledDir> dance we do to get a trailing slash is not applied correctly when VcpkgInstalledDir was edited in the same property group attempting to add the trailing slash.
* We need a trailing slash on VcpkgInstalledDir at all times, but https://github.com/microsoft/vcpkg/pull/16173 damaged this by removing it from TreatAsLocalProperty. Add the right TreatAsLocalPropertys back. Add all such slash defenses to the top of the file just beneath, eliminating need to call Path::Combine and friends by following msbuild "directory properties have a trailing slash" convention.
* Move VcpkgOSTarget and VcpkgPlatformTarget into the .targets, as they aren't intended to be overridable by users and don't appear in our selection dialog box(es).
* Don't bother avoiding setting vcpkg properties when VcpkgEnabled is off; after all, VcpkgEnabled is itself a vcpkg property :). I left attempts to skip creating items since creating items can hit the disk.
* Add _Z to several internal msbuild variables.
* Move VcpkgApplocalDeps to the .props since it's a user setting.
* Don't unconditionally use $(TLogLocation) because it is not set on 2015, and also it's per-project.
* Fixed typo in docs "VcpkgInstalledDirectory", and document the limitation that it doesn't work in 2015.
* In manifest mode, put the installed tree in a subdirectory including the triplet to make changing configurations faster.
Known limitations:
* If you change vcpkg.json without changing any .cpp files, we don't rebuild the dependencies even though we should. I don't know how to fix this but it doesn't appear to be a regression.
* Fix .tlog handling.
* Further defend against modified properties on VS2015.
* Document more VS2015 limitations.
* Remove TreatAsLocalProperty comment.
Add a missing, but required task for Azure DevOps Pipelines, to automatically authenticate against the Artifacts registry.
This should help any vcpkg newcomer to integrate easily.
* Add VCPKG_MAKE_CONFIGURE_OPTIONS that can be set in the triplet
To append options to the configure command
* Add documentation
* Expand without quotes
Co-Authored-By: ras0219 <533828+ras0219@users.noreply.github.com>
* Add VCPKG_CMAKE_CONFIGURE_OPTIONS that can be set in the triplet
Co-Authored-By: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* Bump vcpkg-cmake port-version
* Run x-add-version vcpkg-cmake
* Apply suggestions from code review
* [vcpkg-cmake] add version
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* Update binarycaching.md with clearer description
We received user feedback about the binary caching feature not being clear. I rewrote some of the opening section to try to describe it better. Feedback is appreciated.
* Apply suggestions from code review
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
* using registries reference documentation
* start work on "creating registries" document
also fix minor issue in "using registries" doc
* Robert's comments, continue working
* finish creating registries docs
* add links to example registries
* aupopa cr
* binarycaching.md: Move Configuration section to the top. Add table of contents. Make clear that file location must be absolute. Add that read is the default mode.
* Apply suggestions from code review
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
* Add mingw documentation
* Minor edits
* Fix typos
* Revise comments about tools
* Make mingw-w64 explicit
* Fix another typo
* How to avoid mixing different installations
* Ban '/bin' from 'PATH', too
* Update mingw.md
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [docs] Add CMake Integration to manifests.md
* [docs] Add command line reference to manifests.md
* Update docs/users/manifests.md
Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>
* [docs/users/manifests.md] add a link to the specification
* Accept review suggestions
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* [vcpkg] Versioning docs: Getting started
* Versioning docs: Getting started [revised]
* Link to example of manifests in msbuild
* [WIP] Reference docs
* [vcpkg] Fix links in Getting Started with Versioning
* Fix warning on clang version 10.0.0-4ubuntu1
The warning was
```shell
../src/vcpkg/commands.porthistory.cpp:55:14: error: unused function 'is_date' [-Werror,-Wunused-function]
```
* Add environment variable VCPKG_USE_NUGET_CACHE
As the name suggests, this environment variable allow tu use Nuget
cache for Nuget binary caching sources.
* Document NuGet's Cache environment variable
* [vcpkg] Add experimental x-azblob binary provider
* [vcpkg] Test azblob storage provider in CI
* [vcpkg] Address some CR comments from #13639
* [vcpkg] Fixup azure-pipelines
* [vcpkg] Fix regression where the downloaded package is purged before decompressing
* [vcpkg] Further refactor vcpkg::Downloads
* [vcpkg] Enable OSX for x-azblob testing
* [vcpkg] Reduce diff against master
* [vcpkg] Extract Downloads::details::split_uri_view
* [vcpkg] Address PR comments
* [vcpkg] Add testing and metrics for x-azblob
* [vcpkg] Add docs for x-azblob
This includes a note that it is currently experimental
* [vcpkg] Address CR comments
* [vcpkg] Revert pipeline changes except OSX to minimize disruption
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [vcpkg] Split vcpkg/base/json.h into vcpkg/base/jsonreader.h
* [vcpkg] Extract definitions of Configuration-Deserializer (& friends)
These types are only used by VcpkgPaths during the initial parse.
* [vcpkg] Introduce levenshtein-distance suggestions for json errors
* [vcpkg] Fix regression in supports handling
* [vcpkg] Fix signed/unsigned mismatch
* [vcpkg] Address CR comments
* [vcpkg] Address CR comments
* Fix compiler error from merge conflict.
* [vcpkg] Change parameters of Reader::check_for_unexpected_fields to better match declaration
* [vcpkg] Improve errors from features set
* [vcpkg] Fix includes
* [vcpkg] Reuse code
* [vcpkg] Check the "name" field always to maximize error information
* [docs] Improve english phrasing in manifests.md
* [vcpkg] Correct docs link for manifests
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [vcpkg] add env var VCPKG_OVERLAY_TRIPLETS
* shorten way to complicated doc
* run clang format
* Apply CR
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
* Apply CR2
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg_docs] Add note about GitHub hosted agents
* [vcpkg-docs] Add ./ prefixes to GitHub example
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg docs] add docs for manifest files
These are just for the maintainer docs,
not user docs.
* [vcpkg] EBNF-ify platform expression parsing
this modifies nothing about what strings are accepted or rejected,
it just moves stuff around.
also adds tests.
* [vcpkg docs] add manifest mode example
* [wip] docs for augustin
also fix tabs
* [vcpkg manifest] switch to using maps for features
* Apply suggestions from code review
* un-experimentize format-manifest
* flesh out the user manifest mode docs
* CRs
* billy CRs
* final personal pass-thru