aboutsummaryrefslogtreecommitdiff
path: root/scripts/buildsystems/msbuild
AgeCommit message (Collapse)Author
2021-09-24Remove unnecessary <Delete> that races <Touch> (#20313)AndrewDeanMS
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-08[msbuild] add vcpkg to <Lib> search path (#20054)autoantwort
2021-09-02[vcpkg] Repair msbuild damage and workaround the way we integrate on VS2015. ↵Billy O'Neal
(#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-06-01Use objdump for dll dependencies (#18027)Kai Pastor
2021-03-22[msbuild] fix integration caching (#16787)nicole mazzuca
we would always run on build, as opposed to only running when changes happened
2021-03-10[host dependencies] add support in the scripts (#16627)nicole mazzuca
This contains all the docs and scripts changes from #16479, without any of the ports changes, for easier CR
2021-02-10[vcpkg integrate install] Allow setting the vcpkg installed dir (#16173)nicole mazzuca
* [vcpkg integrate install] Allow setting the vcpkg installed dir * fix the cache-y thing * robert crs
2021-02-09[vcpkg.targets] Add an additional options parameter for MSBuild integration ↵ras0219
(#16155) Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-02-04[msbuild]Fix incorrect triplet configuration for Project Reunion apps (#15410)Soumya Ranjan Mahunt
* Fix incorrect triplet configuration for Project Reunion apps * Modified VcpkgOSTarget detection condition
2021-01-29[vcpkg] Teach vcpkg.targets to emit a .tlog, enabling up-to-date checks (#15898)ras0219
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-11-30[vcpkg] Fix issue in vcpkg.targets that introduced in 13755 (#14797)Phoebe
2020-11-25[vcpkg msbuild] Fix the issues introduced in 13755 (#14772)nicole mazzuca
* Fix the issues introduced in 13755 Fixes #14735 * add VcpkgRoot != ''
2020-11-19[vcpkg] Two bug fixes and some improvements in buildsystems/msbuild (#13755)Dr. Frank Heimes
* 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-09Add support for llvm-objdump to applocal.ps1 (#11898)Christian Fersch
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-10-27[vcpkg, jsonnet, openssl-uwp] Enable use of the system powershell-core if it ↵Billy O'Neal
is present. (#13805)
2020-10-27Serialize deployBinary on target directory (#11363)Thomas Gwynne-Timothy
2020-09-18[vcpkg manifest-mode] Fix parallel msbuild failures (#13589)nicole mazzuca
This changes the vcpkg msbuild targets file to wait for the lock, rather than failing immediately
2020-08-05[msbuild] Revert the importance to Normal (#12727)Phoebe
2020-07-08[vcpkg] Fix MSBuild regressions #12062 and #12086. (#12257)ras0219
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[vcpkg.targets] Fix #12292 regression with MSBuild targets (#12319)Robert Schumacher
2020-07-05[vcpkg integrate] Clean up vcpkg.target file (#4608)Dr. Frank Heimes
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-02[msbuild] Revert the importance to Normal (#12212)Phoebe
2020-07-01Don't change manifest root when manifest isn't enabled. (#12191)Stephane Lajoie
* 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-06-30[vcpkg manifest] Manifest Implementation (#11757)nicole mazzuca
==== 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-15[vcpkg] Add vcpkg item to project settings in Visual Studio (#4361)Alexander Neumann
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-04[vcpkg] Provide $(VcpkgRoot) and $(VcpkgCurrentInstalledDir) for customers. ↵Billy O'Neal
(#11779)
2020-06-03[vcpkg] Allow CI to pass in all relevant directories and remove use of ↵Billy O'Neal
symbolic links (#11483)
2020-05-29[vcpkg] Rename the msbuild property VcpkgRoot to VcpkgCurrentInstalledDir, ↵Billy O'Neal
and set VcpkgRoot to the expected root instead. (#11653)
2020-05-08[azure-kinect-sensor-sdk] Fix Deploy Azure Kinect Sensor SDK on Windows (#11139)Tsukasa Sugiura
* 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>
2019-07-22Resolves "project is never up-to-date" problem (issue 6179) (#7322)crusader-mike
2019-06-12Update applocal.ps1 (#4942)shadowxiali
* 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-02-28Overwriting dlls in the destination output directory when the source … (#4796)SvenPStarFinanz
* Overwriting dlls in the destination output directory when the source is newer. * [vcpkg] cleanup whitespace
2018-11-08Temp fix for #4359 (#4573)Alexander Neumann
* 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-10-23[qt5-base] Update qtdeploy.ps1 to generate qt.conf, qml, and qtquick. Fixes ↵Robert Schumacher
#2857.
2018-08-08New packages: libimobiledevice, getopt, readline (#3504)Frederik Carlier
* 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-04-18[magnum] Properly deploy plugins (#3191)Jonathan Hale
* [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-02-08[qt5-base][qtdeploy] Deploy plugin dependencies to the executable's folder.Robert Schumacher
2018-01-23Fix OpenNI2 deploy (#2627)Tsukasa Sugiura
* 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-03Add preliminary support for arm-windows and arm64-windows triplets (#2371)Jacek Blaszczynski
* 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
2017-12-05Fix path to powershell.exeIlya Finkelshteyn
https://github.com/Microsoft/vcpkg/issues/2299
2017-12-05[vcpkg-msbuild-integration] Address #2299 by using full path to powershell.Robert Schumacher
2017-11-04[vcpkg-msbuild-integration] Output warning when configuration is not ↵Robert Schumacher
determinable. Add special cases for RelWithDebInfo and MinSizeRel.
2017-08-12Enable tolerance for similar configurationspaercebal
2017-07-13[vcpkg-applocal] Recurse into other binaries. Fixes #1435.Robert Schumacher
2017-04-25[vcpkg-applocal] Ensure log for copied DLLs is created, even when no DLLs ↵Robert Schumacher
are copied. This fixes a bug which caused all non-vcpkg-using builds to be considered out of date.
2017-04-11[vcpkg-msbuild] Fix line wrapping bug on Win7.Robert Schumacher
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-08[vcpkg] Switch several usages of -ExecutionPolicy Unrestricted to Bypass to ↵Robert Schumacher
avoid failures due to Mark Of The Web
2017-04-07Fix issue 556: need setup include path for rc.exe (wtl fails to build)Wei Mao
2017-03-31[qt5] Add qtdeploy.ps1 to enhance applocal.ps1 when Qt is in use.Robert Schumacher
2017-03-31[applocal.ps1] Refactor out binary deploymentRobert Schumacher