Commit Graph

1777 Commits

Author SHA1 Message Date
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
Mohammed Alyousef
a6257ac262
[vcpkg] add x86-wasm.cmake to community triplets (#11323)
* 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
2020-06-02 16:07:41 -07:00
Billy O'Neal
cc4f93f434
[vcpkg] Rename the msbuild property VcpkgRoot to VcpkgCurrentInstalledDir, and set VcpkgRoot to the expected root instead. (#11653) 2020-05-29 16:38:03 -07:00
nicole mazzuca
09319cd79e
[vcpkg metrics] Allow someone to opt out after build (#11542)
* [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
2020-05-29 14:09:03 -07:00
Billy O'Neal
d9b4acf02d
[vcpkg] Move CI cleaning back out of the 'ci' command into a separate command to restore cross-compilation preinstalls. (#11545) 2020-05-27 18:40:23 -07:00
nicole mazzuca
9d9a50bc98
[vcpkg] fix extern C around ctermid (#11343)
Additionally, move the system_header invocations to their own header file,
<vcpkg/base/system_header.h>
2020-05-20 10:10:26 -07:00
Billy O'Neal
0116b86e38
[vcpkg] Optimize string split slightly. (#11433) 2020-05-19 15:05:53 -07:00
Jack·Boos·Yu
f23ebed76f
[cmake] Update to 3.17.2 (#10767)
* [cmake] Update to 3.17.1

* update cmake directory name

* [cpuid] Fix install headers.

* [stormlib] Fix install headers

* [murmurhash] Fix install headers

* [metrohash] Fix install headers

* update baseline

* update baseline

* [otl] update hash

* update baseline

* [gts] Do not use ninja to avoid empty implib issue

* update baseline

* [dmlc] Re-trigger ci test

* [replxx] Re-trigger ci test

* update baseline

* [osg] Re-trigger ci test

* [replxx] Fix build failure

* Set cmake min version to 3.17.1

* update baseline

* [libnice] Re-trigger ci test

* [mlpack] Re-trigger ci test

* update to 3.17.2

* update cmake hash

* update baseline

* update baseline

* update baseline

* update baseline

* Update scripts/ci.baseline.txt

Co-authored-by: Billy O'Neal <billy.oneal@gmail.com>

* update baseline

* update baseline

* [magnum] Set magnum:arm64-windows to skip in baseline

* [nanogui] Set nanogui:arm64-windows to fail in baseline

* [nettle] Set nettle:x64-windows to fail, waiting for fix this issue in another PR

* re-trigger CI test

* update baseline

* Install unixODBC in Linux

* [nanodbc] Re-trigger CI test

* update baseline

* Remove space

* update baseline
2020-05-19 14:47:19 -07:00
Billy O'Neal
3b0080e3b0
[vcpkg] Harden file removals and clean directory contents in "CI" inside vcpkg itself. (#11432)
`files.h/files.cpp`:
* Add end and else comments to all macros.
* Add "remove_all_inside" function which empties a directory without actually deleting the directory. This is necessary to handle the case where the directory is actually a directory symlink.
* Change remove_all to use std::remove when VCPKG_USE_STD_FILESYSTEM is set; this will engage POSIX delete support available on current Win10.

`commands.ci.cpp`: empty "installed".

`*/initialize_environment.*`: No longer clean the directories outside the tool.

`ci-step.ps1`: Remove unused console output tee-ing.
2020-05-19 13:43:30 -07:00
Billy O'Neal
0e9e59f2c4
[vcpkg] Hardem expand environment strings path with explicit integer overflow checks and resistance to CP_ACP. (#11315) 2020-05-18 12:48:09 -07:00
Markus Rickert
47e9a1d1c1
[vcpkg] msbuild: do not build vcpkgmetricsuploader when -disableMetrics (#11368) 2020-05-18 11:05:23 -07:00
Billy O'Neal
8a583e80da
[vcpkg] Avoid naming Policheck sensitive term 'Virgin Islands' (#11339) 2020-05-15 22:38:39 -07:00
Billy O'Neal
5504dfa7da
[vcpkg] Turn on tests and PREfast in CI, and fix tests to pass. (#11239)
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-05-14 12:49:31 -07:00
shihaonan369
4727bc86a4
[vcpkg] Fix nuget package import failed. (#11093)
* fix bug that caused exported nuget package import failure.

* Give priority to nuget package to set $(VcpkgRoot).

* [vcpkg] Remove trailing whitespace

* fix nuget package import failed

Co-authored-by: 施浩男 <shihaonan@zhongli360.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-05-13 23:37:15 -07:00
nicole mazzuca
6c159b7766
[vcpkg] Hopefully fix build on macOS 10.13/10.14 (#11205) 2020-05-11 16:31:04 -07:00
Tobias Funk
06c647e11a
[vcpkg] Resolve --overlay-ports is only working for relative parths since fix… (#11302)
* Resolve --overlay-ports is only working for relative parths since fix for https://github.com/microsoft/vcpkg/issues/10771
Fixes https://github.com/microsoft/vcpkg/issues/11301

* use auto instead of fs::path
2020-05-11 14:54:47 -07:00
Arsen Tufankjian
644ba5d998
[vcpkg] Adding support for finding VS2019 by environment variable (#10760)
* Fixing build with VS2019

* Added support for finding VS2019 by VS160COMNTOOLS env var

* [vcpkg] Explicitly handle trailing backslash in VS140 path.

* [vcpkg] Defer instance validation for VS160COMNTOOLS

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-05-08 12:43:30 -07:00
Robert Schumacher
8de3f323dc
[vcpkg] Resolve relative overlay ports to the current working directory. (#11233)
Fixes #10771.
2020-05-08 12:41:44 -07:00
Billy O'Neal
5db4f98d6e
Don't build the metrics uploader when metrics are disabled. (#11234) 2020-05-08 00:16:49 -07:00
Billy O'Neal
d7d410b50b
[vcpkg] Restrict telemetry uploads to TLS 1.2 (#11213)
* [vcpkg] Restrict telemetry uploads to TLS 1.2, as required by Azure security policy.

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-05-07 14:20:14 -07:00
nicole mazzuca
eb8efe7ca5
[vcpkg] always pass VSCMD_SKIP_SENDTELEMETRY=1 (#11202)
Fixes #10468
2020-05-06 15:56:47 -07:00
nicole mazzuca
46bf8c52cb
[vcpkg] fix bug in Filesystem::absolute (#11170)
* [vcpkg] fix bug in Filesystem::absolute

* flip the conditional for billy
2020-05-04 15:25:38 -07:00
Robert Schumacher
3ae3bd3445
[vcpkg] Warn on unmatched removal with reasonable alternative (#11083) 2020-04-30 09:43:55 -07:00
Robert Schumacher
9b91a53606
[vcpkg] Correctly record default feature list in BinaryParagraphs. Fixes #10678. (#11085) 2020-04-29 15:09:55 -07:00
Martin Hořeňovský
6ef805c2a9
[vcpkg] Small touchups for vcpkg unit tests (#11068)
* Do not disable expression decomposition in some optional tests

The tests are trivial enough that it is unlikely to come useful,
but the old usage is bad practice.

* Run tests in random order

This should prevent committing tests that are run-order dependent,
or at least shake them out eventually in CI.
2020-04-29 12:00:50 -07:00
Robert Schumacher
ce8b01a14b
[vcpkg] Add support for VCPKG_BINARY_SOURCES and --x-binarysource=<> (#10476)
* [vcpkg] Add support for VCPKG_BINARY_SOURCES and --binarysource=<>

* [vcpkg] Rename --binarysource to --x-binarysource to denote internal/experimental

* [vcpkg] Address review comments & add tests for BinaryConfigParser

* [vcpkg] Replace do {} while(1); with for(;;)

Avoids conditional expresion is constant warnings

* [vcpkg] Invert if/else

* [vcpkg] Fix warning in export.prefab.cpp

* [vcpkg] Resolve merge regressions
2020-04-29 10:16:40 -07:00
NancyLi1013
6709d3d7d0
[vcpkg] Fix toolsrc CMake build error (#10973) 2020-04-23 14:07:12 -07:00
nicole mazzuca
09af1e9b55
[vcpkg] Add initial JSON support (#10521)
* [vcpkg] Add initial JSON support

This adds a JSON parser, as well as the amount of unicode support
required for JSON parsing to work according to the specification. In the
future, I hope to rewrite our existing XML files into JSON.

Additionally, as a drive-by, we've added the following:

* add /wd4800 to pragmas.h -- this is a "performance warning", for when
  you implicitly convert pointers or integers to bool, and shouldn't be
  an issue for us.
* Switched Parse::ParserBase to read unicode (as utf-8), as opposed to
  ASCII
* Building again under VCPKG_DEVELOPMENT_WARNINGS, yay!
2020-04-17 18:16:20 -07:00
nicole mazzuca
556325a1f7
[vcpkg] Add x-set-installed command (#10817)
This command takes a list of ports, and causes the final state of the
installed directory to be as-if one ran the install on an empty
installed directory (removing any unnecessary packages).

This is especially useful with the new `--x-install-root` option, which
allows one to set the `installed` directory for vcpkg to use.

Additionally, as a drive-by, we do some `stdfs` clean-up and add a
`.is_feature()` member function to BinaryParagraph (as opposed to
checking for `.feature().empty()`, which is far less clear to read).

This feature is experimental.
2020-04-17 15:49:59 -07:00
nicole mazzuca
12d75a13ac
[vcpkg] Fix build scripts on openSUSE and g++9 (#10867)
The existing code did not correctly pass `CXX` to cmake.
2020-04-17 10:56:27 -07:00
nicole mazzuca
22623e3501
[vcpkg] Clean up CMake build system (#10834)
There are quite a few changes to the CMake build system packaged up into
one set here:
* Added `toolsrc/cmake/utilities.cmake`, which contains the following:
  * `vcpkg_detect_compiler` -- get the name of the C++ compiler, as one
    of {gcc, clang, msvc}
  * `vcpkg_detect_standard_library` -- get the name of the standard
    library we're linking to, as one of {libstdc++, libc++, msvc-stl}
  * `vcpkg_detect_std_filesystem` -- figure out how to link and call
    into C++17's filesystem; whether one needs to link to `stdc++fs` or
    `c++fs`, and whether to use `<filesystem>` or
    `<experimental/filesystem>`.
* Added a `VCPKG_WARNINGS_AS_ERRORS`, split off from
  `VCPKG_DEVELOPMENT_WARNINGS`, which allows one to use the development
  warnings without passing -Werror
* Rename `DEFINE_DISABLE_METRICS` to `VCPKG_DISABLE_METRICS` -- the
  former will now print a deprecation message and set the latter.
* Now, print a deprecation message on `WERROR`; it doesn't do anything
  since the behavior it requested is now the default.
* Pass `-std=c++17` if the compiler allows it, instead of `-std=c++1z`
* Do some code movement
* Pass `USE_STD_FILESYSTEM` if possible, instead of only on minGW
  * Renamed to `VCPKG_USE_STD_FILESYSTEM`

Additionally, we now pass `/W4` in Debug mode on x86 in the Visual
Studio build system; this brings it in line with the CMake build system,
and the x64 Visual Studio build system.

And finally, we make some minor code changes to support compiling in
VCPKG_DEVELOPMENT_WARNINGS mode.
2020-04-14 22:08:50 -07:00
Alexander Neumann
0edffcf125
[vcpkg] New policy: SKIP_ARCHITECTURE_CHECK. (#10398)
* New policy: SKIP_DLL_ARCHITECTURE_CHECK.
The check only works if MS link.exe is used
otherwise the second linker member is missing
(according to the observed errors)

* rename to VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK
since the dll check was ok but the lib check was failing.

* fix indentation

* move the if to a better position.
2020-04-09 17:04:20 -07:00
nicole mazzuca
1448db9d6f
[vcpkg-test] Fix the check for ability to make symlinks (#10543)
The old check checked to see if the computer was in developer mode _OR_ allowed sideloading apps, but we want _only_ developer mode.
2020-04-09 16:33:36 -07:00
nicole mazzuca
47a4913834
[vcpkg] Correct UInt128 code 😇 (#10583)
* [vcpkg] Correct UInt128 code 😇

`UInt128::operator<<(x, y)` should clear the bottom 64 bits of `x` if
`y >= 64`; however, we don't do this, and so we duplicate `x`'s bottom
bits into `x.top` instead of moving them. Similarly, we have the
opposite problem for `UInt128::operator>>`. This commit fixes these
latent bugs, which we weren't hitting because the thing we use them for
never actually shifts more than 64 bits.
2020-04-09 14:11:53 -07:00
atkawa7
52b5dfd2ef
Android Support: Exporting to Android Archive (AAR) (#10271)
* 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
2020-04-06 14:36:17 -07:00
Phoebe
8782b0b8b9
[vcpkg] Fix spec instance name (#10660)
* [vcpkg] Fix spec instance name

* Change cub version for testing the changes

* Add vulkan-hpp to test
2020-04-03 09:41:36 -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
Alexander Neumann
aeffa625e5
[vcpkg] Add the possibility to load vcvars.bat with external toolchain. (#10399)
* Add VCPKG_LOAD_VCVARS_ENV
allow loading vcvars.bat if an external toolchain file is used.

* add documentation
2020-03-27 20:19:53 -07:00
Robert Schumacher
42ad12f91d
[vcpkg] Improve common case of ignoring filesystem errors (#10557) 2020-03-25 15:18:10 -07:00
Robert Schumacher
2fc82f6381
[vcpkg-help] Reflow and small cleanups (#10477) 2020-03-25 10:50:27 -07:00
Robert Schumacher
8b201cb43c
Merge pull request #10372 from ras0219-msft/dev/roschuma/jobs
[vcpkg] Introduce Job Objects to improve ctrl-c performance on Windows
2020-03-19 17:15:54 -07:00
Robert Schumacher
2c2e67f35f
Merge pull request #10032 from ras0219-msft/dev/roschuma/compute-all-abis
[vcpkg] Compute ABIs upfront instead of just-in-time
2020-03-19 11:50:15 -07:00
Robert Schumacher
4bf1cf35ba [vcpkg] Fill in feature lists during CI reporting 2020-03-18 12:18:24 -07:00
Robert Schumacher
44b9703a81 [vcpkg] Move package abi access after they have been computed 2020-03-18 11:48:33 -07:00
Robert Schumacher
090e7f8e76 [vcpkg] Write abi information to generated test results 2020-03-18 11:20:13 -07:00
Robert Schumacher
ebf8213945 [vcpkg] Use enum class for RestoreResult 2020-03-18 11:19:25 -07:00
Robert Schumacher
26949af8f8 [vcpkg-env] Restore previous behavior of cmd /c <arg> 2020-03-17 13:11:36 -07:00
Billy O'Neal
31cca07563
[vcpkg] Implement a warning when running in a mismatched Visual Studio prompt 2020-03-16 11:19:55 -07:00
Robert Schumacher
e2efb82aa8 [vcpkg] Fix build for non-windows 2020-03-13 21:00:21 -07:00
nicole mazzuca
42fa9b0c0b
[vcpkg] Fix tool lookup without which (#10375)
On Linux and macOS, if `which` is not installed (notably in Amazon's
amazonlinux docker base image), vcpkg fails to find system-installed
versions of tools. This is an issue when we don't attempt to install our
own versions of the tools, like with git (we fail to find any version of
git, and thus can't install any ports which come from a git repository).

Fixes #9927
2020-03-13 13:14:38 -07:00