C++ Library Manager for Windows, Linux, and MacOS
Go to file
Alexander Neumann 18ab20050c
[gmp,nettle,hogweed] Add new ports (#10613)
* add new function vcpkg_fixup_pkgconfig

* make message with changed files a debug_message

* add two more cases to the debug *.pc files

* comment out prefix.
use --define-variable=prefix=INSTALL_PATH

* changed the comment header.

* add missing word

* finish vcpkg_fixup_pkgconfig.cmake

* Update vcpkg_fixup_pkgconfig.cmake

Note: since CMake is run in script mode the description of VCPKG_FIXUP_PKGCONFIG_CALLED cannot be viewed

* transfer changes from x windows pr

* fix typo in regex

* add port for vs yasm integration within VCPKG

* add gmp

* add nettle

* add missing windows flag in control

* CI workaround
CI seems to not pass env YASMPATH correctly to cl.
Since YASM is on PATH -> remove $(VCInstallDir) as the default for YasmPath

* overwrite correct import.

* If CI does not give logs just display some extra info

* target replacement was mising

* apply same replacements for nettle

* remove unnecessary status message

* remove unnecessary platform code

* update supports field for vs-yasm

* apply replacement also to libhogweed

* fix static builds

* remove not working code

* remove debug/release options

* add additional replacement for the case the SOURCE dir has already been patched within VCPKG

* add triplet selection to vcpkg_install_msbuild

* fix missing ; in patches

* remove gmp dependency in static builds since they are not required

* cleanup portfiles

* add missing vcpkg_fixup_pkgconfig() call
2020-05-08 13:55:11 -07:00
.github [vcpkg] Add pull request template (#9280) 2019-12-11 12:12:08 -08:00
docs [vcpkg] Add new function vcpkg_copy_tools (#8749) 2020-05-01 15:28:55 -07:00
ports [gmp,nettle,hogweed] Add new ports (#10613) 2020-05-08 13:55:11 -07:00
scripts [gmp,nettle,hogweed] Add new ports (#10613) 2020-05-08 13:55:11 -07:00
toolsrc [vcpkg] Adding support for finding VS2019 by environment variable (#10760) 2020-05-08 12:43:30 -07:00
triplets Add initial iOS support (#6275) 2020-04-15 13:06:55 -07:00
.gitattributes [everything] Use -text to ensure consistent files across machines. 2018-02-26 18:18:05 -08:00
.gitignore Add initial iOS support (#6275) 2020-04-15 13:06:55 -07: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 (#10941) 2020-04-20 16:39:46 -07:00
CONTRIBUTING.md Moved CONTRIBUTING.md to root. Fixes #54. 2016-09-21 13:35:51 -07:00
LICENSE.txt [vcpkg] remove text from license (#8082) 2019-09-06 14:24:19 -07:00
NOTICE.txt Add third party notices -- copied from chakracore (#7403) 2019-07-24 11:07:55 -07:00
README_zh_CN.md Add Chinese readme. (#8476) 2019-10-07 10:40:57 -07:00
README.md Add telemetry notice to README.md. (#11171) 2020-05-05 12:34:48 -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.

Build Status

Quick Start

Prerequisites:

  • Windows 10, 8.1, 7, Linux, or MacOS
  • Visual Studio 2015 Update 3 or newer (on Windows)
  • Git
  • gcc >= 7 or equivalent clang (on Linux)
  • 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. If your library is not present in vcpkg catalog, you can open an issue on the GitHub repo where the dev team and the community can see it and potentially create the port file for this library.

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.

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 bootstrap-vcpkg.bat or bootstrap-vcpkg.sh with -disableMetrics.

Read more about vcpkg telemetry at docs/about/privacy.md