Commit Graph

49 Commits

Author SHA1 Message Date
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
Robert Schumacher
1c9fd4aefc [applocal.ps1] Keep global set of searched binaries and avoid excessive recursion. 2017-03-31 03:05:15 -07:00
Robert Schumacher
8b21933367 [vcpkg-msbuild] Add troubleshooting message to MSBuild projects with Importance=Normal 2017-01-31 17:53:08 -08:00
Robert Schumacher
33ce94a456 [vcpkg integrate] Exit silently if target cannot be found. 2017-01-24 15:17:45 -08:00
Robert Schumacher
44810f267d [vcpkg integrate] Lower verbosity of MSBuild messages. 2017-01-23 18:26:57 -08:00
Alexander Karatarakis
030ed27117 Fix integration when $(Platform) is empty 2017-01-19 17:38:56 -08:00
Robert Schumacher
da09df713f [vcpkg integration] Explicitly skip empty entries instead of recursing. Fixes #460. 2017-01-13 17:39:12 -08:00
Christian Ullrich
335c15a9d0 Copy DLLs before attempting to regsvr32. 2016-12-23 14:47:38 +01:00
Christian Ullrich
c0cb3ca009 Copy DLLs for all project types.
$(TargetPath) is a simpler way of getting the primary output than assembling it from multiple variables. In addition, $(OutputType) matches $(TargetExt) only for .exe projects.
2016-12-23 14:47:26 +01:00
Robert Schumacher
32157f8ce5 [vcpkg-integrate] Provide an opt-out for autolinking. Properly suppress integration via MSBuild when using CMake.
Add lib\ and lib\manual-link\ to additional library paths.

[gtest] Because the four libraries provided by gtest supply redundant symbols and define main, opt them all out.

Addresses #306.
2016-11-25 23:10:27 -08:00
Alexander Karatarakis
097626c317 Use /DEPENDENTS instead of /IMPORTS in applocal.ps1 2016-11-08 19:02:59 -08:00
Robert Schumacher
e5152851f2 Revert d58f0c6680. MSBuild (and CMake) do not allow switching on CRT type effectively, so we should use more robust logic. 2016-11-04 17:37:58 -07:00
Alexander Karatarakis
789855546c Fix issues with the integration file 2016-10-31 17:02:39 -07:00
Alexander Karatarakis
d58f0c6680 [integration] Enable static lib integration. Also, detect .vcpkg-root 2016-10-31 13:32:58 -07:00
Alexander Karatarakis
2efbe4ec6f [vcpkg.targets] Change VCPkg casing to Vcpkg 2016-10-28 18:58:39 -07:00
Alexander Karatarakis
ccca198c1b Initial commit 2016-09-18 20:54:03 -07:00