Skip to content

Commit 723ee5b

Browse files
committed
* 'master' of https://github.com/microsoft/vcpkg: (1418 commits) [vcpkg integrate] Clean up vcpkg.target file (microsoft#4608) [vcpkg_from_sourceforge] Add retry mirror function (2/2) (microsoft#12018) [pcre2] Restore the https://ftp.pcre.org/ mirror in addition to the SourceForge mirrors. (microsoft#12233) [xercesc] rename feature from xmlch_wchar to xmlch-wchar (microsoft#12205) [safeint] Update to 3.24 (microsoft#12217) [vcpkg] Remove the tombstones and 'ignore' baseline concepts. (microsoft#12197) [msbuild] Revert the importance to Normal (microsoft#12212) [vtk] Added opengl feature. (microsoft#11399) [span-lite] Update to 0.7.0 (microsoft#12206) [cmocka libarchive libiconv libpq libxml2 plibsys] fix drive-by error in vcpkg-cmake-wrappers (microsoft#12196) [azure-iot-sdk-c] Fix feature name and enable to build (microsoft#12209) [vcpkg] Improve performance of compiler tracking by suppressing aspects of CMake's compiler detection. (microsoft#12203) [vcpkg] Remove all uses of Foo::Foo() noexcept = default; to fix microsoft#9955 (microsoft#12201) [sqlite3] update to 3.32.3 to deal with security issues (microsoft#12185) [infoware] Bump version to 0.5.4 (microsoft#12167) [imgui] Update to 1.77 (microsoft#12155) [vcpkg] Update message in bootstrap.ps1 (microsoft#12145) [vcpkg] Enable NuGet-based binary caching via mono (microsoft#12170) Don't change manifest root when manifest isn't enabled. (microsoft#12191) Fix sourceparagraph:BooleanField (microsoft#12192) ...
2 parents abf8581 + c21893b commit 723ee5b

File tree

2,990 files changed

+77135
-25769
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,990 files changed

+77135
-25769
lines changed

