C++ Library Manager for Windows, Linux, and MacOS
Go to file
heydojo 58c7cfaae9 [icu] Prevent stale MSYS gpg-agent.exe process blocking command control (#6407)
* Prevent stale MSYS gpg-agent.exe process blocking command control

This commit fixes:
https://github.com/microsoft/vcpkg/issues/5476

The issue is that CI environments such as Appveyor's VS2017 image will wait for all processes to complete. If a stale process resides as a result, builds will hang.
There does not appear to be any good reason for gpg-agent.exe to be running once the build of icu has completed.

Without this patch builds of icu4c using CI systems will very likely hang and not in an obvious way.

Is this the _right_ solution to this problem? Probably not but it is one solution. And it degrades gracefully in that the build will not fail if gpg-agent.exe is not running. The gpg-agent.exe will not run again once MSYS has been configured, so to test this patch, a fresh install of vcpkg is required. Open the task manager and before the icu build completes, look for gpg-agent.exe just sitting there for no reason.
Might I suggest that the issue is fixed in vcpkg MSYS instead or as well?

Please don't request further from this commit.

* [icu] Kill MSYS gpg-agent.exe on Windows
2019-05-15 17:47:00 -07:00
docs [docs] update port naming info in CONTROL docs (#6397) 2019-05-10 12:47:09 -07:00
ports [icu] Prevent stale MSYS gpg-agent.exe process blocking command control (#6407) 2019-05-15 17:47:00 -07:00
scripts [vcpkg-bootstrap.sh] Enable finding gcc 9 (#6417) 2019-05-13 11:43:24 -07:00
toolsrc appleclang 10.01 does not have <filesystem> (#6413) 2019-05-13 04:11:35 -07:00
triplets Add triplets for x64-linux and x64-osx 2018-04-23 19:33:19 -07:00
.gitattributes [everything] Use -text to ensure consistent files across machines. 2018-02-26 18:18:05 -08:00
.gitignore Modify vcpkg_fixup_cmake_targets() (#5459) 2019-02-28 23:53:42 -08:00
.vcpkg-root Add .vcpkg-root file that signifies the root directory 2016-09-19 18:49:38 -07:00
bootstrap-vcpkg.bat bootstrap.bat now forwards args to ps1 2018-06-08 16:26:57 -07:00
bootstrap-vcpkg.sh [vcpkg] Update to CMake 3.14.0 2019-03-20 16:23:02 -07:00
CHANGELOG.md Update CHANGELOG and bump version to 2018.11.23 2018-11-23 14:18:46 -08:00
CONTRIBUTING.md Moved CONTRIBUTING.md to root. Fixes #54. 2016-09-21 13:35:51 -07:00
LICENSE.txt Initial commit 2016-09-18 20:54:03 -07:00
README.md Update the notes on prerequisites (#6128) 2019-04-17 13:45:58 -07:00

Vcpkg

Overview

Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving; your involvement is vital to its success!

For short description of available commands, run vcpkg help.

Quick Start

Prerequisites:

  • Windows 10, 8.1, 7, Linux, or MacOS
  • Visual Studio 2015 Update 3 or newer (on Windows)
  • Git
  • Optional: CMake 3.12.4

To get started:

> git clone https://github.com/Microsoft/vcpkg.git
> cd vcpkg

PS> .\bootstrap-vcpkg.bat
Linux:~/$ ./bootstrap-vcpkg.sh

Then, to hook up user-wide integration, run (note: requires admin on first use)

PS> .\vcpkg integrate install
Linux:~/$ ./vcpkg integrate install

Install any packages with

PS> .\vcpkg install sdl2 curl
Linux:~/$ ./vcpkg install sdl2 curl

The best way to use installed libraries with CMake is via the toolchain file scripts\buildsystems\vcpkg.cmake. To use this file, you simply need to add it onto your CMake command line as -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake.

In Visual Studio, you can create a New Project (or open an existing one). All installed libraries are immediately ready to be #include'd and used in your project without additional configuration.

For more information, see our using a package example for the specifics.

Additional notes on macOS and Linux support can be found in the official announcement.

Tab-Completion / Auto-Completion

vcpkg supports auto-completion of commands, package names, options etc in Powershell and bash. To enable tab-completion, use one of the following:

PS> .\vcpkg integrate powershell
Linux:~/$ ./vcpkg integrate bash

and restart your console.

Examples

See the documentation for specific walkthroughs, including installing and using a package, adding a new package from a zipfile, and adding a new package from a GitHub repo.

Our docs are now also available online at ReadTheDocs: https://vcpkg.readthedocs.io/!

See a 4 minute video demo.

Contributing

Vcpkg is built with your contributions. Here are some ways you can contribute:

Please refer to our Contribution guidelines for more details.

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

License

Code licensed under the MIT License.