mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-25 08:28:59 +08:00
97e7ac8d74
* Repair msbuild damage and workaround the way we integrate on VS2015. This is a fix for a pile of issues discovered by https://github.com/microsoft/vcpkg/pull/18906 * VS 2015 has a bug that the <VcpkgInstalledDir Condition="!$(VcpkgInstalledDir.EndsWith('\'))">$(VcpkgInstalledDir)\</VcpkgInstalledDir> dance we do to get a trailing slash is not applied correctly when VcpkgInstalledDir was edited in the same property group attempting to add the trailing slash. * We need a trailing slash on VcpkgInstalledDir at all times, but https://github.com/microsoft/vcpkg/pull/16173 damaged this by removing it from TreatAsLocalProperty. Add the right TreatAsLocalPropertys back. Add all such slash defenses to the top of the file just beneath, eliminating need to call Path::Combine and friends by following msbuild "directory properties have a trailing slash" convention. * Move VcpkgOSTarget and VcpkgPlatformTarget into the .targets, as they aren't intended to be overridable by users and don't appear in our selection dialog box(es). * Don't bother avoiding setting vcpkg properties when VcpkgEnabled is off; after all, VcpkgEnabled is itself a vcpkg property :). I left attempts to skip creating items since creating items can hit the disk. * Add _Z to several internal msbuild variables. * Move VcpkgApplocalDeps to the .props since it's a user setting. * Don't unconditionally use $(TLogLocation) because it is not set on 2015, and also it's per-project. * Fixed typo in docs "VcpkgInstalledDirectory", and document the limitation that it doesn't work in 2015. * In manifest mode, put the installed tree in a subdirectory including the triplet to make changing configurations faster. Known limitations: * If you change vcpkg.json without changing any .cpp files, we don't rebuild the dependencies even though we should. I don't know how to fix this but it doesn't appear to be a regression. * Fix .tlog handling. * Further defend against modified properties on VS2015. * Document more VS2015 limitations. * Remove TreatAsLocalProperty comment. |
||
---|---|---|
.. | ||
about | ||
examples | ||
maintainers | ||
specifications | ||
users | ||
_config.yml | ||
README.md | ||
regenerate.ps1 |
Quick Start
The latest version of this documentation is available on GitHub.
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!
Examples
- Installing and Using Packages Example: sqlite
- Packaging Zipfiles Example: zlib
- Packaging GitHub Repositories Example: libogg
- Patching Example: Patching libpng to work for x64-uwp
- Getting Started with Versioning
User Help
- Buildsystem Integration
- Triplet files
- Configuration and Environment
- Manifest Mode
- Binary Caching
- Asset Caching
- Versioning
- Usage with Android
- Usage with Mingw-w64
- Host Dependencies
- Using Registries
Maintainer Help
- Manifest files - vcpkg.json
- Control files
- Portfile functions
- Common CMake definitions
- Maintainer Guidelines
- Creating Registries
- CMake Guidelines
Vcpkg-Tool Maintainer Help
Community Resources (not directly affiliated with vcpkg)
- vcpkg.info - Package index + search
- vcpkgx - Package index + search
- vcpkg index - Package index + search
Specifications
Blog posts
- Vcpkg Host Dependencies for Cross-Compilation
- Registries: Bring your own libraries to vcpkg
- Vcpkg: Accelerate your team development environment with binary caching and manifests
- Vcpkg: 2019.06 Update (overlay ports, overlay triplets,
vcpkg_check_features
) - Announcing a single C++ library manager for Linux, macOS and Windows: Vcpkg
- Vcpkg: Using multiple enlistments to handle multiple versions of a library
- Vcpkg: introducing the export command
- Binary Compatibility and Pain-free Upgrade Why Moving to Visual Studio 2017 is almost "too easy"
- Vcpkg recent enhancements
- Vcpkg 3 Months Anniversary, Survey
- Vcpkg updates: Static linking is now available
- Vcpkg: a tool to acquire and build C++ open source libraries on Windows