* [libb2] Add supports and install pkg-conifg on macOS VM
* Add blank line to the end of the json file
* vcpkg x-format-manifest --all
* Remove failed ports in ci baseline file
* [vcpkg ios] Fix detection of iOS toolchain (#6003)
Added mapping of CMAKE_SYSTEM_NAME == iOS to the bundled iOS toolchain
file.
This fixes the "Unable to determine toolchain to use for
triplet arm64-ios with CMAKE_SYSTEM_NAME iOS" error.
* [vcpkg ios] Set the CMake system processor for the simulator arches (#6003)
So it's consistent for all architectures.
* [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>
* [vcpkg] Enable binary caching by default. Support `x-` migration.
Fix passing multiple copies of single parameter arguments.
* [vcpkg] Handle x- prefixes for general arguments
* [vcpkg] Fix#12285 and improve documentation of default binary cache path
* [vcpkg] Revert x- prefix homogenization for per-command arguments
* [vcpkg] Only use accelerated compiler detection for Windows Desktop + Ninja. Improve breadcrumbs for users encountering issues.
* [vcpkg] Fix compiler tracking not pre-downloading Ninja. Fix compiler tracking not looking in -err.log.
* [vcpkg] Update toolsrc/src/vcpkg/binarycaching.cpp
Co-authored-by: Billy O'Neal <bion@microsoft.com>
* [vcpkg] Format
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy O'Neal <bion@microsoft.com>
* Add a schema file for vcpkg.json
* [vcpkg.schema.json] fix $ref fields
Per json schema, having any other field in a `{ "$ref": ""}` object is invalid.
* [vcpkg.schema.json] change case to reflect usage
* [vcpkg.schema.json] check reserved names for identifiers
* [vcpkg.schema.json] add an $id field
* [vcpkg.schema.json] Apply suggestions from code review
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* [vcpkg.schema.json] Apply suggestions from code review
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* [vcpkg] Move default binary cache from `$root/archives` to user-wide directory
Teach nuget/nugetconfig binary sources to use read/write.
* [vcpkg] Reformat
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [kfr] Add new port
* [kfr] Modernize and update to lastest
* [kfr] Add features
* [kfr] Fail fast on arm-uwp, arm64-windows
* [kfr] Fail fast on linux
* [qt5] update qt to 5.15 and make ports depend on qt5-base[core].
* [qt5] update and remove patches
* [baseline] skip qt5-canvas3d due to deprecation
* [qwt] update to 6.1.4 and fix build issues
* [qt5-webengine] remove old patches
* [qwt] fix static patch
* [qt5-location] add a message that the port has a sprious failure
* [qt5-webengine] fix filename of patch
* [qt5-webengine] add build.patch (ci is probably fast than me in checking for more errors)
* [qt5-winextras] depend on qt5-base[core]
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* [qt5-base] update latest feature (latest=core)
* [baseline] remove qt5-webengine for nonstatic windows since CI can handle it now
* [qt5-base] make qt5-base fail to get logs.
* [angle] include missing egl sources.
* [qt5-base] patch egl detection logic.
* [baseline] remove qt-x11extras:x64-linux=fail
* [qt5-base] need to be explicit about xcb to build qt5-x11extras
* [CI] add necessary system libraries to linux CI
* [qt5-base] remove comment to retry on linux
* [qt5-base] add static_init patch for MSVC
* [qt5-base] refined workaround to not regress linux and osx due to
* [paraview] remove unnecessary patches with newer qt versions
* [vcpkg/baseline] add webengine back to skip
* [vtk] fix missing include regression using patch from upstream
* [vtk] fix patch
* [qt5-base] replace with patch from upstream
* [paraview] use hdf5 1.10 api.
* [paraview] bump control
* Add more packages to Linux machines.
* [qt5-base] forgot to add the patch
* Delete 6943.diff
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
This PR also renames the VcpkgUserTriplet MSBuild variable to VcpkgTriplet to minimize user confusion compared to previous practice and documentation.
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
- New upstream version 10.35
- Update patches:
pcre2-10.35_fix-space.patch
pcre2-10.35_fix-uwp.patch
- Add patch:
pcre2-10.35_fix_postfix_for_debug_Windows_builds.patch
- Drop patch (fixed upstream):
fix-arm64-config.patch
- Since 10.35, pkgconfig files are created using CMake
* fix debug suffix of pkgconfig files under Windows
* add vcpkg_fixup_pkgconfig()
- Remove bin and debug/bin in case of static build
- Update ci.baseline.txt
Remove "pcre2:arm-uwp=fail", because arm-uwp passes now
Add "unicorn-lib:arm-uwp=fail"
* stage checking formatting
this means that the port CI won't run if the formatting failed
* fix invalid names
* add formatting of manifests
* fix dependsOn name
* fix a thing
* CRs
* oops, typo
--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>
* Update .gitignore
* Add mingw dynamic lib triplets
* Only copy pdbs if not using *-mingw triplets
* Using VCPKG_POLICY_DLLS_WITHOUT_LIBS as a workaround
* Rename *-mingw to *-mingw-dynamic
Co-authored-by: Billy Robert O'Neal <bion@microsoft.com>
* Added python script to generate all packages file list, added to azure pipeline to build at the end of the run
* fixed an issue that causes some leading slashes were being removed
* Header Database now includes hpp files for C++ header files
* Changed Header Database to include all files under \include\ folder
* Apply suggestions from code review, changing condition from eq to ne
Co-authored-by: Billy O'Neal <bion@microsoft.com>
* Update last condition from eq to ne
Co-authored-by: Billy O'Neal <bion@microsoft.com>
Use IncludePath and LibraryPath propertiesThese tool agnostic properties allow to configure ClCompile and ResourceCompile without repeating the code.
This change includes my changes from #4454.
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
This changes our PR builds to treat 'fail' in the ci.baseline.txt as 'skip' instead of using tombstones.
We currently have large numbers of spurious failures that get enshrined in PRs through no fault of a PR author, removing the tombstones concept will fix those by allowing the user to retry. This does mean we accept some risk of not detecting when a port is 'fixed', but that failure is reasonable for us to handle after we see it in CI, but that seems worth it given that it lets us get rid of the tombstone concept.
This also helps out the binary caching feature, because we don't have to figure out how to productize tombstones.
* [vcpkg] Implement --x-write-nuget-packages-config= setting for `install` and `x-set-installed`.
* [vcpkg] Add end-to-end testing suite for install, remove, and binary caching
* [vcpkg] Define `$TestingRoot in end-to-end-tests.ps1
* [vcpkg] Address CR comments
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg] Upgrade find_acquire_program(NUGET) to 5.5.1. Add partial SHA to temporary download paths to avoid collisions.
* [vcpkg] Fix regression in `vcpkg export --nuget` due to file locking on .vcpkg-root
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
* [vcpkg] Initial implementation of --x-binarysource=nuget
* [vcpkg] Remove double-double quoting of CMake arguments
* [vcpkg] Update nuget.exe to 5.5.1 to support Azure DevOps Artifacts
* [vcpkg] Enable batching of NuGet server calls with prefetch(). Add `interactive` binarysource.
* [vcpkg] Add `nugetconfig` binary source
* [vcpkg] Short circuit querying remote NuGet servers once all refs are found
* [vcpkg] Add experimental help for binary caching
* [vcpkg] Improved NuGet cache package descriptions and version formatting
* [vcpkg] Rename `CmdLineBuilder::build()` to extract()
* [vcpkg-help] Ascii-betize help topics
* [vcpkg] Add tests for cmdlinebuilder. Improve handling of quotes and slashes.
* [vcpkg] Addressing code review comments
* [vcpkg] Add tests for vcpkg::reformat_version()
* [vcpkg] Added test for vcpkg::generate_nuspec()
* [vcpkg] Add tests for vcpkg::XmlSerializer
* [vcpkg] Addressed code review comment
* [vcpkg] Add test for vcpkg::Strings::find_first_of
* [vcpkg] Fix machine-specific paths in test for vcpkg::generate_nuspec()
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg] Add disk space report to PR/CI
Example output:
```
Disk Label Size Free Space
---- ----- ---- ----------
C: Sabrent 1907 GiB 1239 GiB
D: Dev 447 GiB 383 GiB
E: Samsung 960 Pro 1908 GiB 1084 GiB
H: Rocket 3815 GiB 863 GiB
R: 0 B 0 B
S: 0 B 0 B
```
* [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.