aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/README.md')
-rw-r--r--vcpkg/README.md147
1 files changed, 147 insertions, 0 deletions
diff --git a/vcpkg/README.md b/vcpkg/README.md
new file mode 100644
index 0000000..87ca864
--- /dev/null
+++ b/vcpkg/README.md
@@ -0,0 +1,147 @@
+<!--
+This document is a copy of the README file on the Microsoft/vcpkg-docs repository.
+
+To make changes modify this file instead:
+https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/readme/vcpkg-README.md
+-->
+
+[🌐 Read in a different language](https://learn.microsoft.com/locale/?target=https%3A%2F%2Flearn.microsoft.com%2Fvcpkg%2F)
+
+# vcpkg overview
+
+vcpkg is a free and open-source C/C++ package manager maintained by Microsoft
+and the C++ community.
+
+Initially launched in 2016 as a tool for assisting developers in migrating their
+projects to newer versions of Visual Studio, vcpkg has evolved into a
+cross-platform tool used by developers on Windows, macOS, and Linux. vcpkg has a
+large collection of open-source libraries and enterprise-ready features designed to
+facilitate your development process with support for any build and project
+systems. vcpkg is a C++ tool at heart and is written in C++ with scripts in
+CMake. It is designed from the ground up to address the unique pain points C/C++
+developers experience.
+
+This tool and ecosystem are constantly evolving, and we always appreciate
+contributions! Learn how to start contributing with our [packaging
+tutorial](https://learn.microsoft.com/vcpkg/get_started/get-started-adding-to-registry) and [maintainer
+guide](https://learn.microsoft.com/vcpkg/contributing/maintainer-guide).
+
+# Get started
+
+First, follow one of our quick start guides.
+
+Whether you're using CMake, MSBuild, or any other build system, vcpkg has you covered:
+
+* [vcpkg with CMake](https://learn.microsoft.com/vcpkg/get_started/get-started)
+* [vcpkg with MSBuild](https://learn.microsoft.com/vcpkg/get_started/get-started-msbuild)
+* [vcpkg with other build systems](https://learn.microsoft.com/vcpkg/users/buildsystems/manual-integration)
+
+You can also use any editor:
+
+* [vcpkg with Visual Studio](https://learn.microsoft.com/vcpkg/get_started/get-started-vs)
+* [vcpkg with Visual Studio Code](https://learn.microsoft.com/vcpkg/get_started/get-started-vscode)
+* [vcpkg with
+ CLion](<https://www.jetbrains.com/help/clion/package-management.html>)
+* [vcpkg with Qt Creator](<https://doc.qt.io/qtcreator/creator-vcpkg.html>)
+
+If a library you need is not present in the vcpkg registry, [open an issue on
+the GitHub repository][contributing:submit-issue] or [contribute the package
+yourself](https://learn.microsoft.com/vcpkg/get_started/get-started-adding-to-registry).
+
+After you've gotten vcpkg installed and working, you may wish to [add
+tab completion to your terminal](https://learn.microsoft.com/vcpkg/commands/integrate#vcpkg-autocompletion).
+
+# Use vcpkg
+
+Create a [manifest for your project's dependencies](https://learn.microsoft.com/vcpkg/consume/manifest-mode):
+
+```Console
+vcpkg new --application
+vcpkg add port fmt
+```
+
+Or [install packages through the command line](https://learn.microsoft.com/vcpkg/consume/classic-mode):
+
+```Console
+vcpkg install fmt
+```
+
+Then use one of our available integrations for
+[CMake](https://learn.microsoft.com/vcpkg/concepts/build-system-integration#cmake-integration),
+[MSBuild](https://learn.microsoft.com/vcpkg/concepts/build-system-integration#msbuild-integration) or
+[other build
+systems](https://learn.microsoft.com/vcpkg/concepts/build-system-integration#manual-integration).
+
+For a short description of all available commands, run `vcpkg help`.
+Run `vcpkg help [topic]` for details on a specific topic.
+
+# Key features
+
+vcpkg offers powerful features for your package management needs:
+
+* [easily integrate with your build system](https://learn.microsoft.com/vcpkg/concepts/build-system-integration)
+* [control the versions of your dependencies](https://learn.microsoft.com/vcpkg/users/versioning)
+* [package and publish your own packages](https://learn.microsoft.com/vcpkg/concepts/registries)
+* [reuse your binary artifacts](https://learn.microsoft.com/vcpkg/users/binarycaching)
+* [enable offline scenarios with asset caching](https://learn.microsoft.com/vcpkg/concepts/asset-caching)
+
+# Contribute
+
+vcpkg is an open source project, and is thus built with your contributions. Here
+are some ways you can contribute:
+
+* [Submit issues][contributing:submit-issue] in vcpkg or existing packages
+* [Submit fixes and new packages][contributing:submit-pr]
+
+Please refer to our [mantainer guide](https://learn.microsoft.com/vcpkg/contributing/maintainer-guide) and
+[packaging tutorial](https://learn.microsoft.com/vcpkg/get_started/get-started-packaging) for more details.
+
+This project has adopted the [Microsoft Open Source Code of
+Conduct][contributing:coc]. For more information see the [Code of Conduct
+FAQ][contributing:coc-faq] or email
+[opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional
+questions or comments.
+
+[contributing:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose
+[contributing:submit-pr]: https://github.com/microsoft/vcpkg/pulls
+[contributing:coc]: https://opensource.microsoft.com/codeofconduct/
+[contributing:coc-faq]: https://opensource.microsoft.com/codeofconduct/
+
+# Resources
+
+* Ports: [Microsoft/vcpkg](<https://github.com/microsoft/vcpkg>)
+* Source code: [Microsoft/vcpkg-tool](<https://github.com/microsoft/vcpkg-tool>)
+* Docs: [Microsoft Learn | vcpkg](https://learn.microsoft.com/vcpkg)
+* Website: [vcpkg.io](<https://vcpkg.io>)
+* Email: [vcpkg@microsoft.com](<mailto:vcpkg@microsoft.com>)
+* Discord: [\#include \<C++\>'s Discord server](<https://www.includecpp.org>), in the #🌏vcpkg channel
+* Slack: [C++ Alliance's Slack server](<https://cppalliance.org/slack/>), in the #vcpkg channel
+
+# License
+
+The code in this repository is licensed under the MIT License. The libraries
+provided by ports are licensed under the terms of their original authors. Where
+available, vcpkg places the associated license(s) in the location
+[`installed/<triplet>/share/<port>/copyright`](https://learn.microsoft.com/vcpkg/contributing/maintainer-guide#install-copyright-file).
+
+# Security
+
+Most ports in vcpkg build the libraries in question using the original build
+system preferred by the original developers of those libraries, and download
+source code and build tools from their official distribution locations. For use
+behind a firewall, the specific access needed will depend on which ports are
+being installed. If you must install it in an "air gapped" environment, consider
+instaling once in a non-"air gapped" environment, populating an [asset
+cache](https://learn.microsoft.com/vcpkg/users/assetcaching) shared with the otherwise "air gapped"
+environment.
+
+# 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:
+
+- running the bootstrap-vcpkg script with `-disableMetrics`
+- passing `--disable-metrics` to vcpkg on the command line
+- setting the `VCPKG_DISABLE_METRICS` environment variable
+
+Read more about vcpkg telemetry at [https://learn.microsoft.com/vcpkg/about/privacy](https://learn.microsoft.com/vcpkg/about/privacy).