==== 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.
* update all 16 configure_make ports
* add make wrappers for msvc
* improve make builds
* fix relativ path errors on linux (and osx?)
* revisit all 16 portfiles again
* remove trace from install
* fix relative build path issues.
* bump control of the 16 configure ports
* never forget .... real linux is case sensitive ....
* Revert "bump control of the 16 configure ports"
This reverts commit 40d6d81c01d2709c4acbdbec503b4787c3fd8282.
* Revert "Revert "bump control of the 16 configure ports""
This reverts commit 9c9851ddfcd01bfad604ab9c9aed7379238d619a.
* bump control again for real ci rebuild
* add copy_source
* remove message
* pass parameters to vcpkg_build_make
* fix healpix build.
* fix libmagic regression
* fix libwandio regression
* pfring changes regression fix? (cannot test in wsl)
* ws change to retrigger CI
* fix libpq regression
* fix libudns regression
* add share/pkgconfig to PKG_CONFIG_PATH
* cleanup of deprecated options
* cleanup docs
* Revert "bump control again for real ci rebuild"
This reverts commit b4bc18edc2376eba6c3aa3dda52bd82286f23616.
* shared binaries on linux should stay in lib. Only dlls are mvoed to bin
* move pkgconfig check and add message about missing system packages
* added autopoint as a build requirement
* fix prerun shell working dir.
* a few fixes from the x windows pr
- add libpath setting
- fixed pkgconfig search on windows platforms
- fixed autopoint msys package on windows
* fix release prefix
* minimal cleanup and ws changes to trigger true CI rebuild
* fix tcl by upgrading
* remove unnecessary rename
* fix pfring? can't test in WSL. Linux kernel headers required.
* fix lowercase in patch
* fix libwandio
* remove x264 from fail list
* replace wrappers with wrappers from automake
* update make ports
* remove unnecessary message
* refactor vcpkg_configure_make
* [tcl] remove stray ?
* [farmhash] fix build
* [freexl] ws change to retrigger ci build
* [x264] add pthread as a dependency
* [vcpkg/scripts] add ignore flag correctly
* [sdl] fix vcpkg_fixup_pkgconfig call
* [farmhash/freexl] delete configure and recreate it.
* [libudns] remove trailing ?
* [freexl] use empty build target
* [freexl] add system library; remove previous change
* Update ports/x264/portfile.cmake
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* [libwandio] remove unncessary comment
Co-authored-by: dan-shaw <51385773+dan-shaw@users.noreply.github.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* 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
* make the regex comment aware
make pc files relocatable by using ${pcfiledir} in prefix
tested with x window pr