Commit Graph

22 Commits

Author SHA1 Message Date
nicole mazzuca
1d8f0acc9c
[vcpkg manifest] Manifest Implementation (#11757)
==== 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
2020-06-30 10:40:18 -07:00
Billy O'Neal
4fb2256085
[vcpkg] Allow CI to pass in all relevant directories and remove use of symbolic links (#11483) 2020-06-03 19:31:28 -07:00
Voskrese
b8c5ede662
[msbuild] Hotfix /p:UseEnv=True to be a port-local setting (#11058)
* Update vcpkg_build_msbuild.cmake

* Update vcpkg_install_msbuild.cmake

* Update CONTROL

* Update CONTROL

* Update portfile.cmake

* Update portfile.cmake

* Update ci.baseline.txt
2020-04-30 10:11:20 -07:00
Voskrese
ed9511fcf6
[libvpx][mpg123] Fix use of YASM in MSBuild (via path) (#10952)
* Update vcpkg_build_msbuild.cmake

* Update vcpkg_install_msbuild.cmake

* Update portfile.cmake

* Update CONTROL

* Update portfile.cmake

* Update CONTROL

* Update ci.baseline.txt.

* Update ci.baseline.txt

* Update ci.baseline.txt

* Update ci.baseline.txt

* Update portfile.cmake

* Update CONTROL

* Update CONTROL

* Update portfile.cmake

* [mpg123][libvpx] UWP is a target

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-04-23 21:18:56 -07:00
martin-s
191c864927 Fix bug in .vcpkg-root detection that breaks --overlay-triplets (#7954)
* - Added scripts variable to ports file.
- Added check if triplet file is not available (NPE).

* - Fixed line endings.

* Provide location of .vcpkg-root to ports.cmake

* vcpkg sets VCPKG_ROOT_PATH in ports.cmake

* [vcpkg] Fail if VCPKG_ROOT_PATH is not passed from vcpkg.exe

* [vcpkg] Fix vcpkg rooth path

* [vcpkg] Make --x-scripts-root an experimental command
2019-09-12 23:52:52 -07:00
Don
a421f43ed1 Add headers to vcpkg_download_distfile (#5640)
* 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
2019-03-14 13:43:49 -07:00
Frederik Carlier
cc00cf05fb New packages: libimobiledevice, getopt, readline (#3504)
* 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
2018-08-08 04:15:13 -07:00
Felipe Aburaya
4ebdbe7e88 [3fd] Initial port of 3FD project (#3811)
* [2fd] Initial port of 3FD project

* [3fd] Fix 2017 builds. Enable static builds in dynamic triplets. Improve vcpkg_build_msbuild().
2018-07-03 06:39:13 -07:00
Robert Schumacher
d5e433f03b [vcpkg-build-msbuild] Add option to use vcpkg's integration. Fixes #891. Fixes #828. 2018-03-20 21:49:53 -07:00
Robert Schumacher
9e54b3792d [mpg123] Disable LTCG for static libs to avoid ABI incompatibility 2018-03-20 21:45:11 -07:00
Robert Schumacher
5335d17f53 [vcpkg] Initial experimental support for VCPKG_BUILD_TYPE release 2017-11-25 15:25:18 -08:00
Robert Schumacher
2ece3186ff [vcpkg-build-msbuild] Update examples. 2017-11-08 10:41:03 -08:00
Robert Schumacher
49cd399586 [vcpkg-docs] Rework documentation for compatibility with readthedocs.io and MkDocs. 2017-05-28 14:15:13 -07:00
Mikhail Paulyshka
b87c1c1bea vcpkg_build_msbuild: add PLATFORM_TOOLSET property 2017-03-14 02:18:23 +03:00
Robert Schumacher
26b9278a4c [vcpkg_build_msbuild] Perform a full rebuild by default. 2017-03-13 14:09:11 -07:00
Robert Schumacher
8fc1447da7 [vcpkg_build_msbuild] Default to overriding WinSDK version 2017-03-13 14:02:28 -07:00
Mikhail Paulyshka
cff0971773 vcpkg_build_msbuild: add TARGET_PLATFORM_VERSION property 2017-03-12 21:22:59 +03:00
Robert Schumacher
f7dcbe97ff [vcpkg] Disable Intel MKL for all internal builds. Fixes #609. 2017-02-03 17:46:09 -08:00
Mårten Nordheim
60c61d9305 Add /m switch to vcpkg_build_msbuild.cmake
(https://github.com/Microsoft/vcpkg/issues/258#issuecomment-259018977)
2016-11-11 01:15:14 +01:00
Silvio
6cf29cdfb6 Fix space/tabs typo 2016-10-02 13:11:45 +02:00
Silvio
bcaae465c5 Add platform option to vcpkg_build_msbuild
Also added documentation for the platform option and the rest
of the function
2016-10-02 12:55:30 +02:00
Alexander Karatarakis
ccca198c1b Initial commit 2016-09-18 20:54:03 -07:00