.github/pull_request_template.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
**Describe the pull request**
2+
3+
- What does your PR fix? Fixes #
4+
5+
- Which triplets are supported/not supported? Have you updated the CI baseline?
6+
7+
- Does your PR follow the [maintainer guide](https://github.com/microsoft/vcpkg/blob/master/docs/maintainers/maintainer-guide.md)?

.gitignore

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
toolsrc/out*
1515
toolsrc/CMakeSettings.json
16+
# fuzzing
17+
sync_dir*
1618

1719
# User-specific files (MonoDevelop/Xamarin Studio)
1820
*.userprefs
@@ -291,25 +293,45 @@ __pycache__/
291293
/toolsrc/msbuild.x86.release/
292294
/toolsrc/msbuild.x64.debug/
293295
/toolsrc/msbuild.x64.release/
294-
#ignore custom triplets
295296
/triplets/*
296297
#add vcpkg-designed triplets back in
298+
!triplets/community/arm64-mingw.cmake
299+
!triplets/community/arm64-uwp.cmake
300+
!triplets/community/arm64-windows-static.cmake
301+
!triplets/community/arm-mingw.cmake
302+
!triplets/community/arm-windows.cmake
303+
!triplets/community/x64-mingw.cmake
304+
!triplets/community/x64-windows-static-md.cmake
305+
!triplets/community/x86-mingw.cmake
306+
!triplets/community/x86-uwp.cmake
307+
!triplets/community/x86-windows-static.cmake
308+
!triplets/community/x86-windows-static-md.cmake
309+
!triplets/community/x64-osx-dynamic.cmake
310+
!triplets/community/x64-android.cmake
311+
!triplets/community/x86-android.cmake
312+
!triplets/community/arm-android.cmake
313+
!triplets/community/arm64-android.cmake
314+
!triplets/community/arm64-ios.cmake
315+
!triplets/community/arm-ios.cmake
316+
!triplets/community/x64-ios.cmake
317+
!triplets/community/x86-ios.cmake
318+
!triplets/community/wasm32-emscripten.cmake
297319
!triplets/arm-uwp.cmake
298-
!triplets/arm-windows.cmake
299320
!triplets/x64-uwp.cmake
300321
!triplets/x64-windows.cmake
301322
!triplets/x64-windows-static.cmake
302-
!triplets/x86-uwp.cmake
303323
!triplets/x86-windows.cmake
304-
!triplets/x86-windows-static.cmake
305-
!triplets/arm64-uwp.cmake
306324
!triplets/arm64-windows.cmake
307325
!triplets/x64-linux.cmake
308326
!triplets/x64-osx.cmake
327+
#ignore custom triplets
309328
*.exe
310329
*.zip
311330

312331
############################################################
313332
# vcpkg - End
314333
############################################################
315334
archives
335+
.DS_Store
336+
prefab/
337+
*.swp

CHANGELOG.md

Lines changed: 3211 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This too
66
For short description of available commands, run `vcpkg help`.
77

88
* Github: [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg)
9-
* Slack: [https://cpplang.now.sh/](https://cpplang.now.sh/), the #vcpkg channel
9+
* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), the #vcpkg channel
10+
* Discord: [\#include \<C++\>](https://www.includecpp.org), the #🌏vcpkg channel
1011
* Docs: [Documentation](docs/index.md)
1112

12-
| Windows (x86, x64, arm, uwp) | MacOS | Linux |
13-
| ------------- | ------------- | ------------- |
14-
| [![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/vcpkg-Windows-master-CI?branchName=master)](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=9&branchName=master) | [![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/vcpkg-osx-master-CI?branchName=master)](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=11&branchName=master) | [![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/vcpkg-Linux-master-CI?branchName=master)](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=6&branchName=master) |
13+
[![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/microsoft.vcpkg.ci?branchName=master)](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=29&branchName=master)
1514

1615
## Quick Start
1716
Prerequisites:
1817
- Windows 10, 8.1, 7, Linux, or MacOS
1918
- Visual Studio 2015 Update 3 or newer (on Windows)
2019
- Git
20+
- gcc >= 7 or equivalent clang (on Linux)
2121
- *Optional:* CMake 3.12.4
2222

2323
To get started:
@@ -78,3 +78,13 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
7878
## License
7979

8080
Code licensed under the [MIT License](LICENSE.txt).
81+
82+
## Telemetry
83+
84+
vcpkg collects usage data in order to help us improve your experience.
85+
The data collected by Microsoft is anonymous.
86+
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
87+
passing --disable-metrics to vcpkg on the command line,
88+
or by setting the VCPKG_DISABLE_METRICS environment variable.
89+
90+
Read more about vcpkg telemetry at docs/about/privacy.md

docs/about/privacy.md

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,50 @@
1+
# Vcpkg telemetry and privacy
12

2-
# Privacy and Vcpkg
3+
vcpkg collects telemetry data to understand usage issues, such as failing packages, and to guide tool improvements. The collected data is anonymous.
4+
For more information about how Microsoft protects your privacy, see https://privacy.microsoft.com/en-US/privacystatement#mainenterprisedeveloperproductsmodule
35

4-
## Do you collect telemetry data? What is it used for?
6+
## Scope
57

6-
We do collect telemetry data from usage of "vcpkg.exe". We explicitly ONLY collect information from invocations of the tool itself; we do NOT add any tracking information into the produced libraries. We use this information to understand usage issues, such as failing packages, and to guide tool improvements.
8+
We explicitly ONLY collect information from invocations of the tool itself; we do NOT add any tracking information into the produced libraries. Telemetry is collected when using any of the `vcpkg` commands.
79

8-
## What telemetry is collected?
10+
## How to opt out
911

10-
We collect the command line used, the time of invocation, and how long execution took. Some commands also add additional calculated information (such as the full set of libraries to install). We generate a completely random UUID on first use and attach it to each event.
11-
In order to opt-out of data collection, you can re-run the boostrap script with the following flag, for Windows and Linux/OSX, respectively:
12+
The vcpkg telemetry feature is enabled by default. In order to opt-out of data collection, you can re-run the boostrap script with the following flag, for Windows and Linux/OSX, respectively:
1213

1314
```PS> .\bootstrap-vcpkg.bat -disableMetrics```
1415

1516
```~/$ ./bootstrap-vcpkg.sh -disableMetrics```
1617

17-
For more information about how Microsoft protects your privacy, see https://privacy.microsoft.com/en-us/privacy.
18-
19-
Here is an example of an event for the command line `vcpkg install zlib`:
20-
```json
21-
[{
22-
"ver": 1,
23-
"name": "Microsoft.ApplicationInsights.Event",
24-
"time": "2016-09-01T00:19:10.949Z",
25-
"sampleRate": 100.000000,
26-
"seq": "0:0",
27-
"iKey": "aaaaaaaa-4393-4dd9-ab8e-97e8fe6d7603",
28-
"flags": 0.000000,
29-
"tags": {
30-
"ai.device.os": "Windows",
31-
"ai.device.osVersion": "10.0.14912",
32-
"ai.session.id": "aaaaaaaa-7c69-4b83-7d82-8a4198d7e88d",
33-
"ai.user.id": "aaaaaaaa-c9ab-4bf5-0847-a3455f539754",
34-
"ai.user.accountAcquisitionDate": "2016-08-20T00:38:09.860Z"
35-
},
36-
"data": {
37-
"baseType": "EventData",
38-
"baseData": {
39-
"ver": 2,
40-
"name": "commandline_test7",
41-
"properties": { "version":"0.0.30-9b4e44a693459c0a618f370681f837de6dd95a30","cmdline":"install zlib","command":"install","installplan":"zlib:x86-windows" },
42-
"measurements": { "elapsed_us":68064.355736 }
43-
}
44-
}
45-
}]
18+
## Disclosure
19+
20+
vcpkg displays text similar to the following when you build vcpkg. This is how Microsoft notifies you about data collection.
21+
22+
```
23+
Telemetry
24+
---------
25+
vcpkg collects usage data in order to help us improve your experience.
26+
The data collected by Microsoft is anonymous.
27+
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
28+
passing --disable-metrics to vcpkg on the command line,
29+
or by setting the VCPKG_DISABLE_METRICS environment variable.
30+
31+
Read more about vcpkg telemetry at docs/about/privacy.md
4632
```
47-
In the source code (included in `toolsrc\`), you can search for calls to the functions `TrackProperty()` and `TrackMetric()` to see every specific data point we collect.
4833

49-
## Is the data stored on my system?
34+
## Data Collected
35+
36+
The telemetry feature doesn't collect personal data, such as usernames or email addresses. It doesn't scan your code and doesn't extract project-level data, such as name, repository, or author. The data is sent securely to Microsoft servers and held under restricted access.
37+
38+
Protecting your privacy is important to us. If you suspect the telemetry is collecting sensitive data or the data is being insecurely or inappropriately handled, file an issue in the Microsoft/vcpkg repository or send an email to [email protected] for investigation.
39+
40+
We collect various telemetry events such as the command line used, the time of invocation, and how long execution took. Some commands also add additional calculated information (such as the full set of libraries to install). We generate a completely random UUID on first use and attach it to each event.
41+
42+
You can see the telemetry events any command by appending `--printmetrics` after the vcpkg command line.
43+
44+
In the source code (included in `toolsrc\`), you can search for calls to the functions `track_property()`, `track_feature()`, `track_metric()`, and `track_buildtime()`
45+
to see every specific data point we collect.
46+
47+
## Avoid inadvertent disclosure information
5048

51-
We store each event document in your temporary files directory. These will be cleaned out whenever you clear your temporary files.
49+
vcpkg contributors and anyone else running a version of vcpkg that they built themselves should consider the path to their source code. If a crash occurs when using vcpkg, the file path from the build machine is collected as part of the stack trace and isn't hashed.
50+
Because of this, builds of vcpkg shouldn't be located in directories whose path names expose personal or sensitive information.

docs/examples/installing-and-using-packages.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,11 @@ Now let's make a simple CMake project with a main file.
118118
cmake_minimum_required(VERSION 3.0)
119119
project(test)
120120
121-
find_package(Sqlite3 REQUIRED)
121+
find_package(sqlite3 CONFIG REQUIRED)
122122
123123
add_executable(main main.cpp)
124-
target_link_libraries(main sqlite3)
124+
125+
target_link_libraries(main PRIVATE sqlite3)
125126
```
126127
```cpp
127128
// main.cpp

docs/examples/overlay-triplets-linux-dynamic.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ When using the `--overlay-triplets` option, a message like the following lets yo
7171

7272
As you may have noticed, the default triplets for Windows (`x86-windows` and `x64-windows`) install dynamic libraries, while a suffix (`-static`) is needed for static libraries. This is different with Linux and Mac OS where static libraries are built by `x64-linux` and `x64-osx`.
7373

74-
Using `--overlay-ports` it is possible to override the default triplets to accomplish the same behavior on Linux:
74+
Using `--overlay-triplets` it is possible to override the default triplets to accomplish the same behavior on Linux:
7575

7676
* `x64-linux`: Builds dynamic libraries,
7777
* `x64-linux-static`: Builds static libraries.
@@ -85,7 +85,7 @@ Using the custom triplet created in the previous example, rename `custom-triplet
8585
~/git$ cp vcpkg/triplets/x64-linux.cmake custom-triplets/x64-linux-static.cmake
8686
```
8787

88-
### Step 2: Use `--overlay-ports` to override default triplets
88+
### Step 2: Use `--overlay-triplets` to override default triplets
8989

9090
Use the `--overlay-triplets` option to include the triplets in the `custom-triplets` directory.
9191

docs/examples/packaging-github-repos.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,7 @@ Description: Ogg is a multimedia container format, and the native file and strea
1010
```
1111

1212
### Create the portfile
13-
`portfile.cmake` describes how to build and install the package. First we include `vcpkg_common_functions` to give us utilities for carrying this out:
14-
15-
```no-highlight
16-
include(vcpkg_common_functions)
17-
```
18-
19-
Now we download the project from Github with [`vcpkg_from_github`](../maintainers/vcpkg_from_github.md):
13+
`portfile.cmake` describes how to build and install the package. First we download the project from Github with [`vcpkg_from_github`](../maintainers/vcpkg_from_github.md):
2014

2115
```no-highlight
2216
vcpkg_from_github(

docs/examples/patching.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ Now we can modify `pngpriv.h` to use `abort()` everywhere.
140140

141141
The output of `git diff` is already in patch format, so we just need to save the patch into the `ports/libpng` directory.
142142
```no-highlight
143-
PS buildtrees\libpng\src\libpng-1.6.24> git diff | out-file -enc ascii ..\..\..\..\ports\libpng\use-abort-on-all-platforms.patch
143+
PS buildtrees\libpng\src\libpng-1.6.24> git diff --ignore-space-at-eol | out-file -enc ascii ..\..\..\..\ports\libpng\use-abort-on-all-platforms.patch
144144
```
145145

146146
Finally, we need to apply the patch after extracting the source.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build

0 commit comments

Comments
 (0)