aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
AgeCommit message (Collapse)Author
2020-11-23[vcpkg] Output the filepath on hash error. (#14674)Alexander Neumann
* update hash error message to include the path * Update toolsrc/include/vcpkg/base/hash.h Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-11-19[vcpkg] fix cmake paths in tags (alternative 2) (#14661)nicole mazzuca
* [vcpkg] fix cmake paths in tags (alternative 2) * fix compile on VS2019 unnecessary and invalid SFINAE'd constructor
2020-11-19[vcpkg] fix vs2015 build (#14659)nicole mazzuca
2020-11-18[vcpkg] Add experimental x-azblob binary provider (#13626)ras0219
* [vcpkg] Add experimental x-azblob binary provider * [vcpkg] Test azblob storage provider in CI * [vcpkg] Address some CR comments from #13639 * [vcpkg] Fixup azure-pipelines * [vcpkg] Fix regression where the downloaded package is purged before decompressing * [vcpkg] Further refactor vcpkg::Downloads * [vcpkg] Enable OSX for x-azblob testing * [vcpkg] Reduce diff against master * [vcpkg] Extract Downloads::details::split_uri_view * [vcpkg] Address PR comments * [vcpkg] Add testing and metrics for x-azblob * [vcpkg] Add docs for x-azblob This includes a note that it is currently experimental * [vcpkg] Address CR comments * [vcpkg] Revert pipeline changes except OSX to minimize disruption Co-authored-by: Robert Schumacher <roschuma@microsoft.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-11-13[vcpkg] Implement constraints and overrides in manifests (#14183)ras0219
* [vcpkg] Implement constraints in manifests * [vcpkg] Add SourceControlFile::check_against_feature_flags to prevent accidentally ignoring versioning fields * [vcpkg] Switch check_against_feature_flags to accept fs::path * [vcpkg] Implement overrides parsing in manifests * [vcpkg] Address CR comments Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-11-12[llvm] install tools in tools/llvm (#14399)nicole mazzuca
* [llvm] install tools in tools/llvm * remove the giant commented out block of code * update port-version * hopefully fix the port? There are still some issues, namely that the python scripts and DLLs that are copied into `tools/llvm` are not considered to be "installed by llvm", and thus are not removed when llvm is removed * format! * apparently REGEX REPLACE fails if a thing doesn't match * fix LLVM_REMOVE_EXTENSION_REGEX on windows * actually read the cmake regex docs... * fix the name of the variable * turns out CMAKE_MATCH_1 is the one I want * need to update VERSION for new policy * stop removing debug/bin * fix faulty merge
2020-11-12[vcpkg] Add x-ignore-lock-failures (#14397)nicole mazzuca
* [vcpkg] Add disable-lock options This should fix #14281 at least as a stopgap. Additionally, adds better errors. * billy CRs * change from "disable-lock" to "allow-spurious-lock-failures" * billy cr
2020-11-12[tensorflow-cc] More or less completely rewritten port, update to 2.3.1 (#13028)Joachim Gehweiler
* fix build issues occurring from default bazel config being used because customized bazel config is stored in wrong directory * [tensorflow-cc] Update CONTROL and ci.baseline.txt * fix also applies to windows static build * fix debug and static builds as well as library naming for non-linux - add patch to fix debug builds - add patch to fix exports for static linking - really build debug (instead of cloning release) - override bazel build options for debug (work around bazel bug) - bazel doesn't support static libraries: work around by building dynamic library and constructing static linkage commands from build log - Windows .pdb file can't be >4GB even on x64: work around using reduced debug information - Windows doesn't support .lib files >4GB even on x64, so split into multiple libs - vcpkg requires equal amount of libs for debug and release: work around using handcrafted empty dummy libs - fix naming of libs (.dll on Windows and .dylib on macOS) * upgrade tensorflow from v1.14 to v2.3 - adapt patch files to tensorflow code changes - update bazel from v0.25.2 to v3.1 - on Windows use python installed on the host instead of embedded python obtained via vcpkg because embedded python lacks pip, which we need to obtain numpy - on Windows add MSYS2 to the PATH so that bazel tools can access MSYS2 GIT - add support for custom CA certificates when using HTTPS_PROXY * fix execute process macro The existing implementation totally screwed up commands if the command's arguments contained semicolons (this is the case, e.g., in the FindPython modules of the cmake distribution). * extend overriden execute_process to more than one COMMAND as there actually are use cases for this * added another patch required for tensorflow v2.3, fixed path and working directory * Revert "incorporate changes from microsoft:master" * Revert "Revert "incorporate changes from microsoft:master"" * final fixes for static build + improving out messages * enabling linux and osx in CI to see if it works now * simplified code, fixed version numbers, fixed generated include cmake file * fix failing postbuild check on handcrafted empty dummy library by spreading the last real libraries contents over the required number of libraries * remove dead code commit by mistake again * improvements from code review * cleaner fix for debug code * find pip3 in PATH (PYTHON3_DIR apparently not valid for pip3) * fix error in python helper script * fix wrong libname in postbuild script * fix python detection + switch to python on msys2 (instead of embedded python) for Windows as we need numpy * fix order of arguments * fix command (it may contain spaces such as C:\Program Files\...) * revert last commit (root cause for CI failures is something different: there are line breaks in path) * fix regex comparision (value needs to be escaped as it may contains regex special characters such as brackets, eg C:/Program Files (x86)/...) * fix linebreaks in generated file * fix CRT linkage (macOS doesn't support static CRT linkage; it's set to dynamic even static target triplets for macOS and linux) * refactor implemenation to avoid as much code duplication as possible -- algorithmically identical * fix version numbers in helper scripts * enable work-around for Windows until bazel fix is available * install missing python3-pip on linux * fix linux build by patching * apply timeout feature now available via merged master branch * correct linux build patch * improve debug build patches (no functional difference because LOG(FATAL, ...) macro internally anyway calls abort(), which the compiler doesn't detect in debug mode... * improve linux patch * temporarily add debug to inspect what's going on on macOS CI * remove temporary debug code and fix static linking scripts for linux and macOS * fix regex escaping * fix ambiguous match while grepping for the framework link command * extend fix of ambiguous match while grepping for the framework link command * fix what merge of master broke * fix more what got broken by merging master (all packages and their dependencies are now maintained manually instead of using pacman...) * remove "unofficial" from filename * added switch do distinct classic and manifest mode when generating config.cmake file * create symlinks for libraries without version number * fix linux postbuild script * temporarily disable code making problems * add note for linking on Linux and macOS * forget to add README file in previous commit * add file forgotton in macro fixing patch * fix python library path * fix macOS static link command * update linkage instructions in README * Update ports/tensorflow-cc/CONTROL * Update ports/tensorflow-cc/portfile.cmake * Update scripts/ci.baseline.txt * use vcpkg_execute_required_process * pass C_FLAGS and CXX_FLAGS to bazel * fix INTERFACE_INCLUDE_DIRECTORIES * fix optional c/cxx arguments * also add linker opts * update README * merge static libs into one to support force_load (cannot force_load both due to duplicate symbols) * update README * quote python path (it might contain spaces that don't get escaped inside outer quotes of bash command) * fix python path also for static build * add arm(64) as currently unsupported arch * bazel 3.7 is available -> remove workaround * update README, remove necessary c-ares from deps * update msys package * add uwp specific options, and minor general improvements * fix string replace * fix control file and windows path separator * revert backslashes-fix -- the root cause was missing .exe extension * upgrade to tf 2.3.1 * fix hard-coded version * remove uwp work-in-progress code so that PR can be merged * update README and print out usage info in portfile * Update ports/tensorflow-cc/README-linux Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/README-linux Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/README-linux Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/README-linux Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/README-linux Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/README-windows Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/portfile.cmake Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/portfile.cmake Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/portfile.cmake Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/portfile.cmake Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/portfile.cmake Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * improve usage hints as discussed in review * add comment * apply changes from review * make additional compiler / linker args space-proof * Update ports/tensorflow-cc/README-macos Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/tensorflow-cc-config-shared.cmake.in Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/tensorflow-cc-config-shared.cmake.in Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/README-linux Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * Update ports/tensorflow-cc/README-macos Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * apply changes from code review * maybe fix the config files * rob.maynard CRs * fix windows static lib naming for first part * Update ports/tensorflow-cc/generate_static_link_cmd_windows.py Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * apply rob maynards 1st suggestion * nicole CRs * format/fix-compile * fix missing string termination * prefer IMPORTED_LOCATION over IMPORTED_LOCATION_RELEASE to have default fall-back * hopefully fix the issue where no libraries are generated * final stuff Co-authored-by: Gehweiler <Joachim_Gehweiler@McAfee.com> Co-authored-by: wangli28 <wangli28@beyondsoft.com> Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Joachim Gehweiler <joachim@Joachims-iMac.local> Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-11-09[vcpkg] Initial Registries: Part 2 MVP (#14153)nicole mazzuca
* [vcpkg wip] start implementation of registries pt. 2 * Remove the `ports` field of `VcpkgPaths` This is an implementation detail, and so we want to make sure that it's obvious that this is an internal detail; thus, we add a new function `builtin_ports_directory()`, which returns the directory where the builtin ports backing store is. * continue WIP * wip * It works! * format * fix some issues * switch from function static to DelayedInit * fix lexically_normal for experimental::filesystem * format * fix missing include * add STL notice * whee error handling * moar error handling! * ignore extra files in registries * formatting * Billy CRs * Update toolsrc/include/vcpkg/versiont.h * fix add_filename test * fix tests * remove unused function add_filename
2020-10-28[vcpkg baseline] [vs-yasm] Build yasm instead of downloading it to work ↵Billy O'Neal
around memory corruption bugs in yasm itself. (#14003)
2020-10-28Delete use of vcpkg_test_cmake and vcpkg_common_functions. (#13065)Billy O'Neal
2020-10-27[vcpkg, jsonnet, openssl-uwp] Enable use of the system powershell-core if it ↵Billy O'Neal
is present. (#13805)
2020-10-26[vcpkg] Implement versions db generator (#13777)Victor Romero
* [vcpkg] Add script to generate ports versions history * [vcpkg] Fix formatting * Fetch port versions from commit ID * Use global --x-json switch * Use --no-checkout when cloning secondary instance * Clone from local repository instead of from GitHub * Use CmdLineBuilder to build git commands * Use CmdLineBuilder and reduce repeated code * Fetch version at baseline and code cleanup * Guess version scheme from old CONTROL files * Rename version db generator script * Simplify x-history json output * Use CONTROL/manifest parsers on x-history * Use git-tree instaed of commit-id * Remove 'ports' field from root object * Clean up code * More code cleanup * Improve port version detection * Improve generator logging * Do not ignore parsing errors in CONTROL files * PR review comments in Python script * Fix subprocess.run() calls * Make `canonicalize()` return error instead of terminating * [vcpkg] Add tests for new test_parse_control_file paths * Remove unnecessary std::move() calls * Fix formatting * Python formatting Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-10-24Replace fwd header files to declarations (#13972)Cengizhan Pasaoglu
2020-10-21[vcpkg] Add `versions` feature flag and version field manifest parsing (#14079)ras0219
* [vcpkg] Add `versions` feature flag and version field manifest parsing * Introduce FeatureFlagSettings struct to more easily access feature flags throughout the program * To avoid users accidentally starting to write "version" instead of "version-string" in their manifests, vcpkg explicitly detects and prevents usage of ports with schemes other than "String" * Drive-by fix of copiable SourceControlFileLocation and an exposed use-after-move bug This code is largely extracted from PR #13777 Co-authored-by: Victor Romero <romerosanchezv@gmail.com> * [vcpkg] Address CR Comments. Fix test crash on Linux. Co-authored-by: Robert Schumacher <roschuma@microsoft.com> Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
2020-10-12[vcpkg] Further JSON error improvements (#13399)ras0219
* [vcpkg] Split vcpkg/base/json.h into vcpkg/base/jsonreader.h * [vcpkg] Extract definitions of Configuration-Deserializer (& friends) These types are only used by VcpkgPaths during the initial parse. * [vcpkg] Introduce levenshtein-distance suggestions for json errors * [vcpkg] Fix regression in supports handling * [vcpkg] Fix signed/unsigned mismatch * [vcpkg] Address CR comments * [vcpkg] Address CR comments * Fix compiler error from merge conflict. * [vcpkg] Change parameters of Reader::check_for_unexpected_fields to better match declaration * [vcpkg] Improve errors from features set * [vcpkg] Fix includes * [vcpkg] Reuse code * [vcpkg] Check the "name" field always to maximize error information * [docs] Improve english phrasing in manifests.md * [vcpkg] Correct docs link for manifests Co-authored-by: Robert Schumacher <roschuma@microsoft.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-10-08[vcpkg] Use more forward declarations rather than definitions (#13623)Cengizhan Pasaoglu
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-10-06[vcpkg] Avoid computing triplet ABIs for editable packages (#13446)ras0219
* [vcpkg] Avoid computing triplet ABIs for editable packages * [vcpkg] Address PR comments * [vcpkg-end-to-end-tests] Add tests for --no-binarycaching, binarycaching by default, and --editable Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-10-06[vcpkg] Enable reentrant vcpkg calls (#13751)ras0219
* [vcpkg] Enable recursive vcpkg calls Via envvars VCPKG_COMMAND and VCPKG_X_RECURSIVE_DATA. Child processes can call vcpkg via "$VCPKG_COMMAND <args>" in limited internal circumstances. * [vcpkg] Address CR comments * [vcpkg] Do not move through Optional<&> into Optional<T> Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-09-28[vcpkg] add env var VCPKG_OVERLAY_TRIPLETS (#12790)Alexander Neumann
* [vcpkg] add env var VCPKG_OVERLAY_TRIPLETS * shorten way to complicated doc * run clang format * Apply CR Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * Apply CR2 Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-09-27[vcpkg] Add compiler info to nuspec description (#13571)Francois Rivard
* Add compiler info to nuspec description * Run clang-format on some files * Fix the unit tests * [vcpkg] Clarify NuGet description to note 'CXX compiler' * [vcpkg] Fix tests Co-authored-by: frivard <frivard@coveo.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-09-22[vcpkg] Fix the case of current_path() before use on Windows. (#13537)Billy O'Neal
* Fix the case of current_path() before use on Windows. This is a better solution than that I tried in https://github.com/microsoft/vcpkg/pull/13144 -- rather than trying to cannoicalize the path completely, which would destroy symlinks etc; this form calls FindFirstFile on each path element to get the real case from the filesystem. Fixes #13105. (Note the wrong case in the CWD in the prompt, but the correct case in all the output:) PS C:\DeV\vcPKG> .\vcpkg.exe install curl Computing installation plan... The following packages will be built and installed: curl[core,non-http,schannel,ssl,sspi,winssl]:x86-windows * zlib[core]:x86-windows Additional packages (*) will be modified to complete this operation. Detecting compiler hash for triplet x86-windows... Starting package 1/2: zlib:x86-windows Building package zlib[core]:x86-windows... Using cached binary package: C:\Users\billy\AppData\Local\vcpkg/archives\c6\c61dd1bcc23348934c55f4ced77f1e4b0f353394.zipBuilding package zlib[core]:x86-windows... done Installing package zlib[core]:x86-windows... Installing package zlib[core]:x86-windows... done Elapsed time for package zlib:x86-windows: 62.26 ms Starting package 2/2: curl:x86-windows Building package curl[core,non-http,schannel,ssl,sspi,winssl]:x86-windows... Could not locate cached archive: C:\Users\billy\AppData\Local\vcpkg/archives\9f\9fa16d473c9539e9ea7ab3922eff46618f3a4c4b.zip -- Downloading https://github.com/curl/curl/archive/9d954e49bce3706a9a2efb119ecd05767f0f2a9e.tar.gz... -- Extracting source C:/Dev/vcpkg/downloads/curl-curl-9d954e49bce3706a9a2efb119ecd05767f0f2a9e.tar.gz -- Applying patch 0002_fix_uwp.patch -- Applying patch 0004_nghttp2_staticlib.patch -- Applying patch 0005_remove_imp_suffix.patch -- Applying patch 0006_fix_tool_depends.patch -- Applying patch 0007_disable_tool_export_curl_target.patch -- Applying patch 0009_fix_openssl_config.patch -- Applying patch 0010_fix_othertests_cmake.patch -- Applying patch 0011_fix_static_build.patch -- Using source at C:/Dev/vcpkg/buildtrees/curl/src/767f0f2a9e-91d24adee1.clean -- Configuring x86-windows -- Building x86-windows-dbg -- Building x86-windows-rel -- Installing: C:/Dev/vcpkg/packages/curl_x86-windows/share/curl/curl-config -- Installing: C:/Dev/vcpkg/packages/curl_x86-windows/share/curl/vcpkg-cmake-wrapper.cmake -- Installing: C:/Dev/vcpkg/packages/curl_x86-windows/share/curl/copyright -- Performing post-build validation -- Performing post-build validation done Stored binary cache: C:\Users\billy\AppData\Local\vcpkg/archives\9f\9fa16d473c9539e9ea7ab3922eff46618f3a4c4b.zip Building package curl[core,non-http,schannel,ssl,sspi,winssl]:x86-windows... done Installing package curl[core,non-http,schannel,ssl,sspi,winssl]:x86-windows... Installing package curl[core,non-http,schannel,ssl,sspi,winssl]:x86-windows... done Elapsed time for package curl:x86-windows: 1.299 min Total elapsed time: 1.33 min The package curl:x86-windows provides CMake targets: find_package(CURL CONFIG REQUIRED) target_link_libraries(main PRIVATE CURL::libcurl) PS C:\DeV\vcPKG> * Fix *nix builds. * PR feedback. * Update toolsrc/src/vcpkg/base/files.cpp Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
2020-09-14[vcpkg manifest] Add documentation! (#13488)nicole mazzuca
* [vcpkg docs] add docs for manifest files These are just for the maintainer docs, not user docs. * [vcpkg] EBNF-ify platform expression parsing this modifies nothing about what strings are accepted or rejected, it just moves stuff around. also adds tests. * [vcpkg docs] add manifest mode example * [wip] docs for augustin also fix tabs * [vcpkg manifest] switch to using maps for features * Apply suggestions from code review * un-experimentize format-manifest * flesh out the user manifest mode docs * CRs * billy CRs * final personal pass-thru
2020-09-11[vcpkg] Merge the vcpkg metadata uploader into the vcpkg binary (#13421)Billy O'Neal
2020-09-07[vcpkg] Fix compilation on VS2015 (#13398)ras0219
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-09-07[vcpkg] Improve Json error messages (#12981)ras0219
* [vcpkg] Fix error reporting on json parse failure * [vcpkg] Track manifest path for use in diagnostics * [vcpkg] Use by-value for consumer API. Improve trailing comma diagnostic. * [vcpkg] Track errors directly inside Json::Reader * [vcpkg] Fixup use of .u8string() Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-09-04fix compile on g++ 6 (#13290)nicole mazzuca
2020-09-02[vcpkg] Registries MVP (#13038)nicole mazzuca
2020-08-31[vcpkg] Implement 'repository' tag for NuGet binary caching (#13228)ras0219
This tag is required to correctly interface with GitHub Packages, because GHP shares a single remote for the entire organization and uses the repository field to associate a package with a particular repository. This tag will be automatically generated if the default GitHub Actions environment variables are present (GITHUB_XYZ) or if the user defines VCPKG_NUGET_REPOSITORY. Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-08-24[vcpkg] Fix build on old compilers. (#12950)huahang
2020-08-22[vcpkg] Fix editable bug (#12910)ras0219
2020-08-19remove registries.h and fwd/registries.h... (#13017)nicole mazzuca
2020-08-19[vcpkg] Add Forward Declarations (originally by @cngzhnp) (#12985)nicole mazzuca
Co-authored-by: cngzhnp <cengizhanpasaoglu@gmail.com>
2020-08-18[vcpkg] Use std::filesystem when Visual Studio is greater than 2015 (#12774)Jack·Boos·Yu
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-08-14[vcpkg] Restore layering and purge unused ParagraphParseResult (#12897)ras0219
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-08-14[vcpkg] Reduce dependencies and contents of vcpkgpaths.h (#12876)ras0219
* [vcpkg] Remove globally-constructed pre-defined Triplets from vcpkg.exe The tool should be as triplet-agnostic as possible, which leaves little room for special, pre-defined names like this. However, tests do have use of them: moved into test assets. * [vcpkg] Move predefined tools strings vcpkgpaths.h -> tools.h * [vcpkg] Add forward declarations to vcpkgpaths.h to reduce header deps * Merge from origin/master Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-08-13[vcpkg] Lift `--x-json` to a global option, implement experimental ↵ras0219
`x-package-info` command (#12845) * [vcpkg] Improve error reporting in vcpkg::Json * [vcpkg] Lift --x-json to a common option * [vcpkg] Address warnings-as-errors in VS2015 * [vcpkg] Remove unused local * [vcpkg] Extract vcpkg::Install::get_cmake_usage * [vcpkg] Implement vcpkg::serialize_ipv(ipv, paths) * [vcpkg] Implement x-package-info to enable tooling * [vcpkg] Fixup tests to respect new cli mode Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-08-12[vcpkg] Fix resolution of default features when using Manifest mode (#12829)ras0219
* [vcpkg] Fix resolution of default features when using Manifest mode During manifest mode, the dependencies in the manifest should be treated as explicitly specified -- curl[core] should not install curl's default features. * [vcpkg] Improve error message when failed to parse manifest file Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-08-10[vcpkg] Add `vcpkg export` to E2E tests. Enable E2E tests on all platforms. ↵ras0219
(#12198) * [vcpkg] Add `vcpkg export` to E2E tests. Enable E2E tests on MacOS. * [vcpkg] Fix export --raw --output-dir=/path/ by changing directory to new export root Co-authored-by: Robert Schumacher <roschuma@microsoft.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-08-06[vcpkg] Fix vs2015 build (#12789)nicole mazzuca
* move windows bootstrap directory * fix paths * actually fix the build * fix path
2020-08-05[vcpkg] add environment variable VCPKG_OVERLAY_PORTS (#12640)Alexander Neumann
* [vcpkg] add environment variable VCPKG_OVERLAY_PORTS * add documentation for VCPKG_OVERLAY_PORTS * append env overlay instead of prepending to give explicitly listed overlays priority * fix formating (manually) * manually fixing formating * improve help text Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
2020-08-02[vcpkg format-manifest] Add convert-control flag (#12471)nicole mazzuca
* [vcpkg format-manifest] initial convert-control attempt TODO: manifest comments! we should keep $directives * Finalize x-format-manifest First, fix Json::parse -- "\c", for any c, was incorrectly parsed. It would emit the escaped character, and then parse the character, so that `\b` would give you { '\b', 'b' }. Second, canonicalize source paragraphs as we're parsing them. This found an error in qt5 -- The `declarative` feature was listed twice, and we now catch it, so I removed the second paragraph. Add PlatformExpression::complexity to allow ordering platform expressions in a somewhat reasonable way. Notes: - We allow `all_modules` as a feature name for back-compat with paraview - In order to actually convert CONTROL to vcpkg.json, we'd need to rename the qt5 `default` feature. - We need to add support for $directives in x-format-manifest * fix qt5 port * format * fix compile * fix tests for canonicalization * Clean up code * add error message for nothing to format * add extra_info field * add `const X&` overloads for `Object::insert[_or_replace]` * fix compile * simple CRs * add tests * format * Fix mosquitto port file also unmerge a line * fail the tests on malformed manifest * fix format_all * fix coroutine port-version * format manifests
2020-08-01[vcpkg manifest] look at `platform` directives (#12548)nicole mazzuca
Fixes #12538
2020-08-01[vcpkg] Refactor commands 2: Electric Boogaloo (#12641)nicole mazzuca
* Add BasicCommand and VersionCommand * Add ContactCommand * test get_available_commands_type_c * Change get_available_commands_type_c to return objects * Add TripletCommand & InstallCommand * Add SetInstalledCommand * add linking tests * Add CICommand * Add remaining *Command objects * Add tests for commands_type_a * Move over to using const TripletCommand* for commands_type_a * Add PathsCommand * Add SearchCommand * add test for commands_type_b * add *Command for all type b commands * Switch from function pointers to PathsCommand for everything * format * rename get_available_commands also remove CommandType* types
2020-07-31[vcpkg] Refactor Commands: Part 1 (#12585)nicole mazzuca
* Rename commands.exportifw.cpp -> export.ifw.cpp * move DryRun from commands.h -> commands.interface.h * move vcpkgcmdarguments and vcpkgpaths over to commands.interface.h * move vcpkg::Commands::BuildExternal -> commands.buildexternal.h * add commands.*.h for the commands.*.cpp * move vcpkg::Commands::* to commands.*.h * move vcpkg::Commands::{Hash,Fetch} to their own files * change include commands.h -> commands.*.h in commands.*.cpp * remove commands.*.h from commands.h * join vcpkg::Commands::* into one namespace line * fix vcxproj build
2020-07-23[vcpkg] Add initial s390x support (#12534)Andrei Lebedev
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
2020-07-18Build fix with MinGW GCC 9.2.0 (#12084)Cristian Adam
* Build fix with MinGW GCC 9.2.0 * Fix MinGW tripplets Fixes #12065 * clang-format * Fix unused read_symlink_implementation warning marked as error read_symlink_implementation was used only in copy_symlink_implementation when #if defined(_WIN32) && !VCPKG_USE_STD_FILESYSTEM was true. Removed the warning otherwise. Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
2020-07-15[vcpkg] Clean up command switch code (#12351)nicole mazzuca
* [vcpkg] Clean up command switch code Make it more similar to the non-command switch code * format * fix the tests * reformat * format * wip * support x- for command options * fix autocomplete * format
2020-07-14[vcpkg formatting] Turn off DeriveLineEnding (#12368)nicole mazzuca
* [vcpkg formatting] Turn off DeriveLineEnding * format * Add newlines to the end of files Since we're reformatting anyways
2020-07-13[vcpkg] Track hashes of cmake script helpers in consuming portfiles (#12254)ras0219
* [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>