84 Commits

Author SHA1 Message Date
Chuck Walbourn
3203d48203
Fix for VcpkgPlatformTarget default fails for ARM, ARM64, ARM64EC (#42182) 2024-11-15 15:00:05 -08:00
Billy O'Neal
0fd3438b2c
Revert "Update vcpkg-tool to 2024-03-28." (#37843)
Reverts microsoft/vcpkg#37820
2024-03-29 15:04:50 -07:00
Billy O'Neal
13f9954503
Update vcpkg-tool to 2024-03-28. (#37820)
https://github.com/microsoft/vcpkg-tool/releases/tag/2024-03-29

Also updates applocal.ps1 to make the signature verify :/
2024-03-29 14:12:30 -07:00
Billy O'Neal
11610eabb9
Add msbuild feature to use z-applocal, and avoid trying to applocal deploy for non executable project types. (#35012)
* Hook up z-applocal, work started by @vicroms.

* Fix spelling of utf8

* Use standard warning formats.

* Don't get in the way of stdout.

* Don't try to Applocal deploy if the linker does not run.

* Make VcpkgUseBuiltInApplocalDeps docs a bit nicer.

* Change to (experimental) prefix.

* Add an X.
2023-11-10 12:00:25 -08:00
Chuck Walbourn
47cdf39707
lld-link workaround should be used with ClangCl MSBuild platform toolset (#31239) 2023-05-04 10:24:13 -07:00
Billy O'Neal
1174c9ea1d
[vcpkg-msbuild] Add a switch to disable classic mode for one-liner and in-VS installs. (#30373) 2023-03-24 22:35:58 -07:00
Chuck Walbourn
c1d764a742
[community triplet] adds triplets for building for the Xbox platform (#29210)
* Try adding xbox triplets

* Update for Gaming Command Prompt usage

* Fix directxtk12 shaders for xbox

* Add toolchain for xbox

* Fix ports for feature builds

* Code review feedback

* More code review

* Code review

* WIN32_LEAN_AND_MEAN is too aggressive for many libs

* Normalize GDK variable paths

* Need to leave oldnames.lib as many libs use POSIX names

* More code review feedback

* Remove extra file

* Use of /DEFAULTLIB fixed 41 ports

* Code review feedback

* Added basic xbox supports expression

* Updates for xbox-aware ports

* Update for CMake fixes upstream

* Minor synatx fix

* Fix up merge issues

* Need directx-headers for linux

* Missed one port revision

* Removed VCPKG_TARGET_IS_XBOX from project scope after upstream fixes

* Update baseline

* License updates per github-actions bot

* Update baseline

* Update toolchain to support try_compile for GDK headers

* Update port numbers

* Update baseline

* Don't need directx-dxc for Xbox builds

* Update baseline

* Update hashes

* Code review

* Update baseline

* Refresh hashes for upstream fixes

* Update baseline

* Add ms-gdkx stub port

* Update baseline

* updated ms-gdkx with user-friendly output

* Update baseline

* Code review for the toolchain file

* Update directxkt12 hash

* Refresh baseline

* Update MSBuild integration to select proper triplet for GDK custom platforms

* Update CMake integration to select proper xbox triplet from XBOX_CONSOLE_TARGET

* vcpkg.targets update

* Code review feedback

* Update baseline

* Refresh baseline

* Code review for MSBuild

* Code review for xbox toolchain

* vcpkg.cmake codereview

---------

Co-authored-by: walbourn <chuckw_walbourn@yahoo.com>
2023-03-08 14:06:20 -08:00
Jörg Bornemann
ed73411424
[applocal.ps1] Fix -targetBinary without drive letter (#29890) (#29894)
On Windows, running applocal.ps1 with "-targetBinary
/foo/bar.exe" (without drive letter) did not install dependencies. The
dumpbin executable was called with /foo/bar.exe, and dumpbin interpreted
this as unknown command line argument. No dependencies were resolved.

We're already resolving the full path of the target binary some lines
above the dumpbin call. The $targetBinaryPath variable contains the
target binary's path including the drive letter, and dumpbin
successfully reports the executable's dependencies.
2023-03-01 16:07:04 -08:00
Frank
30a20e8f15
[vcpkg] Fix integration in Visual Studio (#28216) 2022-12-07 17:11:31 -08:00
sbrajchuk
11e021f9f8
[vcpkg] Add support of -static-md to Visual Studio UI (#28045)
* Add support of -static-md to UI

* Remove redundant comparison

* Fix typo

* Check if 'Use Static Libraries' is selected
2022-11-29 11:38:53 -08:00
Billy O'Neal
d97c3ab76c
[vcpkg-msbuild-integration] Set the default value of VcpkgConfiguration according to $(UseDebugLibraries) rather than $(Configuration) for better support of custom configuration names. (#26177)
Competing resolution of https://github.com/microsoft/vcpkg/pull/9496 and https://github.com/microsoft/vcpkg/pull/22086
2022-08-10 13:14:52 -07:00
autoantwort
36bd5e39b7
[msbuild] don't fail on error messages (#25844) 2022-07-20 15:41:27 -07:00
nicole mazzuca
6c617b9f55
[vcpkg-tool] update to 2022-03-30 (#23886)
* [vcpkg-tool] update to 2022-03-30

* add --allow-unexpected-passing, --skip-failures

* Robert CR

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2022-03-31 19:08:09 -07:00
Kai Pastor
6072bc13ab
Fix powershell 5 compatibility (#22123) 2021-12-21 23:12:26 -05:00
klaus triendl
17cefc2cd9
[msbuild] Correct resulting triplet installation folder (#22079)
Co-authored-by: klaus triendl <klaus.triendl@firedaemon.com>
2021-12-20 11:29:26 -05:00
Rémy Tassoux
989f5594f8
[vcpkg] Fix external include path (#21544)
* [vcpkg] Fix external include path

* Fix ExternalIncludePath syntax

Co-authored-by: Billy O'Neal <bion@microsoft.com>

Co-authored-by: Rémy Tassoux <rt2@rasterizedworld.com>
Co-authored-by: Billy O'Neal <bion@microsoft.com>
2021-11-26 00:35:05 -08:00
Rémy Tassoux
203daf9844
[vcpkg.targets] Add vcpkg installed libraries to MSBuild external include path (#18820)
Co-authored-by: Rémy Tassoux <rt2@rasterizedworld.com>
2021-11-19 05:49:33 -08:00
Kai Pastor
4d878759ad
[applocal.ps1] Add missing '$' (#21429) 2021-11-15 09:43:12 -08:00
Kai Pastor
7dff5e821e
[vcpkg] Revise appdeploy and copy_tool_dependencies (#21092)
* Stop overwriting logs when copying tool dependencies

* Deploy debug dependencies for debug tools

* Deploy dependencies verbosely in debug mode

* Don't silently fail deployment on mutex creation error

* Construct paths portably

* Fix mutex creation on Linux

* Abort on mutex creation errors

* Always copy tool dependencies in verbose mode
2021-11-14 08:48:05 -08:00
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