C++ Library Manager for Windows, Linux, and MacOS
Switch branches/tags
dev/alkarata/bootstrapOutDir dev/alkarata/cmake3.12.3 dev/alkarata/cmake3.12.4 dev/alkarata/cpprestsdk dev/alkarata/rangev3upstream dev/alkarata/rangev3 dev/alkarata/sha512sum dev/alkarata/test dev/alkarata/testbranch dev/alkarata/vcpkgbasesync dev/alkarata/2018.06.13/gl3w dev/alkarata/2018.06.19/cmake dev/alkarata/3450 dev/alkarata/4041/a dev/alkarata/4041/20180808_182535 dev/alkarata/4114/20180910_154915 dev/alkarata/4165/20180829_145334 dev/alkarata/4165/20180906_170752 dev/alkarata/4165/20180906_170813 dev/alkarata/4169/20180829_200808 dev/alkarata/4170/20180829_171434 dev/alkarata/4187/20180829_200822 dev/alkarata/4190/20180830_123136 dev/alkarata/4190/20180830_145314 dev/alkarata/4190/20180831_171631 dev/alkarata/4190/20180904_190259 dev/alkarata/4190/20180905_150623 dev/alkarata/4204/20180831_143301 dev/alkarata/4208/20180831_143338 dev/alkarata/4208/20180904_190545 dev/alkarata/4209/20180831_154524 dev/alkarata/4211/20180904_190613 dev/alkarata/4214/20180904_190636 dev/alkarata/4217/20180904_190650 dev/alkarata/4220/20180904_190759 dev/alkarata/4226/20180904_190834 dev/alkarata/4232/20180905_154003 dev/alkarata/4246/20180907_150045 dev/alkarata/4250/20180910_155201 dev/alkarata/4260/1 dev/alkarata/4260/20180910_234932 dev/alkarata/4260/20180911_020632 dev/alkarata/4260/20180911_125158 dev/alkarata/4260/20180911_125218 dev/alkarata/4280/20180924_164053 dev/alkarata/4283/20180924_164038 dev/alkarata/4293/20180924_163954 dev/alkarata/4321/20180924_161910 dev/alkarata/4321/20180924_163851 dev/alkarata/4325/20180926_235624_UTC dev/alkarata/4329/20180926_235716_UTC dev/alkarata/4346/20180926_221043_UTC dev/alkarata/4347/20180926_011833_UTC dev/alkarata/4385/20181004_043053_UTC dev/alkarata/4635 dev/philc/fix_regressions dev/philc/3425 dev/philc/4260 dev/philc/4617 dev/philc/4734 dev/philc/4759 dev/philc/4761 dev/philc/4831 dev/philc/4850 dev/philc/4853 dev/philc/4854 dev/philc/4855 dev/philc/4858 dev/philc/4860 dev/philc/4863 dev/philc/4867 dev/philc/4873 dev/philc/4874 dev/philc/4881 dev/philc/4889 dev/philc/4891 dev/philc/4894 dev/philc/4898 dev/philc/4900 dev/philc/4903 dev/philc/4912 dev/philc/4914 dev/roschuma/alpine dev/roschuma/android dev/roschuma/bde dev/roschuma/boost-v120 dev/roschuma/cgal dev/roschuma/cpprestsdk dev/roschuma/date dev/roschuma/dependencies-rework dev/roschuma/enable-export-dot-cmake dev/roschuma/geos dev/roschuma/glad-egl dev/roschuma/glfw3 dev/roschuma/glib dev/roschuma/google-cloud-cpp dev/roschuma/ice dev/roschuma/improve-test-cmake dev/roschuma/itk dev/roschuma/libuv dev/roschuma/llvm6 dev/roschuma/openal-soft dev/roschuma/opencv-use-external-ffmpeg dev/roschuma/openssl-debug-suffix dev/roschuma/openssl-winsdk-2828 dev/roschuma/openssl dev/roschuma/optional dev/roschuma/opus dev/roschuma/osg-cleanup dev/roschuma/osgearth dev/roschuma/parser dev/roschuma/prs dev/roschuma/qca dev/roschuma/rapidjson dev/roschuma/realsense2 dev/roschuma/remove-where-exe dev/roschuma/ros2 dev/roschuma/sdl2-image dev/roschuma/sdl2pp dev/roschuma/sfml dev/roschuma/soci dev/roschuma/spdlog dev/roschuma/theia dev/roschuma/updates dev/roschuma/upgrades dev/roschuma/vcpkg-refactor dev/roschuma/x264 dev/roschuma/xerces-c dev/roschuma/zstd dev/roschuma/3464 dev/roschuma/3932 dev/roschuma/4005 dev/roschuma/4209 dev/roschuma/4312 dev/roschuma/4351 dev/roschuma/4385 dev/roschuma/4472 dev/roschuma/4488 dev/roschuma/4493 dev/roschuma/4547 dev/roschuma/4550 dev/roschuma/4574 dev/roschuma/4575 dev/roschuma/4601 dev/roschuma/4617 dev/roschuma/4624 dev/roschuma/4652 dev/roschuma/4661 dev/roschuma/4680 dev/roschuma/4684 dev/roschuma/4688-2 dev/roschuma/4722 dev/roschuma/4731 dev/roschuma/4774 dev/roschuma/4777-master dev/roschuma/4784 dev/roschuma/4794 dev/roschuma/4803 dev/roschuma/4810 dev/roschuma/4814 dev/roschuma/4818 dev/roschuma/4822 dev/roschuma/4825 dev/roschuma/4832 dev/roschuma/4833 dev/roschuma/4838 dev/roschuma/4841 dev/roschuma/4842 dev/roschuma/4844 dev/roschuma/4845 dev/roschuma/4846 dev/roschuma/4847 dev/roschuma/4849 dev/roschuma/4854 dev/roschuma/4860 dev/roschuma/4861 dev/roschuma/4876 dev/roschuma/4880 dev/roschuma/4883 dev/roschuma/4884 dev/roschuma/4898 dev/roschuma/4905 dev/roschuma/4916 dev/roschuma/4917 dev/roschuma/4918 dev/roschuma/4920 dev/roschuma/4927 dev/roschuma/4938 dev/roschuma/4939 dev/roschuma/4941 dev/roschuma/4944 dev2/alkarata/llvm7 disable-release-paths-in-debug jumpinjackie-port-gdal-use-mariadb master
Nothing to show
Clone or download
BillyONeal and ras0219-msft Allow redirection of the downloads folder with an environment variabl…
…e. (#4883)

* Add detection for VCPKG_DOWNLOADS environment variable in vcpkgpaths.cpp.

* Pass the downloads directory from VcpkgPaths to cmake.

* Also fixup bootstrap on *nix.

* Make error message a little prettier.

* Make that bash script actually work :)

* [vcpkg] Alter Optional<> usage style

* [vcpkg-docs] Add section on Environment Variables to the docs
Latest commit cf7e2f3 Dec 11, 2018

README.md

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 2017 or Visual Studio 2015 Update 3 (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. To enable tab-completion in Powershell, use

.\vcpkg integrate powershell

and restart Powershell.

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.