* [scripts-audit rollup] PR #16419
* pull the cmake doc comment parsing out into its own function
* support cmake helper ports
* add real support for deprecation, as opposed to ad-hoc
* [scripts-audit rollup] PR #16192
* add a z_ in front of internal functions
* move internal functions out
set feature_vars again in parent scope
* [scripts-audit rollup] PR #16309
Audit vcpkg_copy_pdbs
* [scripts-audit rollup] PR #16304
* Fix usage, documentation
* [scripts-audit rollup] PR #16393
* [scripts-audit rollup] PR #16377
Deprecate `vcpkg_*_cmake` in favor of `vcpkg_cmake_*` from the
`vcpkg-cmake` port, as well as `vcpkg_fixup_cmake_targets`
in favor of `vcpkg_cmake_config_fixup` from the
`vcpkg-cmake-config` port.
* [docs] Add CMake Integration to manifests.md
* [docs] Add command line reference to manifests.md
* Update docs/users/manifests.md
Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>
* [docs/users/manifests.md] add a link to the specification
* Accept review suggestions
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* [vcpkg] Versioning docs: Getting started
* Versioning docs: Getting started [revised]
* Link to example of manifests in msbuild
* [WIP] Reference docs
* [vcpkg] Fix links in Getting Started with Versioning
This reduces bootstrap cost for Windows customers, resolving the issue initially submitted as #12502 .
The `toolsrc` tree was extracted to https://github.com/microsoft/vcpkg-tool. `bootstrap.sh` was changed to download the right source tarball, extract, and build it. This was chosen over the previous attempt, a submodule, over concerns of accidentally destroying people's local modifications.
* [vcpkg registries] Registries: Take 2
unfortunately without all the history because I really screwed up the git commands
This RFC is the new state of the world with regard to our plan for registries; it is very different from the old RFC. It includes registry databases, which are how one describes the set of versions of ports that one has access to. It also includes the specification for git registries, and updates the specification for filesystem registries with these new registry databases.
Since this RFC completely changes how registries work, the existing implementation will be broken.
* update the registries RFC for modern design
* remove bikeshedding
* Fix warning on clang version 10.0.0-4ubuntu1
The warning was
```shell
../src/vcpkg/commands.porthistory.cpp:55:14: error: unused function 'is_date' [-Werror,-Wunused-function]
```
* Add environment variable VCPKG_USE_NUGET_CACHE
As the name suggests, this environment variable allow tu use Nuget
cache for Nuget binary caching sources.
* Document NuGet's Cache environment variable
* [tesseract] add missing reference for downstream projects
* [tesseract] restore ci, fix many regressions that are uncovered by that
* Update ports/opencv2/CONTROL
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* [opencv] fix regressions on uwp, accept failure on arm64 for now
* Apply suggestions from code review
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* [opencv4] allow failures on all arm windows targets, both win32 and uwp
* adopts hints from #15180
* [libarchive] bump control version
* [libarchive] use vcpkg-cmake-wrapper instead of a custom libarchiveConfig, since it is vcpkg-provided and not port-provided
* enable features to be visible in parent scope
* apply documentation fix from CI
* [libarchive] remove unnecessary lines in portfile
* fix regressions
* Update ports/gdcm/CONTROL
* use more compact logic syntax
* add new versions to baseline
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* Add CI check using dummy version files
* Fix ci test
* Update maintainer's guideline
* Point CI check to actual version files
* Remove --git-verify-trees
* Fix typo
* Fix more typoes
* Even more typos
* Even more typos
* [vcpkg_from_git] new options TAG and OUT_REF
- TAG github tag to checkout
- OUT_REF github commit id related to tag or ref
(useable for automatic updates of ports if used with a version tag)
* Apply suggestions from code review
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* additional changes due to CR
* regenerate docs
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg docs] Change how documenting port functions works
Instead of using `##`, use comment blocks for documentation.
Also, add some minor docs and change RST -> MD
so we actually get docs generated.
* add CI stuff
* regenerate docs
* fix vcpkg_find_acquire_program to not use _execute_process
* [vcpkg] Add experimental x-azblob binary provider
* [vcpkg] Test azblob storage provider in CI
* [vcpkg] Address some CR comments from #13639
* [vcpkg] Fixup azure-pipelines
* [vcpkg] Fix regression where the downloaded package is purged before decompressing
* [vcpkg] Further refactor vcpkg::Downloads
* [vcpkg] Enable OSX for x-azblob testing
* [vcpkg] Reduce diff against master
* [vcpkg] Extract Downloads::details::split_uri_view
* [vcpkg] Address PR comments
* [vcpkg] Add testing and metrics for x-azblob
* [vcpkg] Add docs for x-azblob
This includes a note that it is currently experimental
* [vcpkg] Address CR comments
* [vcpkg] Revert pipeline changes except OSX to minimize disruption
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [vcpkg] Split vcpkg/base/json.h into vcpkg/base/jsonreader.h
* [vcpkg] Extract definitions of Configuration-Deserializer (& friends)
These types are only used by VcpkgPaths during the initial parse.
* [vcpkg] Introduce levenshtein-distance suggestions for json errors
* [vcpkg] Fix regression in supports handling
* [vcpkg] Fix signed/unsigned mismatch
* [vcpkg] Address CR comments
* [vcpkg] Address CR comments
* Fix compiler error from merge conflict.
* [vcpkg] Change parameters of Reader::check_for_unexpected_fields to better match declaration
* [vcpkg] Improve errors from features set
* [vcpkg] Fix includes
* [vcpkg] Reuse code
* [vcpkg] Check the "name" field always to maximize error information
* [docs] Improve english phrasing in manifests.md
* [vcpkg] Correct docs link for manifests
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [vcpkg] add env var VCPKG_OVERLAY_TRIPLETS
* shorten way to complicated doc
* run clang format
* Apply CR
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
* Apply CR2
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg_docs] Add note about GitHub hosted agents
* [vcpkg-docs] Add ./ prefixes to GitHub example
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg docs] add docs for manifest files
These are just for the maintainer docs,
not user docs.
* [vcpkg] EBNF-ify platform expression parsing
this modifies nothing about what strings are accepted or rejected,
it just moves stuff around.
also adds tests.
* [vcpkg docs] add manifest mode example
* [wip] docs for augustin
also fix tabs
* [vcpkg manifest] switch to using maps for features
* Apply suggestions from code review
* un-experimentize format-manifest
* flesh out the user manifest mode docs
* CRs
* billy CRs
* final personal pass-thru
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [vcpkg] Pass CMAKE_DISABLE_SOURCE_CHANGES to all ports by default
* [docs] Regenerate
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* Un-.gitignore /triplets/community and use an absolute glob for all non .gitignore'd triplets.
* Fix vcpkg_check_linkage.md example to a port that actually uses vcpkg_check_linkage.
* Exclude all of the community directory.
* Update .gitignore
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* [vcpkg] Track hashes of cmake script helpers in consuming portfiles
* [vcpkg] Format
* [vcpkg_find_acquire_program] Use cpkg_from_sourceforge for FLEX and BISON
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
--editable suppresses binary caching and source re-extraction for packages listed on the command line (similar to --head).
This fundamentally changes the port maintenance loop, so several example documents were updated. To avoid users having substantial changes suddenly destroyed by forgetting to pass --editable, "clean" sources have different extract locations.
The undocumented command `build` implies `--editable`.
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
==== Changes Related to manifests ====
* Add the `manifests` feature flag
* This only says whether we look for a `vcpkg.json` in the cwd, not
whether we support parsing manifests (for ports, for example)
* Changes to the manifests RFC
* `"authors"` -> `"maintainers"`
* `--x-classic-mode` -> `-manifests` \in `vcpkg_feature_flags`
* reserve `"core"` in addition to `"default"`, since that's already
reserved for features
* Add a small helper note about what identifiers must look like
* `<license-string>`: SPDX v3.8 -> v3.9
* `"feature"."description"` is allowed to be an array of strings as well
* `"version"` -> `"version-string"` for forward-compat with versions
RFC
* Add the `--feature-flags` option
* Add the ability to turn off feature flags via passing
`-<feature-flag>` to `VCPKG_FEATURE_FLAGS` or `--feature-flags`
* Add CMake toolchain support for manifests
* Requires either:
* a feature flag of `manifests` in either `Env{VCPKG_FEATURE_FLAGS}`
or `VCPKG_FEATURE_FLAGS`
* Passing the `VCPKG_ENABLE_MANIFESTS` option
* The toolchain will install your packages to
`${VCPKG_MANIFEST_DIR}/vcpkg_installed`.
* Add MSBuild `vcpkg integrate install` support for manifests
* Requires `VcpkgEnableManifest` to be true
* `vcpkg create` creates a port that has a `vcpkg.json` instead of a
`CONTROL`
* argparse, abseil, 3fd, and avisynthplus ports switched to manifest
from CONTROL
* Add support for `--x-manifest-root`, as well as code for finding it if
not passed
* Add support for parsing manifests!
* Add a filesystem lock!
==== Important Changes which are somewhat unrelated to manifests ====
* Rename `logicexpression.{h,cpp}` to `platform-expression.{h,cpp}`
* Add `PlatformExpression` type which takes the place of the old logic
expression
* Split the parsing of platform expressions from checking whether
they're true or not
* Eagerly parse PlatformExpressions as opposed to leaving them as
strings
* Add checking for feature flag consistency
* i.e., if `-binarycaching` is passed, you shouldn't be passing
`--binarysource`
* Add the `Json::Reader` type which, with the help of user-defined
visitors, converts JSON to your internal type
* VcpkgArgParser: place the switch names into a constant as opposed to
using magic constants
* In general update the parsing code so that this ^ works
* Add `Port-Version` fields to CONTROL files
* This replaces the existing practice of
`Version: <my-version>-<port-version>`
==== Smaller changes ====
* small drive-by cleanups to some CMake
* `${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}` ->
`${CURRENT_INSTALLED_DIR}`
* Remove `-analyze` when compiling with clang-cl, since that's not a
supported flag (vcpkg's build system)
* Add a message about which compiler is detected by vcpkg's build
system machinery
* Fix `Expected::then`
* Convert `""` to `{}` for `std::string` and `fs::path`, to avoid a
`strlen` (additionally, `.empty()` instead of `== ""`, and `.clear()`)
* Add `Strings::strto` which converts strings to numeric types
* Support built-in arrays and `StringView` for `Strings::join`
* Add `operator<` and friends to `StringView`
* Add `substr` to `StringView`
* SourceParagraphParser gets some new errors
* [ignition-plugin1] Add new port
* vcpkg_fixup_cmake_targets: Add DO_NOT_DELETE_PARENT_CONFIG_PATH
By default the vcpkg_fixup_cmake_targets script remove the parent
path of CONFIG_PATH if it named "cmake", this behaviour is not convenient
for ports that install more than one CMake package config file, and
for which vcpkg_fixup_cmake_targets is invoked multiple times.
To optionally disable this behaviour, this commit adds the option
DO_NOT_DELETE_PARENT_CONFIG_PATH to vcpkg_fixup_cmake_targets.
* [ignition-modularscripts] Add support for ignition libraries that install multiple CMake package config files
Some ignition libraries install several CMake package config files,
to represent the different components of the library. This commit modifies
the ignition_modular_library function to fixup correctly all the cmake package config files.
* vcpkg_fixup_pkgconfig: Move definition of SYSTEM_LIBRARIES to vcpkg_common_definitions
To correctly validate installed pkg-config files, vcpkg_fixup_pkgconfig needs to know
for each platform which libraries are not managed by vcpkg. This commits improve this
definitions for all the triplet supported by vcpkg, and move this definition to vcpkg_common_definitions
in a way that permit custom triplets to overload its value.
* add x86-wasm.cmake to community triplets
The EMSDK enviroment variable is normally defined when first installing Emscripten.
* Rename x86-wasm.cmake to wasm32-emscripten.cmake
* Update wasm32-emscripten.cmake
* Update wasm32-emscripten.cmake
* Add wasm32 and wasm64 arch to docs
* Create wasm64-emscripten.cmake
* remove wasm64
* Delete wasm64-emscripten.cmake
* Add wasm32 to list of identifiers
* add emscripten VCPKG_CMAKE_SYSTEM_NAME support
* add path check to EMSDK cmake toolchain
* [vcpkg] Add manifests specification
* Remove invisible tabs and fix nested lists
Somehow, a lot of tabs where inserted betweend the `*` and start of list items, and they didn't show up in the github source view 🤷.
* feedback from @traversaro
* fix stuff from review
Co-authored-by: Edhebi <aurore53000@gmail.com>
* [vcpkg metrics] start using json library
Additionally, add floats to the JSON library since they're required.
* [vcpkg metrics] allow users to disable metrics after the build
Additionally, as a drive by, fix UUID generation
* fix metrics data
* code review
* Android: add docs/examples/vcpkg_android_example_cmake/
* Add docs/users/android.md
* Improve Android prefab doc
Following additional informations given by @atkawa7 at
https://github.com/microsoft/vcpkg/pull/11264
* Link to android.md
* Update the prefab usage instructions: "vcpkg install"
the 4 archs before exporting a prefab
* added --prefab-debug flag
* added gradle integration info
* reviewed the prefab output directory structure
(from a dump of an actual export)
* docs/users/triplets.md: link to android.md
* docs/index.md: link to android.md
* android.md: specify 2 possibiities for android_ndk_home
* Added examples/vcpkg_android_example_cmake_script/cmake/vcpkg_android.cmake
Usage:
1. Main CMakeLists:
if (VCPKG_TARGET_ANDROID)
include("cmake/vcpkg_android.cmake")
endif()
2. cmake invocation:
cmake .. -DVCPKG_TARGET_ANDROID=ON -DANDROID_ABI=armeabi-v7a
* trigger pipeline build
* trigger pipelines
* [vcpkg] Add new function vcpkg_copy_tools
* [cpuinfo][czmq][nanomsg][uriparser] Use vcpkg_copy_tools
* [czmq] Clean even tools are not copied
[libsvm][zyre] Use vcpkg_copy_tools
* [vcpkg-copy-tools] Clean debug/bin
This should fix czmq build error
* [czmq] czmq does not have BUILD_TOOLS option
* [vcpkg] Split clean logic into another function
* [cpuinfo][czmq][nanomsg][uriparser] Fix calling of vcpkg_copy_tools
* [zyre] Fix regression error
* [vcpkg] Update try_remove_empty_directory
* [libsvm] Fix vcpkg_copy_tools call
* Add iOS community triplets and toolchain support
Added an iOS toolchain to enable building packages for iOS.
The toolchain is used when a triplet's VCPKG_CMAKE_SYSTEM_NAME is set
to iOS.
To configure which architecture should be built, as well as other
iOS specifics, the following triplet variables can be set:
- VCPKG_TARGET_ARCHITECTURE
- VCPKG_OSX_SYSROOT
- VCPKG_OSX_DEPLOYMENT_TARGET
- VCPKG_OSX_ARCHITECTURES
The following VCPKG_TARGET_ARCHITECTURE values are currently
supported:
- arm, arm64, x64, x86.
The following VCPKG_OSX_SYSROOT values are currently supported:
- iphoneos, iphonesimulator, or an absolute path to the device or
simulator Xcode SDK.
VCPKG_OSX_DEPLOYMENT_TARGET can be set to control the minimum iOS
delopyment target for the built libraries.
CMAKE_OSX_ARCHITECTURES is derived from VCPKG_TARGET_ARCHITECTURE,
so generally it should not be set. In case if someone needs to target
a more specific architecture (like armv7k or arm64e), it can
be set in the triplet via VCPKG_OSX_ARCHITECTURES.
Note that only certain combinations of the architecture and sysroot
will work: simulator SDKs only provide x86-based libraries, etc.
The toolchain also sets CMAKE_SYSTEM_PROCESSOR for certain
configurations, because certain packages (like libpng) depend on the
processor type.
Added 4 community iOS triplets that build static libraries:
- arm-ios, arm64-ios, x86-ios, x64-ios.
The non-arm triplets target the iOS simulator.
The triplets build static libraries because they are easiest to
integrate into an iOS project. Dynamic libraries or frameworks require
code signing on iOS, which complicates integration.
Added heuristics to try and automatically detect what iOS triplet to
use when building your own CMake project (so when a CMake project sets
CMAKE_TOOLCHAIN_FILE to buildsystems/vcpkg.cmake), if no explicit
triplet is provided (VCPKG_TARGET_TRIPLET is undefined).
The heuristic checks for the values of CMAKE_SYSTEM_NAME and
CMAKE_OSX_ARCHITECTURES. Note that for this to work,
CMAKE_OSX_ARCHITECTURES needs to be set before the first project()
call in your CMake project.
Added workaround so find_package finds vcpkg installed packages
when targeting iOS.
This is done by saving / restoring the value of CMAKE_FIND_ROOT_PATH
while also adding the vcpkg package root in the find_package override
macro.
The workaround can be removed once vcpkg upgrades to CMake 3.15.0
or higher where the issue is fixed.
Fixes: #6003
* Fix building libpng and pcre2 targetting iOS
Fixes: #6003
* added android triplets
* added android support to vcpkg
* added export directories to git ignore
* fix libraries naming
* added vckpg sources to visual studio project files
* rename file location
* issue with std::string fs:path copy initialization
* format path on VStudio
* fix checks format cannot work on fs::path
* support header only libraries
* support using architecture instead of triplets
* added prefab support
* added debug logs and prefab debug flag
* added support for empty packages i.e openssl
* vcpkg_from_git: Add support for git over ssh
* vcpkg_from_git: append ssh bin directory to path
* vcpkg_from_git: fix function signature on non windows platforms
* Revert "vcpkg_from_git: fix function signature on non windows platforms"
This reverts commit 0d608ee5911d2ba274e782a21dfe77a502a39053.
* Revert "vcpkg_from_git: append ssh bin directory to path"
This reverts commit 377ce3fae1e2c085a5da7ace8185624a345a511b.
* Partial Revert "vcpkg_from_git: Add support for git over ssh"
This partially reverts commit 9b81b16c4ccd3d8646d97e66234566a07af8a308.
Co-authored-by: Marc Boucek <marc.boucek@native-instruments.de>
Co-authored-by: Marc Boucek <marc.boucek@posteo.net>
* remove unfinished "supports" tag
* extract "supports" from control files
But do nothing with the value
* Start `Supports` documentation
* Use Supports in a bunch of control files
I only tried matching the already existing logic in the portfile.cmake.
* Cmake var provider (#8)
* Cmake var provider (#9)
* fix windows build (#10)
* Add missing files to build
* Fix test (#11)
* adding hooks for cmake variables in expressions
* Adding hooks for 'supports' in CI test
* Fix test (#12)
* Add overrides to evaluation environment
* use "supported" tag in CI testing
* cleanup comment
* Fix issues with PR
* [var_provider] Get library linkage variables from triplet
* Fix compilation errors in tests
* Add unimplemented functions
* Fix unit tests part 1
* Fix issue when buildtrees dir does not exist
* Change binary output hash
* Fix handling of * feature
* Add core feature when using *
* Do not add Default-Features when installing 'core'
* [vcpkg] WIP. 6 failing tests.
* [vcpkg] WIP. 1 failing tests.
* [vcpkg] WIP. 0 failing tests.
* [vcpkg] Removed 'remove_graph'. 0 failing tests.
* [vcpkg] Removed 'install_graph'. 0 failing tests.
* [vcpkg] Remove AnyAction; replace with ActionPlan
* [vcpkg] Minor cleanup.
* [vcpkg][z3][qt5-connectivity][qt5-purchasing] Improve error messages while parsing. Fix a few trivial port issues.
* [vcpkg] Work around ICE with MSVC v140
* [vcpkg] Add purge on fail to decompress for CI
* [vcpkg] Fix parsing of nested parentheses in qualifiers
* [vcpkg] Fix Linux builds (explicit qualification in declaration)
* [vcpkg] Fix Build-Depends implying default features. Fix qualified dependencies regression.
* [mmx] Add to skip list and full rebuild -- mmx causes problems by installing 'sched.h'
* [libpqxx][mqtt-cpp] Prevent installing include/CMakeLists.txt
* [cppitertools] Fix installed include namespace (should be include/cppitertools)
* [libsoundio] Move headers into soundio/ subdirectory as per original cmake
* [ci.baseline] Temporarily skip charls due to conflict with dcmtk
* [vcpkg] Add restricted include files post build check -- bump global abi version
* [libsoundio] Hotfix stray line in portfile
* [vcpkg] Fix regression: CMake information was not being displayed for build-and-install actions
* [jsonnet] Fix installation of internal headers; use system nlohmann-json
* [grpc][upb] Teach grpc to use packaged upb. Add find_package(upb). Remove inappropriate upb features.
* [zfp] Move problematic 'include/bitstream.h' to 'include/zfp/bitstream.h'
* [x265] Bump control version to trigger rebuild after zfp conflict
* [akali] Disable parallel configure
* [dirent][dlfcn-win32][getopt-win32][pthreads] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS
* [ci.baseline] Update baseline for improved upb support
* [tgui] Disable parallel configure
* [libiconv] Enable VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS
* [aws-sdk-cpp] Disable parallel configure
* [vcpkg] Implement policy VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS
* [aws-sdk-cpp] Fix amount of escaping semicolons -- Note: I do not know the root cause requiring this change
* [libodb-sqlite] Fix configuring into source directory
* [gettext] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS
* [libodb] DISABLE_PARALLEL_CONFIGURE
* [vcpkg] Add 'config.h' and 'local.h' to restricted header list
* [mcpp] Remove unused and problematic include 'config.h' from installed files
* [teemo] Move installed headers into subdirectory to prevent conflicts with x265
* [ci.baseline] Update current OSX. Skip libmesh on all platforms due to heavy conflicts.
* [vcpkg] Add 'slice.h' as a restricted header
* [osg] Improve accuracy of dependencies (disable some, add some to Depends)
* [vcpkg] Skip invoking a subprocess for 0 specs in load_tag_vars
* [ci.baseline] Skip mongo-c-driver on osx due to flakiness
* [teemo] Fix incorrect include file read
* [osg] Fix dependency typo: glut -> freeglut
* [vcpkg] Recover some lost performance with the addition of vcpkg_get_tags.
A huge performance cost was loading the triplet files over and over; instead, we splice the sources into a macro and load it once, then just call that macro for each port.
Remove use of hashing because we aren't cross-process-safe anyway (global static will do instead).
* [vcpkg] Change Supports atom 'windows' to include UWP. Improve Supports field documentation.
* [vcpkg] Add docs for VCPKG_ENV_PASSTHROUGH and VCPKG_DEP_INFO_OVERRIDE_VARS
* Fix typo
Co-authored-by: Curtis J Bezault <curtbezault@gmail.com>
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Move untested triplets to Community Triplets
* Document community triplets
* Load community triplets by default and alert when using one
* [triplets] Merge documentation of community triplets
* Bump version
* [vcpkg_install_qmake] Add vcpkg_install_qmake and convert existing ports to use it.
[vcpkg_configure_qmake] Add 'staticlib' to CONFIG in static builds
* [vcpkg_configure_qmake] Don't specify DESTDIR
* [libqglviewer][vcpkg_configure_qmake] Add staticlib CONFIG only for libqglviewer
* [qt5-base] Increment version to track changes in vcpkg_configure_qmake()
* [portfile functions] Override execute_process() to accept ALLOW_IN_DOWNLOAD_MODE option
* [vcpkg install] Set VCPKG_DOWNLOAD_MODE when using --only-downloads option
* [vcpkg_find_acquire_program] Allow in Download Mode
* Don't stop when build fails for a package
* Download sources for all packages in dependency graph
* Improve output messages
* Enable acquiring MSYS packages in download mode
* Documentation
* Update documentation
* execute_process() always fails on Download Mode
* Regenerate docs and fix formatting
* Run clang-format
* Use _execute_process on vcpkg_from_<source> helpers
* Fix calls to _execute_process() when not in Download Mode
* [portfile functions] Override execute_process() to accept ALLOW_IN_DOWNLOAD_MODE option
* [vcpkg install] Set VCPKG_DOWNLOAD_MODE when using --only-downloads option
* [vcpkg_find_acquire_program] Allow in Download Mode
* Don't stop when build fails for a package
* Download sources for all packages in dependency graph
* Improve output messages
* Enable acquiring MSYS packages in download mode
* Documentation
* Update documentation
* execute_process() always fails on Download Mode
* Regenerate docs and fix formatting
* Run clang-format
* Use _execute_process on vcpkg_from_<source> helpers
* [vcpkg_check_features] Set OUT_EXPAND_OPTIONS explicitly
* [vcpkg_check_features] Allow reverse logic for features
* [vcpkg_check_features] Document new parameters
* [vcpkg_check_features] Remove unnecessary logging
* Do not create variables for each feature only set OUT_FEATURE_OPTIONS
* Improve documentation
* Update ports that use vcpkg_check_features()
* Missing documentation updates
* [pcl] Fix tools feature
* [opencv,opencv4] Fix usage of vcpkg_check_features()
* [opencv4] Fix typo
This PR does the following:
* fix tests -- now, they're always built in the CMake scripts, and they work on VS2015
*add a new flag, BUILD_TESTING, which allows one to turn off testing builds
* Add documentation for running tests
* [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option
* [vcpkg_configure_cmake] Add documentation for new NO_CHARSET_FLAG option
* [vcpkg_configure_cmake, windows toolchain] Handle NO_CHARSET_FLAG in toolchain
* [build.cpp] Add Windows toolchain to package hash
* [duilib,msix,thrift,tidy-html5] Use NO_CHARSET_FLAG to fix regressions
* [control file] Add optional 'Homepage' tag
This allows a 'Homepage' tag to be added to a port in order to support
changes such as PR #2933. It currently does not do anything with it.
* [docs]
Add Homepage to the control file documentation
* move urls from descriptions to homepage field.
* Add headers to vcpkg_download_distfile
Allows headers to be appended when downloading a distribution. This allows for setting
authentication headers to download from a private repository.
* [scripts,docs] Regenerate docs for portfile functions
* [docs,scripts] Fix typo regressions
* [docs,scripts] Fix broken link
* 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
The current names and titles of the examples put too much emphasis on the package which is being demonstrated rather than the concept. This can be jarring for newcomers. This patch renames them to put the emphasis on the concept instead.
* Add SKIP_CLEAN option to vcpkg_install_msbuild
Also add vcpkg_clean_msbuild function to factor out clean
logic and allow re-use in portfiles.
* xalan-c: Correct header globbing
* vcpkg_install_msbuild: SKIP_CLEAN documentation correction
* [xalan-c] Add explicit check for localmsgindex header.
[docs] Regenerate
The word Privacy was capitalized for no reason. I've also added to word programming so that it's clear that the document refers to programming languages, before it referred only to language.
* Add libplist
* Add libusbmuxd
* Fix typos
* Add getopt
* Add libimobiledevice
* Fix typos
* Add libideviceactivation
* Add ideviceinstaller
* Include utilities
* Install usbmuxd
* Add readline
* Fix readline on 64-bit windows
* Add libirecovery
* libideviceactivation: include tools
* Bump versions to fix build issues
* Bump versions
* Add idevicerestore
* [getopt][getopt-win32] Rename to getopt-win32 and only install on Windows Desktop
* [readline][readline-win32] Rename to readline-win32 and only install for Windows Desktop
* [vcpkg_from_github][vcpkg_apply_patches] Make PATCHES relative to the current port directory
* [vcpkg_install_msbuild][vcpkg_check_linkage] Introduce vcpkg_install_msbuild() and vcpkg_check_linkage().
* [libimobiledevice et al] Use vcpkg_from_github() and vcpkg_install_msbuild()
* [readline] Fix static builds
* Add doxygen to acquired programs
* Add packages option to msys function
* Add documentation for PACKAGES in vcpkg_require_msys
* [ffmpeg][x264] Update to use `PACKAGES` parameter. Tweak docs.
* Add libgta
Libgta is a portable library that implements the Generic Tagged Array (GTA)
file format.
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* [libgta] turn off document build and doxygen dependency
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* [libgta] add build-dependency
- bzip2, zlib and liblzma
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* [libgta] remove dlls when static build
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* Fix typo
* [libgta] update CONTROL
add lf at end of file.
* libmupdf version bump
* [qt5-base] Use system freetype.
* [opencv] Fix UWP and ARM
* [hdf5] Always use config mode for HDF5
* [opencv] Fixup -- apply patch added in previous commit
* [abseil] Add *.inc files. Fixes#2718
* [abseil] Update to 2018-2-5
* Fix for Issue #2729
Allows PowerShell to change the name of the downloaded directory correctly.
* vcpkgRemoveItem: nullcheck
* [cpprestsdk] Update to 2.10.2
* Adding Torch's TH library (#2737)
Adding Torch's TH library
* [flatbuffers] Fixes#2735
* sobjectizer updated to v.5.5.21
* [nghttp2] Enable static builds
* [nghttp2]: update to 1.30.0 (#2739)
* [nghttp2]: update to 1.30.0
* [nghttp2] Enable static builds
* Add epsilon library port
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* [vcpkg-configure-cmake] Use ninja to configure in parallel (#2712)
* [curl] Add nghttp2.lib to dependencies of curl
* [vtk] Fix breaking change in find_package(HDF5)
* Merge findFileRecursivelyUp into VcpkgPowershellUtils
* [vcpkgInvokeCommandClean] Don't use -encodedCommand.
Instead, use -Command with the appropriate number of escaped quotes
(which ended up being 3)
* [blosc] Update to 1.13.5
static-install-fix.patch no longer required (upstream contains the patched version).
Resolves build error with VS 15.6 in static builds
* [cgal] Avoid using absolute paths in cmake config file
* Update CHANGELOG and bump version to v0.0.104
* [qt5-base][qtdeploy] Deploy plugin dependencies to the executable's folder.
* Add libgeotiff port
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* [libgeotiff] fix install directory for cmake configurations
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* fix tiff detection error when static build
* [libgeotiff] remove installed dlls when static build
* [libgeotiff] update description
* [chipmunk] 7.0.2 initial.
* [recast] 1.5.1 initial.
* [tinydir] 1.2.3 initial.
* [mman] git-f5ff813 initial.
* Update Catch to 2.1.2 (#2763)
* [vcpkg-ci] Delete intermediate build folders even on unsuccesful builds
* [folly] Workaround bug for VS 15.6
* [pcre] fix space issue and add mirror (fix#2751)
* [realsense2] Update to v2.10.0
Update realsense2 port to librealsense v2.10.0.
* [libevent] Fix generated libevent targets files
* fixed typo in warning message (#2773)
* [blaze] update to Blaze 3.3
* [lmdb] Fix possible whitespace problem
* Fix date issue
* add qt5-quickcontrols2
* add qt5-quickcontrols port
* add qt5-graphicaleffects
* change compile order to debug first, fix#2767 (#2785)
* [liblzma] Add usage information
* [ffmpeg] Allow static builds of ffmpeg (#2783)
ffmpeg creates static .a libraries, so change the suffix to .lib
* [ffmpeg] Bump version for PR #2783
* [aubio] Update to handle static FFMPEG
* Copy local dependencies for library targets (#2787)
* Fix for issue #2786
* [vcpkg-cmake-toolchain] Only applocal dependencies for shared libraries
* [uriparser] Update to 0.8.5
* [vcpkg] Implement Default-Features (#2697)
* [vcpkg] Add Default-Feature to make_status_pgh utility function
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Parse "Default-Features" as dependencies and add test for parsing
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Document some methods and structures
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Add install_default_features_test
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Change install_default_features_test to not have preinstalled package
* [vcpkg] Test install behaviour of default features
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Implement default features
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Test default features upgrade behavior
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Implement upgrade with default features
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Test behaviour of upgrade with default features in dependencies
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Make upgrade install new default features
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Move collecting of packages for which to prevent defaults
Further down the line to create_feature_install_plan.
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Fix core missing from default features and potential inf loop
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Rename, fix and move some tests
Signed-off-by: Squareys <squareys@googlemail.com>
* Updated boost license to 1.66.0 (#2795)
I was a bit confused to see a reference to "1.65.1" while I was installing 1.66.0, but it turns out this URL is just not updated. This updates it.
* [vcpkg-find-acquire-program] Add mirror for NASM. Fixes#2777.
* update cuda requirement to 9.0, fixes#2791 (#2802)
* update cuda requirement to 9.0, fixes#2791
* [cuda] Restore sample version blob
* [vcpkg] http_proxy and https_proxy should be lowercase (#2815)
Pacman of Msys understands only lowercase environment variables
http_proxy and https_proxy.
* [vcpkg] Add find/find_installed/is_installed for FeatureSpec
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Fix build command for packages that depend of features
Signed-off-by: Squareys <squareys@googlemail.com>
* [liblo] Initial port (#2821)
* [portaudio] Added ASIO support to build
* Update libpng to 1.6.34
* [liblo] Initial port
* Revert "Update libpng to 1.6.34"
This reverts commit ede0bb947b07aea119b7b05e3625c3eec1395af4.
* Revert "[liblo] Initial port"
This reverts commit bb819eb21841bb8cf4816af5a78e17ef58ec8ce5.
* [liblo] Initial port
* [liblo] Use vcpkg_from_github() and vcpkg_fixup_cmake_targets()
* [liblo] Fix SHA512
* [openvr] update to 1.0.13 (#2809)
* [ebml] Initial port. (#2812)
* [vcpkg] Fix bug with missing dependencies introduced in #2697 (#2819)
When a package dependency was not found (has no source control file),
install would exit with "Value was null" when trying to install its default
features, as the dependency would be marked erroneously as found in this
case.
Signed-off-by: Squareys <squareys@googlemail.com>
* [vcpkg] Avoid using s::status_known() -- it does not do what you think it does
* [jansson] Update to 2.11 (#2820)
* [aws-sdk-cpp] update to 1.3.58 (#2810)
* [mkl] Add port MKL (#2806)
* [corrade,magnum,-plugins,-extras,-integration] Update to latest and support feature packages (#2687)
[corrade,magnum,-plugins,-extras,-integration] Update to latest and support feature packages
* [jbig2dec][libmupdf] Extract jbig2dec, remove remaining vendored 3rdparty