Commit Graph

483 Commits

Author SHA1 Message Date
Jack·Boos·Yu
21b56d9929
[vcpkg_from_sourceforge] Add retry mirror function (2/2) (#12018) 2020-07-03 09:36:40 -07:00
ras0219
3f6342db6d
[vcpkg] Fix vcpkg export --nuget regressions (#12174)
* [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>
2020-06-30 14:02:26 -07:00
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
freddy77
a0bd59c6a2
Fix typo in comment (#12069)
Enabel -> Enable

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2020-06-26 19:22:12 -07:00
Jack·Boos·Yu
a0e0c57f86
[vcpkg] Add vcpkg_from_sourceforge (1/2) (#11899) 2020-06-26 15:06:30 -07:00
Silvio Traversaro
70ab27fcad
[ignition-plugin1] Add new port 🤖 (#11275)
* [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.
2020-06-24 14:59:32 -07:00
Vicki Pfau
eede79eb27
Fix bootstrapping MSYS2 pacman (#11499) (#12080) 2020-06-24 11:29:28 -07:00
Vitalii Koshura
61c2158d33
[cmake] Add mirror to download Strawberry Perl (#11938)
Last several days Strawberry Perl official download server has issues that lead to extremely slow download rates
(sometimes it takes more than 1 hour to download ~150MB).
This commit adds non-official mirror of Strawberry Perl to the list of available URLs.

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2020-06-18 15:42:20 -07:00
Jack·Boos·Yu
f18e0b4387
[thrift] Update to 0.13.0 and fix OSX build (#11981) 2020-06-17 13:42:40 -07:00
Adam Johnson
e1783c68c4
[python3] Update to Python 3.8 (#11708)
* [python3] Update to Python 3.8.3.

[vtk] Update to Python 3.8 and fix improper Python3 artifact
specification.

* [python3] Fix static linking, broken in 121faf2.

* [hyperscan] Add missing build dependency (fixes CI on macOS).
2020-06-11 22:23:26 -07:00
emptyVoid
a5e28c4b35
[vcpkg-acquire-msys] Improvement (#11810)
* [vcpkg-acquire-msys] Remove obsolete workaround.

* [vcpkg-acquire-msys] Don't refresh package database on package install.

* [vcpkg-acquire-msys] Drop no longer needed taskkill.

* Trigger CI rebuild to test vcpkg_acquire_msys.
2020-06-11 02:09:19 -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
emptyVoid
e792d1c171
[vcpkg-acquire-msys] Update pacman before any other package. (#11443)
* [vcpkg-acquire-msys] Update pacman manually to work around update issues.
2020-05-22 00:58:05 -07:00
Alexander Neumann
27c6c94202
[vcpkg] Improve make builds (#10402)
* 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 40d6d81c01.

* Revert "Revert "bump control of the 16 configure ports""

This reverts commit 9c9851ddfc.

* 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 b4bc18edc2.

* 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>
2020-05-21 10:46:07 -07:00
Wolfgang Stöggl
a29e5b6d5d
[tool-meson] Update to 0.54.2 (#11380)
* [tool-meson] Update to 0.54.2

- Release notes: https://mesonbuild.com/Release-notes-for-0-54-0.html
- Homepage added to CONTROL file

* Re-trigger CI test

Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
2020-05-20 10:10:59 -07:00
Martin Vejdarski
ec2b59b93e
[harfbuzz,skia] Update and replace Skia dependencies with vcpkg (#11416) 2020-05-19 15:20:18 -07:00
Martin Vejdarski
6d5a1a897e
[gn, crashpad] Add GN build support and crashpad port (#10505)
* [vcpkg_find_acquire_program] Add gn

* [GN] Add build system support

* [crashpad] Add new port
2020-05-11 14:58:12 -07:00
Alexander Neumann
18ab20050c
[gmp,nettle,hogweed] Add new ports (#10613)
* 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

* add port for vs yasm integration within VCPKG

* add gmp

* add nettle

* add missing windows flag in control

* CI workaround
CI seems to not pass env YASMPATH correctly to cl.
Since YASM is on PATH -> remove $(VCInstallDir) as the default for YasmPath

* overwrite correct import.

* If CI does not give logs just display some extra info

* target replacement was mising

* apply same replacements for nettle

* remove unnecessary status message

* remove unnecessary platform code

* update supports field for vs-yasm

* apply replacement also to libhogweed

* fix static builds

* remove not working code

* remove debug/release options

* add additional replacement for the case the SOURCE dir has already been patched within VCPKG

* add triplet selection to vcpkg_install_msbuild

* fix missing ; in patches

* remove gmp dependency in static builds since they are not required

* cleanup portfiles

* add missing vcpkg_fixup_pkgconfig() call
2020-05-08 13:55:11 -07:00
Alexander Neumann
0bbf4400e9
[vcpkg/scripts] Fix ninja search path on windows and find binaries within vcpkg first (#11105)
* [vcpkg/scripts] fix wrong paths variable on windows

* [vcpkg/scripts] search within vcpkg first and then ask the rest of the world

* [vcpkg/scripts] add second search path for ninja.
First is for vcpkg fetch ninja
Second is for vcpkg_find_acquire_program
2020-05-06 13:52:51 -07:00
Billy O'Neal
7db401cb1e
[qt5] Add -j to make to parallelize on Linux and MacOS (#11111) 2020-05-04 15:37:57 -07:00
myd7349
0ab1a9e1c6
[vcpkg] Add new function vcpkg_copy_tools (#8749)
* [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
2020-05-01 15:28:55 -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
Alexander Neumann
d054476e04
[vcpkg_acquire_msys] Fix undefined working dir. (#11102) 2020-04-30 09:50:29 -07:00
Alexander Neumann
c444db5f5a
[scripts] add new function vcpkg_fixup_pkgconfig (#9861)
* 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
2020-04-27 17:37:55 -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
Cheney Wang
b6cd6ca0ba
[vcpkg] Update git to 2.26.2 (#10932)
* Update git to 2.26.1

* [vcpkg] Update git to 2.26.2

Co-authored-by: Cheney-Wang <v-xincwa@microsoft.com>
2020-04-23 13:47:47 -07:00
Robert Schumacher
2070c3c0d8
[ninja] Merge pull request #10796 from Voskrese/ninja-update-1.10
[Ninja] Update to 1.10
2020-04-16 12:23:19 -07:00
alcroito
c5f01e1dee
Add initial iOS support (#6275)
* 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
2020-04-15 13:06:55 -07:00
Voskrese
33a53a8ad0
ninja update 1.10 2020-04-12 12:47:40 +08:00
Alexander Neumann
bf858077f2
fix vcpkg_find_acquire_program for script (#10621)
behavior before:
one script found meant another script could not be searched since the first one would simply be returned.
2020-04-09 17:01:48 -07:00
Lily
6c4e822611
[vcpkg] Fix vcpkgTools.xml, vcpkg_find_acquire_program.cmake version/filename inconsistent (#10655) 2020-04-06 15:24:17 -07:00
Alexander Neumann
bd0c7106f9
[vcpkg] Make configure meson sane and work for all targets. (#10395)
* fix configure meson for non windows builds.

* change to the two ports using meson

* fix passing of empty compiler arguments.

* dont transform / into - for all flags

* copy meson logs into the buildtree to better diagnose CI errors of meson ports

* another change to the two ports to actually force a CI rebuild

* add missing /pkgconfig dir to PKG_CONFIG_PATH

* fix pkgconfig setup

* add share/pkgconfig to PKG_CONFIG_PATH

* Add CMake path to PATH for meson

* add share folder to prefix for meson

* remove double message

* add libdir so that meson does not install into architecture folder in linux
and make prefix path target dependent. (Or should it be host dependent?)

* bump controls

* update toolchain selector to use VCPKG_TARGET_IS_<paltform>.

* change pkgconfig prefix and path.....
meson is not correctly handling native windows paths and eating "\"
PKG_CONFIG_PATH also nees : to correctly separate paths
Prefix still must be near to native path but with / instead of \ C:/somepath/
2020-04-06 14:43:16 -07:00
Marc Boucek
e1fc03c474
vcpkg_from_git: Add support for git over ssh (#9446)
* 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 0d608ee591.

* Revert "vcpkg_from_git: append ssh bin directory to path"

This reverts commit 377ce3fae1.

* Partial Revert "vcpkg_from_git: Add support for git over ssh"

This partially reverts commit 9b81b16c4c.

Co-authored-by: Marc Boucek <marc.boucek@native-instruments.de>
Co-authored-by: Marc Boucek <marc.boucek@posteo.net>
2020-04-01 07:35:38 -07:00
MaverickTse
51974b9a5d
[vcpkg-tools] Multiple mirror URLs to download MSYS2, update (#10346)
Resolves #10322

* Update MSYS2 download source. Resolve #10322

Proposal to resolve https://github.com/microsoft/vcpkg/issues/10322
* Use Sourceforge as MSYS2 download source (up to SF to choose mirror, fair to everyone and more reliable)
* Updated msys2 version to 2019-05-24 (Otherwise need to spend extra time on ```pacman -Syu```)
* Updated SHA512 accordingly
* Tested with building icu:x64-windows

* add official repo as backup
2020-03-10 13:08:43 -07:00
nicole mazzuca
3e90c7dad9
[vcpkg_find_acquire_program] Add git (#10311) 2020-03-05 14:23:05 -08:00
nicole mazzuca
4b1444e48d
[ryu] Add new port (#10167)
* ryu

* Add tool bazel in OSX

* wip

* wip

* wip

* wip

* wip

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
2020-03-05 14:17:08 -08:00
Wolfgang Stöggl
2121698e7b
[tool-meson] Update to 0.53.2 (#10234) 2020-02-28 21:29:51 -08:00
Leonid Pospelov
81965f6b3f
[vcpkg] Better vcpkg_apply_patches error message (#10127) 2020-02-27 14:22:16 -08:00
Robert Schumacher
5deea3b975
[vcpkg-docs] Add documentation for vcpkg_configure_meson(), vcpkg_install_meson(), vcpkg_fixup_cmake_targts(), and vcpkg_prettify_command() (#7606)
* [vcpkg-docs] Add documentation for `vcpkg_configure_meson()`, `vcpkg_install_meson()`, `vcpkg_fixup_cmake_targts()`, and `vcpkg_prettify_command()`

* [docs] Address code review comments. Reformat docs for vcpkg_fail_port_install.
2020-02-12 15:58:43 -08:00
Jack·Boos·Yu
fa022fb0fb
[tools] Add python64 bit. (#7964)
* [tools]Add python64 bit.

* [pybind11/shiva]Add version number.

* [duktape]Fix build error using python64 bit.

* [duktape]Fix python2 path.

* [duktape]Fix duketape build: using python2 tools.

* Change subdirs and archive names for PYTHON2 and PYTHON3

* [duktape] Update version info

* [shiva] Add homepage

* update baseline

* update baseline

Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
2020-02-04 11:32:03 -08:00
Phil Christensen
e62d136128
[vcpkg] Add Supports: field. Use contents of triplets instead of names for dependency resolution. (#8601)
* 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>
2020-02-03 14:22:52 -08:00
Robert Schumacher
89751b450a [vcpkg_find_acquire_program] Include version in downloaded python MSI name to avoid conflicts when updating (#8774) 2020-01-27 15:52:23 -08:00
Colin Barré-Brisebois
23d7b88a39 Update the repo for jom 1.1.3 (#9265)
* Update the repo for jom 1.1.3

- The qt repo is unreliable, often down. Use the Berkeley mirror instead.

* Set two possible URLs for JOM v1.1.3

* Update indent to match coding style
2020-01-27 14:44:33 -08:00
Cristian Adam
8c77506c4f MinGW: Fix vcpkg common definitions (#9807)
Since MinGW has both VCPKG_TARGET_IS_MINGW and VCPKG_TARGET_IS_WINDOWS,
make sure to test the first before.
2020-01-23 12:17:40 -08:00
Wolfgang Stöggl
f992ddbed3 [doxygen] Add alternative download URL (#9708)
Only the current and the previous version of doxygen can be downloaded
from: http://doxygen.nl
Sourceforge provides the current version and any previously released
versions for download: https://sourceforge.net/projects/doxygen/files/
Add sourceforge as alternative download URL. This avoids situations,
when the version of doxygen in vcpkg is n-2 and cannot be downloaded
any more, see e.g. commit: 526f937580
2020-01-22 12:27:45 -08:00
Cristian Adam
38b959022c Add support for building with MinGW (#9137)
* Add support for building with MinGW

Tested with MSYS2 MinGW 8.3.0, gcc-mcf.lhmouse MinGW 9.2.1,
and StephanTLavavej/mingw-distro!

* Add MinGW toolchain

From your MinGW configured shell you could just use vcpkg to
configure packages.

An x64-mingw triplet would look like:
```
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_ENV_PASSTHROUGH PATH)

set(VCPKG_CMAKE_SYSTEM_NAME MinGW)
```

* Add MinGW community tripplets

x64 tested with https://github.com/StephanTLavavej/mingw-distro
x86, arm64, arm tested with https://github.com/mstorsjo/llvm-mingw
2020-01-17 15:36:08 -08:00
tags
526f937580 [doxygen] Updated to 1.8.17 (#9574)
* Updated doxygen to 1.8.17 from 1.8.15
2020-01-15 16:48:26 -08:00
NancyLi1013
066c7b9879 [vcpkg] Fix build type in vcpkg_build_make.cmake (#9602)
* [vcpkg] Fix build type in vcpkg_build_make.cmake

* Update x264 and libosip to test vcpkg_build_make() function

* [x264] Update portfile.cmake
2020-01-13 16:34:54 -08:00
Alexander Neumann
f8165f7270 [qt5-base] Fix Qt5 linux build and be a bit less flaky in CI (#9260)
* Fix static qt5 builds and ignore system qmake
closes #9234 and #9239

* fix angle conflict and icu dependency

* add egl-registry as a dependency

* remove space

* adding spaces resolved the problem

* move files only if they exist

* Update the Wrapper to use the Postgres target

fixes some observed linkage issues

* update baseline

* add fontconfig on linux so CI is less flaky in a full rebuild

* fix linkage dependent qt5-imageformats libs

* Fix Wrapper for Linux and add other platform libs to Qt5::Core

* fix plugin properties in cmake files

* fix cmake files.

* fix missing plugin qminimal deployment into tools dir

* change wrapper slightly

* UNIX also means APPLE so it needs to be excluded

* fix the static windows build

* mark the parts of fixcmake which require further work to work with single configuration builds

* Update ci.baseline.txt

make qt5-tools pass for CI testing

* fix last regression

* break auto fontconfig in configure script to fix qt5-tools

* update baseline

* enable verbose to debug ci

* try to help it instead of breaking it

* completly link icu

* try to fix fontconfig configure

* fix configure call. cannot be called with a list!

* remove invalid line from patch

* force icu and reduce the required icu libs according to the configure script

* fix icu linkage

* add more icu dependencies and names for windows

* add more icu libs. Seems like all are needed

* fix typo

* print icu libs in debug

* check releasenames

* try again

* change link order

* add icu to wrapper

* fix typo

* patch icu configure for static windows builds

* add other icu libraries to the icu patch

* fix icu in x64-windows-static

* update baseline. VTK builds in local WSL so it should work in CI

* update VTK control to force rebuild

* remove qt5-tools=pass from baseline

* remove qcustomplot:x64-linux=fail from baseline

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-01-06 12:36:51 -08:00
Robert Schumacher
c0d22c88ea
[vcpkg_install_qmake] Add vcpkg_install_qmake (#9412)
* [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()
2019-12-23 06:10:12 -08:00
Alexander Neumann
f8cfe6c164 Fix CMAKE_TRY_COMPILE_PLATFORM_VARIABLES (#8533)
* Fix CMAKE_TRY_COMPILE_PLATFORM_VARIABLES

to respect already set values
closes #8506

* ws change to trigger full rebuild
2019-12-20 12:20:31 -08:00
Robert Schumacher
ffed695062
[libxslt] Fix writing to locations outside vcpkg in Windows builds (#9242)
* [libxslt] Fix writing to locations outside vcpkg in Windows builds

* [libxslt] Add passing arm64-windows to baseline
2019-12-07 05:50:24 -08:00
Laurent Rineau
767909ad14 [vcpkg_find_acquire_program] Give hints for yasm with brew and apt (#9191) 2019-12-06 16:01:12 -08:00
Tatsuro Shibamura
227d055359 [ffmpeg] Fixed build error ARM64 Windows 10 (#9160)
* [ffmpeg] Fixed build error ARM64 Windows 10

* [ffmpeg] Avoid gas-preprocessor caching
2019-12-03 11:17:08 -08:00
Robert Schumacher
ae74e0bfd3
Merge pull request #5719 from donny-dont/github-url
[vcpkg_from_github] Allow targeting Github Enterprise instances
2019-11-22 15:13:08 -08:00
Robert Schumacher
45bc9e9848 [vcpkg_from_github] Rename GITHUB_URL -> GITHUB_HOST
Rename TOKEN -> AUTHORIZATION_TOKEN
2019-11-22 10:05:39 -08:00
Robert Schumacher
8831e8f25f
Merge pull request #7598 from Neumann-A/path_separator
[vcpkg] QoL: add host specific path separator to common definitions
2019-11-22 09:45:33 -08:00
Phoebe
9d1048e612 [libusb] upgrade and support arm64 (#8976) 2019-11-19 11:02:13 -08:00
JackBoosY
934275b712 [libxslt]Using vcpkg_install_nmake in Windows, support unix. (#8589)
* [libxslt]Using vcpkg_install_nmake in Windows, support unix.

* support PRERUN_SHELL/PRERUN_SHELL_DEBUG/PRERUN_SHELL_RELEASE

* Re-trigger CI.
2019-10-29 23:23:36 -07:00
Wolfgang Stöggl
af55822ea1 mesonbuild - Update to 0.52.0 (#8639)
* mesonbuild - Update to 0.52.0

* [tool-meson] Add package to represent dependency on Meson build-system
2019-10-28 15:47:40 -07:00
JackBoosY
1bdb6bfec1 Fix separate make and install execution error issue. (#8540)
* Fix separate make and install execution error issue.

* trigger CI system.

* Fix multiple copy files under debug, fix separator between make and install in linux.
2019-10-21 22:49:23 -07:00
JackBoosY
988b1c9897 support SKIP_CONFIGURE in vcpkg_configure_make. (#8647) 2019-10-21 16:23:52 -07:00
JackBoosY
b99d073412 Add AUTOCONF support with vcpkg_configure_make. (#8610) 2019-10-21 16:23:23 -07:00
Wolfgang Stöggl
6e30ee1ae8 vcpkg_configure_meson - Remove compiler flag /Oi (#8667)
Removing the compiler flag /Oi (Generate Intrinsic Functions) allows
meson to detect functions like memmove, memset correctly. This is
relevant to meson configure for fribidi (see fribidi/meson.build).

This fixes the following "issues" (from fribidi meson-log.txt):
  testfile.c(17): error C2168: 'memmove': too few actual parameters for
  intrinsic function
  Checking for function "memmove" : NO
  testfile.c(17): error C2168: 'memset': too few actual parameters for
  intrinsic function
  Checking for function "memset" : NO

And enables detection of the functions:
  Checking for function "memmove" : YES
  Checking for function "memset" : YES
2019-10-21 15:25:58 -07:00
Ehsan
6f37346354 [vcpkg_download_distfile.cmake] Fix Examples (#8669) 2019-10-21 15:25:25 -07:00
JackBoosY
37be706f56 Fix option -j (#8489)
* Remove unusable parameters -j

* trigger CI system.

* Add option -j to make.

* Re-trigger CI system.

* Fix -j in make, fix NO_DEBUG in nmake.

* Re-trigger CI system.
2019-10-09 05:54:19 -07:00
Stefano Sinigardi
726c111481 [vcpkg] fatal_error when patch fails to apply (#8087)
vcpkg will now fail on failure to apply patches except when using `--head`.
2019-10-07 10:35:13 -07:00
JackBoosY
ad493fd860 Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake (#8267)
* Add function vcpkg_configure_make/vcpkg_build_make.

* Fix autoreconf command and add log.

* Add vcpkg_install_make.

* Fix call function name.

* support non-debug mode.

* Add nmake support.

* [tcl]Add new port for testing.

* [vcpkg_configure_make]Fix prefix in linux.

* restart CI systen.

* Separate vcpkg_build_nmake/vcpkg_install_nmake. Add arg PROJECT_NAME.

* fix copy source file. add samples.

* Remove uncommon options.
Add force install para to autoreconf.

* fix build error.

* fix options judgment.

* enable nmake in windows.

* fix some envs and macros. Disable NMAKE in vcpkg_configure_make currently.

* update docs.

* fix environments.

* Modify libosip2 to use vcpkg_configure_make/vcpkg_install_make.

* [tcl]Tcl separates PR.

* trigger PR-EAGER.

* [freexl]Fix options name and remove option NMAKE.

* use tool-chain instead of set environments manually.

* fix autoreconf para.

* use vcpkg_execute_build_process instead.
2019-10-05 07:51:07 -07:00
Alexej Harm
da233c38ec Add go to vcpkg_find_acquire_program (#8440) 2019-10-04 11:14:35 -07:00
Vinny
5ebf65665d [Documentation] Added documentation page for vcpkg_fixup_cmake_targets.cmake (#8365)
* Added documentation page for vcpkg_fixup_cmake_targets.cmake, added example usage comment to .cmake file

* Update cmake_fixup_cmake_targets.md

* Update cmake_fixup_cmake_targets.md
2019-10-01 08:21:04 -07:00
Leonid Pospelov
6c7f1c7673 [vcpkg] Avoid RENAME usage to prevent cross-device link problems (#4245) (#8032) 2019-09-23 14:03:59 -07:00
Alexander Neumann
86a5b6fd7b [Qt] Fix static builds of qt5-imageformats (#8222)
* forward extra arguments to vcpkg_configure_qmake from submodules
* make image format dependent on tiff and libwebp
* make tools dependent on imageformat
* build options must be passed a bit different then normal qmake options
* add the required dependencies
* a new dependency discovered in qt5-declarative
* need webpdemux also
* qt5-declarative is dependent on imageformats so we can drop it here
* remove empty qt.conf if it exists. closes #8180
* add all recommended dependencies as dependencies in control.
2019-09-20 14:06:43 -07:00
Alexander Neumann
e2be4512a0 fixed leaking variable in vcpkg_build_qmake 2019-09-20 12:57:29 +02:00
Alexander Neumann
119e9b5729 update vcpkg_configure_cmake 2019-09-20 12:52:33 +02:00
Alexander Neumann
0c7bf66527 removed escaped version. added correct usage description 2019-09-20 12:52:14 +02:00
Alexander Neumann
5b1e426929 Merge remote-tracking branch 'upstream/master' into path_separator
# Conflicts:
#	scripts/cmake/vcpkg_common_definitions.cmake
2019-09-20 12:24:23 +02:00
Alexander Neumann
279e25aecf revert changes to vcpkg_build_qmake file 2019-09-20 12:20:21 +02:00
Alexander Neumann
8a44d47f76 [vcpkg] add missing implib definitions, fix shared lib extension on mac (#8131)
* [vcpkg] add missing implib definitions, fix shared lib extension on mac

(cherry picked from commit 2cddef9541)

* Better find_library suffixes and prefixes.

* moved additional suffix into a comment and reverted back to what is expected on windows

* updated documentation for add variables.
2019-09-16 09:06:06 -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
Alexander Neumann
96f4487c77 [Qt] Update to 5.12.4 (#7667)
* update to 5.12.4
* removed port qt5-modularscripts and split it functionality into more functions into qt5-base
* added qt_port_hashes.cmake for simpler upgrade.
* added optional VCPKG_QT_HOST_MKSPEC and VCPKG_QT_TARGET_MKSPEC to select QTs build mkspecs from a triplet
* qt_<config>.conf are now copied from the build dir instead from the port dir
* fixed freetype dependencies.
* cleanup of vcpkg_qmake scripts. No strange/unclear replacements anymore.
* introduced vcpkg_buildpath_length_warning
* changed directory layout of the qt5 installation executables and mkspecs a bit.
2019-09-12 10:07:21 -07:00
Victor Romero
9e68729bb6
Use macro instead of function to override execute_process() (#7980) 2019-08-29 19:40:43 -07:00
Victor Romero
f5c732b40d
Download Mode (#7950)
* [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
2019-08-28 13:49:29 -07:00
Victor Romero
4b404e8cfb
Revert "[vcpkg install] Enable Download Mode (#7797)" (#7949)
This reverts commit 65d4bc146b.
2019-08-28 11:59:30 -07:00
Victor Romero
65d4bc146b
[vcpkg install] Enable Download Mode (#7797)
* [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
2019-08-28 11:47:17 -07:00
Alexander Neumann
d93b940b18
Merge branch 'master' into path_separator 2019-08-23 08:54:20 +02:00
Alexander Neumann
78abf650e7 [vcpkg] QoL: add host/target dependent variables for executable suffixes (#7599)
* improve documentation

* add executable suffixes for host/target into common definitions
2019-08-22 15:57:24 -07:00
Alexander Neumann
18d61a3fb1
Merge branch 'master' into path_separator 2019-08-21 12:00:35 +02:00
dan-shaw
0433989bad
[tensorflow] add new port for linux (#7568)
* [+] Add tensorflow-cc port (Linux only)

* [~] Refactor installation of tensorflow/external

  1. Install tensorflow/external to tensorflow-etc/external;
  2. Fix TensorflowCCConfig.cmake accordingly.

* [tensorflow] Work in progress

* fix tensorflow linux config

* [tensorflow] partial support for windows

* fix config paths

* use environmental variables instead

* remove files

* add python_path

* add verbose error messages

* review fixes

* [tensorflow] refactor config file

* minor changes

* set arch for CI
2019-08-20 12:13:26 -07:00
Alexander Neumann
743bec775a make find_library useable without errors to console. (#7773) 2019-08-20 08:34:18 -07:00
Alexander Neumann
70f4aabbe8
Merge branch 'master' into path_separator 2019-08-19 21:40:43 +02:00
Alexander Neumann
9c879883f6 add variables for target specific library suffix and prefix. (#7600)
also set the according cmakevariables in script mode
enabling find_library calls in portfiles
2019-08-19 11:13:30 -07:00
Victor Romero
a3a6530631
[vcpkg_check_features] Set output variable explicitly and allow reverse-logic check (#7558)
* [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
2019-08-13 20:13:55 -07:00
Alexander Neumann
173642528e use vcpkg add to path in build scripts 2019-08-12 10:04:50 +02:00
Alexander Neumann
01e342d016 use VCPKG_HOST_PATH_SEPARATOR in scripts 2019-08-12 09:49:24 +02:00
Alexander Neumann
c4231c51e4 Merge remote-tracking branch 'upstream/master' into path_separator 2019-08-12 09:28:24 +02:00
Alexander Neumann
cabbe16525 [vcpkg/cmake] Added a function to fail from portfiles in a default way (#7601)
* added function vcpkg_fail_port_install to fail the portfile under requested circumstances and display a standarized failure message

* added always option.

* fix linux regressions

* bump control for ci tu rerun
2019-08-11 23:24:20 -07:00
Alexander Neumann
5899cd1d25 improve documentation 2019-08-08 14:40:47 +02:00
Alexander Neumann
b72fa4561f use it in vcpkg_add_to_path. 2019-08-08 14:22:53 +02:00
Alexander Neumann
6eaf7f0f97 add definition for host specific path separators 2019-08-08 14:18:47 +02:00
Igor Kostenko
f97f92785f Added nasm mirror as nasm.us is down again (#7175) 2019-07-09 23:17:17 -07:00