Commit Graph

65 Commits

Author SHA1 Message Date
AndrewDeanMS
86d2925af0
Remove unnecessary <Delete> that races <Touch> (#20313)
When VcpkgInstallManifestDependencies runs in parallel,
the Delete in one task causes the touch in another to fail.
The Delete isn't actually necessary to accomplish the goal
here, so remove it.
2021-09-24 10:07:26 -07:00
autoantwort
f0c569e3e5
[msbuild] add vcpkg to <Lib> search path (#20054) 2021-09-08 12:21:06 -07:00
Billy O'Neal
97e7ac8d74
[vcpkg] Repair msbuild damage and workaround the way we integrate on VS2015. (#19767)
* Repair msbuild damage and workaround the way we integrate on VS2015.

This is a fix for a pile of issues discovered by https://github.com/microsoft/vcpkg/pull/18906

* VS 2015 has a bug that the <VcpkgInstalledDir Condition="!$(VcpkgInstalledDir.EndsWith('\'))">$(VcpkgInstalledDir)\</VcpkgInstalledDir> dance we do to get a trailing slash is not applied correctly when VcpkgInstalledDir was edited in the same property group attempting to add the trailing slash.
* We need a trailing slash on VcpkgInstalledDir at all times, but https://github.com/microsoft/vcpkg/pull/16173 damaged this by removing it from TreatAsLocalProperty. Add the right TreatAsLocalPropertys back. Add all such slash defenses to the top of the file just beneath, eliminating need to call Path::Combine and friends by following msbuild "directory properties have a trailing slash" convention.
* Move VcpkgOSTarget and VcpkgPlatformTarget into the .targets, as they aren't intended to be overridable by users and don't appear in our selection dialog box(es).
* Don't bother avoiding setting vcpkg properties when VcpkgEnabled is off; after all, VcpkgEnabled is itself a vcpkg property :). I left attempts to skip creating items since creating items can hit the disk.
* Add _Z to several internal msbuild variables.
* Move VcpkgApplocalDeps to the .props since it's a user setting.
* Don't unconditionally use $(TLogLocation) because it is not set on 2015, and also it's per-project.
* Fixed typo in docs "VcpkgInstalledDirectory", and document the limitation that it doesn't work in 2015.
* In manifest mode, put the installed tree in a subdirectory including the triplet to make changing configurations faster.

Known limitations:

* If you change vcpkg.json without changing any .cpp files, we don't rebuild the dependencies even though we should. I don't know how to fix this but it doesn't appear to be a regression.

* Fix .tlog handling.

* Further defend against modified properties on VS2015.

* Document more VS2015 limitations.

* Remove TreatAsLocalProperty comment.
2021-09-02 12:33:21 -07:00
Kai Pastor
3394bed96e
Use objdump for dll dependencies (#18027) 2021-06-01 21:32:19 -07:00
nicole mazzuca
062676d92b
[msbuild] fix integration caching (#16787)
we would always run on build, as opposed to only running when changes happened
2021-03-22 13:53:45 -07:00
nicole mazzuca
fe2a6bb789
[host dependencies] add support in the scripts (#16627)
This contains all the docs and scripts changes from #16479,
without any of the ports changes, for easier CR
2021-03-10 15:33:16 -08:00
nicole mazzuca
8d7cd1d09e
[vcpkg integrate install] Allow setting the vcpkg installed dir (#16173)
* [vcpkg integrate install] Allow setting the vcpkg installed dir

* fix the cache-y thing

* robert crs
2021-02-10 16:22:33 -08:00
ras0219
4502f8ed68
[vcpkg.targets] Add an additional options parameter for MSBuild integration (#16155)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-02-09 15:35:06 -08:00
Soumya Ranjan Mahunt
5eea585548
[msbuild]Fix incorrect triplet configuration for Project Reunion apps (#15410)
* Fix incorrect triplet configuration for Project Reunion apps

* Modified VcpkgOSTarget detection condition
2021-02-04 15:06:21 -08:00
ras0219
401b26c986
[vcpkg] Teach vcpkg.targets to emit a .tlog, enabling up-to-date checks (#15898)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-01-29 11:04:53 -08:00
Phoebe
480ec85d51
[vcpkg] Fix issue in vcpkg.targets that introduced in 13755 (#14797) 2020-11-30 09:39:23 -08:00
nicole mazzuca
539a182d37
[vcpkg msbuild] Fix the issues introduced in 13755 (#14772)
* Fix the issues introduced in 13755

Fixes #14735

* add VcpkgRoot != ''
2020-11-25 12:45:36 -08:00
Dr. Frank Heimes
e126e3eed7
[vcpkg] Two bug fixes and some improvements in buildsystems/msbuild (#13755)
* Use IncludePath and LibraryPath properties

These tool agnostic properties allow to configure ClCompile and ResourceCompile without repeating the code.
This change includes my changes from #4454.

* Applied changes as described in #13753

* Fixed warning and error in vcpkg end-to-end tests

* Fixed incorrect warning "we found a manifest file in \."

* Fixed still failing integration test. See discussion in #13753.

* Code Review Correction

Removed stray double quote reported by @strega-nil

* change display name

Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-11-19 12:33:20 -08:00
Christian Fersch
19fe942c13
Add support for llvm-objdump to applocal.ps1 (#11898)
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-11-09 16:47:21 -08:00
Billy O'Neal
a6a1722cfa
[vcpkg, jsonnet, openssl-uwp] Enable use of the system powershell-core if it is present. (#13805) 2020-10-27 20:48:14 -07:00
Thomas Gwynne-Timothy
10771a845e
Serialize deployBinary on target directory (#11363) 2020-10-27 17:55:27 -07:00
nicole mazzuca
4902a7be1d
[vcpkg manifest-mode] Fix parallel msbuild failures (#13589)
This changes the vcpkg msbuild targets file to wait for the lock, rather than failing immediately
2020-09-18 17:01:18 -07:00
Phoebe
6659efca6a
[msbuild] Revert the importance to Normal (#12727) 2020-08-05 13:03:02 -07:00
ras0219
fd4a08806f
[vcpkg] Fix MSBuild regressions #12062 and #12086. (#12257)
This PR also renames the VcpkgUserTriplet MSBuild variable to VcpkgTriplet to minimize user confusion compared to previous practice and documentation.

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-08 15:08:17 -07:00
Robert Schumacher
eedecc033d
[vcpkg.targets] Fix #12292 regression with MSBuild targets (#12319) 2020-07-08 13:51:03 -07:00
Dr. Frank Heimes
c21893b4dc
[vcpkg integrate] Clean up vcpkg.target file (#4608)
Use IncludePath and LibraryPath propertiesThese tool agnostic properties allow to configure ClCompile and ResourceCompile without repeating the code.
This change includes my changes from #4454.

Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2020-07-05 12:39:14 -07:00
Phoebe
f24543e831
[msbuild] Revert the importance to Normal (#12212) 2020-07-02 20:19:23 -07:00
Stephane Lajoie
428df4c7d6
Don't change manifest root when manifest isn't enabled. (#12191)
* Don't change manifest root when manifest isn't enabled.

* Update scripts/buildsystems/msbuild/vcpkg.targets

* Apply suggestions from code review

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-07-01 12:18:13 -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
Alexander Neumann
14514508d8
[vcpkg] Add vcpkg item to project settings in Visual Studio (#4361)
Co-authored-by: Curtis J Bezault <curtbezault@gmail.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-06-15 14:24:14 -07:00
Billy O'Neal
6ac6267f51
[vcpkg] Provide $(VcpkgRoot) and $(VcpkgCurrentInstalledDir) for customers. (#11779) 2020-06-04 13:33:47 -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
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
Tsukasa Sugiura
687a2b9b89
[azure-kinect-sensor-sdk] Fix Deploy Azure Kinect Sensor SDK on Windows (#11139)
* Fix Deploy Azure Kinect Sensor SDK on Windows

Fix deploy Azure Kinect Sensor SDK on Windows by copy Depth Engine.

* Fix Download URL by Version Number

* Fix Check SHA512 Hash of NuGet package

* Add Check Library Linkage

* Change Install Directory for Deploy Files

* Update ports/azure-kinect-sensor-sdk/portfile.cmake

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-05-08 14:35:59 -07:00
crusader-mike
126812d18b Resolves "project is never up-to-date" problem (issue 6179) (#7322) 2019-07-22 10:47:57 -07:00
shadowxiali
555b760c67 Update applocal.ps1 (#4942)
* Update applocal.ps1

* Update applocal.ps1

Fix Microsoft#2801,
prev modify mistake UTF8 to UTF

* Update applocal.ps1

in win7 chinese path, must utf8 to avoid copy dll fail
2019-06-12 17:41:28 -07:00
SvenPStarFinanz
7859944528 Overwriting dlls in the destination output directory when the source … (#4796)
* Overwriting dlls in the destination output directory when the source is newer.

* [vcpkg] cleanup whitespace
2019-02-28 13:52:51 -08:00
Alexander Neumann
4f7d4dc66f Temp fix for #4359 (#4573)
* make user wide integration not burn everything if LLVM is used as a toolset.
(e.g. cmake -G "VS" -TLLVM fails to even find compiler due to linker issues)
fixes #4359 but might have side effects for that toolset.
(e.g. not automatically adding dependencies)

* remove whitespaces

* [vcpkg-integrate] Conform to MSBuild conventions for comparisons
2018-11-08 23:48:09 -08:00
Robert Schumacher
a1fe9544fd [qt5-base] Update qtdeploy.ps1 to generate qt.conf, qml, and qtquick. Fixes #2857. 2018-10-23 15:12:57 -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
Jonathan Hale
3a3fa5cd8f [magnum] Properly deploy plugins (#3191)
* [magnum] Properly deploy magnum plugins

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum-plugins] Add tinygltfimporter feature

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum][magnum-plugins] Add features: trade and any*

Prepares upcoming move of those sublibraries and allows building --head
immediately.
For current release this only adds some unused cmake flags that will be
ignored.

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum] Add gl feature, cleanup dependencies, mark upcoming features

And sort features alphabetically.

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum-plugins] Prepare renaming of static flag for --head installs

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum] Add two missing feature dependencies

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum] Enable magnum[any*] features by default

Signed-off-by: Squareys <squareys@googlemail.com>
2018-04-18 19:33:12 -07:00
Robert Schumacher
73e45b0ce2 [qt5-base][qtdeploy] Deploy plugin dependencies to the executable's folder. 2018-02-08 13:25:45 -08:00
Tsukasa Sugiura
64203615a6 Fix OpenNI2 deploy (#2627)
* Fix OpenNI2 deploy

Fix to deploy initialization file and drivers.

* [openni2] Adjusting deployopenni2.ps1 paths

* Fix Create Directory of OpenNI2 Drivers

Fix create directory of OpenNI2 drivers.

* Fix Deploy Script Path

Fix deploy script path.
2018-01-23 08:45:23 -08:00
Jacek Blaszczynski
a28138eb9e Add preliminary support for arm-windows and arm64-windows triplets (#2371)
* Add preliminary support for arm-windows and arm64-windows triplets

Visual Studio 15.4 shipped with new VC tools targeting arm and arm64
for desktop. This change allows for recognition and usage of new
triplets supporting arm and arm64 Windows desktop and server targets.

* Remove unnecessary changes

* Part 2

* Part 3

* Make detection of Arm64 _VCPKG_TARGET_ARCHITECTURE precise

* Enforce usage of Visual Studio CMake generatorfor arm and temporarily arm64 targets

* Address code review feedback, clean libjpeg-turbo port.cmake

* [libjpeg-turbo][tiff] Reduce changes to existing libraries.

* [vcpkg-cmake] Simplify toolchain selection logic and improve comments
2018-01-03 17:19:52 -06:00
Ilya Finkelshteyn
e7cbb50f3d Fix path to powershell.exe
https://github.com/Microsoft/vcpkg/issues/2299
2017-12-05 15:22:21 -08:00
Robert Schumacher
a4f8515c9e [vcpkg-msbuild-integration] Address #2299 by using full path to powershell. 2017-12-05 15:22:21 -08:00
Robert Schumacher
330b8d8bab [vcpkg-msbuild-integration] Output warning when configuration is not determinable. Add special cases for RelWithDebInfo and MinSizeRel. 2017-11-04 20:48:06 -07:00
paercebal
f1c6b5cd4b Enable tolerance for similar configurations 2017-08-12 10:57:56 +02:00
Robert Schumacher
6950aeb637 [vcpkg-applocal] Recurse into other binaries. Fixes #1435. 2017-07-13 17:47:20 -07:00
Robert Schumacher
ff639ecc02 [vcpkg-applocal] Ensure log for copied DLLs is created, even when no DLLs are copied.
This fixes a bug which caused all non-vcpkg-using builds to be considered out of date.
2017-04-25 17:49:13 -07:00
Robert Schumacher
92c0a91d3f [vcpkg-msbuild] Fix line wrapping bug on Win7.
On Win7, calling powershell via MSBuild results in normal output lines being split based on the ConHost system-wide default line length settings.

The fix is to first write all the lines to a file, then load that file as into an MSBuild ItemGroup. This avoids all interaction with ConHost.
2017-04-11 16:32:45 -07:00
Robert Schumacher
eb9b85c49d [vcpkg] Switch several usages of -ExecutionPolicy Unrestricted to Bypass to avoid failures due to Mark Of The Web 2017-04-08 18:53:39 -07:00
Wei Mao
6a2e1c77fe Fix issue 556: need setup include path for rc.exe (wtl fails to build) 2017-04-07 09:50:24 -07:00
Robert Schumacher
558d54dd4e [qt5] Add qtdeploy.ps1 to enhance applocal.ps1 when Qt is in use. 2017-03-31 06:35:23 -07:00
Robert Schumacher
bbaf4d77e7 [applocal.ps1] Refactor out binary deployment 2017-03-31 03:11:06 -07:00