Components of microsoft/vcpkg's binary.
Перейти к файлу
Javier Matos Denizac 99de266b62
Editing asset cache output when using x-script (#1541)
* improve messaging for x-script

* add newlines @ EOF

* format

* respond to Billy feedback

* test order of messaging

---------

Co-authored-by: Javier Matos <javiermatos@Javiers-Laptop.local>
2024-11-19 10:34:51 -05:00
.config/1espt Updated for https://dev.azure.com/devdiv/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_build?definitionId=17772 by using baselines generated in https://dev.azure.com/devdiv/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_build/results?buildId=10125589 (#1484) 2024-08-28 22:43:35 +00:00
.github/workflows Change to macOS CI runs from macOS-12 to macOS-13 (#1536) 2024-11-04 13:42:36 -08:00
.vscode Add Campaign IDs (#1408) 2024-06-24 11:31:37 -07:00
azure-pipelines Editing asset cache output when using x-script (#1541) 2024-11-19 10:34:51 -05:00
cmake Revert one of the warning skip removals from https://github.com/microsoft/vcpkg-tool/pull/1457 2024-07-31 22:43:43 -07:00
docs Allow "baseline" in filesystem registries. (#1463) 2024-07-30 11:11:27 -07:00
include Fix all download failures claiming that the download was disabled by x-block-origin. (#1513) 2024-11-11 13:36:51 -08:00
locales [localization][automated][ci skip] update locale files 2024-11-15 05:03:27 +00:00
scripts Sign posh-vcpkg.psd1 (#1432) 2024-06-21 15:54:03 -07:00
src Editing asset cache output when using x-script (#1541) 2024-11-19 10:34:51 -05:00
vcpkg-artifacts Fix unset on POSIX. (#1499) 2024-09-30 12:54:26 -07:00
vcpkg-init Update vcpkg-scripts SHA 2024-11-11. (#1538) 2024-11-11 22:49:18 +00:00
.clang-format Always use <vcpkg-test/util.h> rather than <catch2/catch.hpp>. (#1252) 2023-10-27 17:03:19 -07:00
.gitattributes dos2unix all the things (#1289) 2023-11-27 15:02:21 -08:00
.gitignore dos2unix all the things (#1289) 2023-11-27 15:02:21 -08:00
CMakeLists.txt Disable -Wno-dangling-reference on GCC 13. (#1543) 2024-11-15 15:08:45 -08:00
CMakePresets.json Add cmake presets representing bootstrap-vcpkg.sh invokations (#1380) 2024-04-04 12:11:31 -07:00
CODE_OF_CONDUCT.md Move vcpkg-ce development into the vcpkg-tool repo. (#428) 2022-03-22 17:07:57 -07:00
Generate-SpdxLicenseList.ps1 [manifest license] fully implement SPDX, plus general parsing stuff (#334) 2022-02-01 14:43:06 -08:00
LICENSE.txt dos2unix all the things (#1289) 2023-11-27 15:02:21 -08:00
LocProject.json [localization] set up the pipeline! (#364) 2022-02-22 15:44:52 -08:00
NOTICE.txt Update vcpkg's Third Party Notices file to include artifacts parts. (#967) 2023-03-20 16:00:07 -07:00
README.md dos2unix all the things (#1289) 2023-11-27 15:02:21 -08:00
SECURITY.md Move vcpkg-ce development into the vcpkg-tool repo. (#428) 2022-03-22 17:07:57 -07:00
VERSION.txt Add dummy version.txt for vcpkg older than vcpkg_minimum_required. (#15828) 2021-01-25 10:09:27 -08:00
cgmanifest.json Update fmt to v11.0.2 (#1457) 2024-07-23 20:47:25 +00:00
vcpkg.natvis Initial addition of native visualizer, to improve debugging experience. (#3906) 2018-08-01 10:58:25 -07:00

README.md

Vcpkg: Overview

中文总览 Español 한국어 Français

Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving, and we always appreciate contributions!

Please see the main repository https://github.com/microsoft/vcpkg for all feature discussion, issue tracking, and edits to which libraries are available.

Vcpkg-tool: Overview

This repository contains the contents formerly at https://github.com/microsoft/vcpkg in the "toolsrc" tree, and build support.

vcpkg-artifacts

vcpkg-artifacts are currently in 'preview' -- there will most certainly be changes between now and when the tool is 'released' based on feedback.

You can use it, but be forewarned that we may change formats, commands, etc.

Think of it as a manifest-driven desired state configuration for C/C++ projects.

It

  • integrates itself into your shell (PowerShell, CMD, bash/zsh)
  • can restore artifacts according to a manifest that follows ones code
  • provides discoverability interfaces

Installation

While the usage of vcpkg-artifacts is the same on all platforms, the installation/loading/removal is slightly different depending on the platform you're using.

vcpkg-artifacts don't persist any changes to the environment, nor do they automatically add themselves to the start-up environment. If you wish to make it load in a window, you can just execute the script. Manually adding that in your profile will load it in every new window.


Install/Use/Remove

OS Install Use Remove
PowerShell/Pwsh iex (iwr -useb https://aka.ms/vcpkg-init.ps1) . ~/.vcpkg/vcpkg-init.ps1 rmdir -recurse -force ~/.vcpkg
Linux/OSX . <(curl https://aka.ms/vcpkg-init.sh -L) . ~/.vcpkg/vcpkg-init rm -rf ~/.vcpkg
CMD Shell curl -LO https://aka.ms/vcpkg-init.cmd && .\vcpkg-init.cmd %USERPROFILE%\.vcpkg\vcpkg-init.cmd rmdir /s /q %USERPROFILE%\.vcpkg

Glossary

Term Description
artifact An archive (.zip or .tar.gz-like), package (.nupkg, .vsix) binary inside which build tools or components thereof are stored.
artifact metadata A description of the locations one or more artifacts describing rules for which ones are deployed given selection of a host architecture, target architecture, or other properties
artifact identity A short string that uniquely describes a moniker that a given artifact (and its metadata) can be referenced by. They can have one of the following forms:
full/identity/path - the full identity of an artifact that is in the built-in artifact source
sourcename:full/identity/path - the full identity of an artifact that is in the artifact source specified by the sourcename prefix
shortname - the shortened unique name of an artifact that is in the built-in artifact source
sourcename:shortname - the shortened unique name of an artifact that is in the artifact source specified by the sourcename prefix
Shortened names are generated based off the shortest unique identity path in the given source.
artifact source Also known as a “feed”. An Artifact Source is a location that hosts metadata to locate artifacts. (There is only one source currently)
activation The process by which a particular set of artifacts are acquired and enabled for use in a calling command program.
versions Version numbers are specified using the Semver format. If a version for a particular operation isn't specified, a range for the latest version ( * ) is assumed. A version or version range can be specified using the npm semver matching syntax. When a version is stored, it can be stored using the version range specified, a space and then the version found. (ie, the first version is what was asked for, the second is what was installed. No need for a separate lock file.)

Contributing

Please refer to the "contributing" section of the main README.md.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or email opencode@microsoft.com with any additional questions or comments.

Windows Contributing Prerequisites

  • Install Visual Studio and the C++ workload
  • Install Node.JS by downloading a 16.x copy from https://nodejs.org/en/
  • npm install -g @microsoft/rush

Ubuntu 22.04 Contributing Prerequisites

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt update
sudo apt install nodejs cmake ninja-build gcc build-essential git zip unzip
sudo npm install -g @microsoft/rush

License

The product code in this repository is licensed under the MIT License. The tests contain 3rd party code as documented in NOTICE.txt.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Telemetry

vcpkg collects usage data in order to help us improve your experience. The data collected by Microsoft is anonymous. You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics, passing --disable-metrics to vcpkg on the command line, or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at https://learn.microsoft.com/vcpkg/about/privacy in the main repository