aboutsummaryrefslogtreecommitdiff
path: root/scripts/buildsystems/vcpkg.cmake
AgeCommit message (Collapse)Author
2020-08-22[vcpkg] Hotfix regression in #12523 (#13092)ras0219
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-08-22[vcpkg.cmake] check for vcpkg.json only in `${CMAKE_SOURCE_DIR}` (#12523)nicole mazzuca
2020-08-01[vcpkg manifest] add feature support (#12549)nicole mazzuca
2020-08-01[vcpkg] Fix [boost] find_package for MSVC2013 / v120 (#10670)Manuel Kugelmann
* Fix [boost] find_package for MSVC2013 / v120 added conditional set(Boost_COMPILER "-vc120") to vcpkg.cmake * fixed spacing * fixed spaces
2020-07-23[vcpkg] Add initial s390x support (#12534)Andrei Lebedev
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
2020-07-09[vcpkg manifests] fix some issues (#12227)nicole mazzuca
Fixes #12190 Fixes #12208 Fixes #12234 Fixes #12286 Fixes #12315 Fixes #12186 Fixes #12331 Fixes googleapis/google-cloud-cpp#4487
2020-07-07[vcpkg.cmake] Support toolchains that set CMAKE_FIND_ROOT_PATH_MODE_* ↵Silvio Traversaro
variables to ONLY (#11753)
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-03[vcpkg] Allow CI to pass in all relevant directories and remove use of ↵Billy O'Neal
symbolic links (#11483)
2020-05-21[vcpkg] Fix cmake architecture detection on windows with ninja generator ↵Christian Fersch
(#11466)
2020-04-15Add initial iOS support (#6275)alcroito
* Add iOS community triplets and toolchain support Added an iOS toolchain to enable building packages for iOS. The toolchain is used when a triplet's VCPKG_CMAKE_SYSTEM_NAME is set to iOS. To configure which architecture should be built, as well as other iOS specifics, the following triplet variables can be set: - VCPKG_TARGET_ARCHITECTURE - VCPKG_OSX_SYSROOT - VCPKG_OSX_DEPLOYMENT_TARGET - VCPKG_OSX_ARCHITECTURES The following VCPKG_TARGET_ARCHITECTURE values are currently supported: - arm, arm64, x64, x86. The following VCPKG_OSX_SYSROOT values are currently supported: - iphoneos, iphonesimulator, or an absolute path to the device or simulator Xcode SDK. VCPKG_OSX_DEPLOYMENT_TARGET can be set to control the minimum iOS delopyment target for the built libraries. CMAKE_OSX_ARCHITECTURES is derived from VCPKG_TARGET_ARCHITECTURE, so generally it should not be set. In case if someone needs to target a more specific architecture (like armv7k or arm64e), it can be set in the triplet via VCPKG_OSX_ARCHITECTURES. Note that only certain combinations of the architecture and sysroot will work: simulator SDKs only provide x86-based libraries, etc. The toolchain also sets CMAKE_SYSTEM_PROCESSOR for certain configurations, because certain packages (like libpng) depend on the processor type. Added 4 community iOS triplets that build static libraries: - arm-ios, arm64-ios, x86-ios, x64-ios. The non-arm triplets target the iOS simulator. The triplets build static libraries because they are easiest to integrate into an iOS project. Dynamic libraries or frameworks require code signing on iOS, which complicates integration. Added heuristics to try and automatically detect what iOS triplet to use when building your own CMake project (so when a CMake project sets CMAKE_TOOLCHAIN_FILE to buildsystems/vcpkg.cmake), if no explicit triplet is provided (VCPKG_TARGET_TRIPLET is undefined). The heuristic checks for the values of CMAKE_SYSTEM_NAME and CMAKE_OSX_ARCHITECTURES. Note that for this to work, CMAKE_OSX_ARCHITECTURES needs to be set before the first project() call in your CMake project. Added workaround so find_package finds vcpkg installed packages when targeting iOS. This is done by saving / restoring the value of CMAKE_FIND_ROOT_PATH while also adding the vcpkg package root in the find_package override macro. The workaround can be removed once vcpkg upgrades to CMake 3.15.0 or higher where the issue is fixed. Fixes: #6003 * Fix building libpng and pcre2 targetting iOS Fixes: #6003
2020-03-25Map configuration also for single configuration generators (#10397)Alexander Neumann
2020-02-09[vcpkg] Add VCPKG_SUPPRESS_INSTALLED_LIBRARIES_WARNING and ↵Robert Schumacher
VCPKG_OVERRIDE_FIND_PACKAGE_NAME parameters to the vcpkg toolchain. (#9996) VCPKG_SUPPRESS_INSTALLED_LIBRARIES_WARNING - Silences warning about lacking installed libraries for the current triplet VCPKG_OVERRIDE_FIND_PACKAGE_NAME - Enables cooperation with other tooling that may want to hook find_package
2020-01-24Make VS 2019 default to x64 (#9816)Alexander Neumann
Since CMake also does this
2020-01-09Map MinSizeRel and RelWithDebInfo correctly (#6393)Alexander Neumann
* Map MinSizeRel and RelWithDebInfo to Release by default * switch to CMAKE_CONFIGURATION_TYPES * changed mapping slightly * add empty list element to the mapping * more comments and an option to turn verbose messages on. * removed line info. It would require the file name to make sense out of it.
2019-12-20Fix CMAKE_TRY_COMPILE_PLATFORM_VARIABLES (#8533)Alexander Neumann
* Fix CMAKE_TRY_COMPILE_PLATFORM_VARIABLES to respect already set values closes #8506 * ws change to trigger full rebuild
2019-09-23Use CMAKE_TRY_COMPILE_PLATFORM_VARIABLES to propogate values (#5180)Don
CMAKE_TRY_COMPILE_PLATFORM_VARIABLES is used when CMake 3.6.0 or higher is encountered. For older versions the previous behavior emulating this functionality is used.
2019-08-12vs 2019 integration bug (#7623)dan-shaw
2019-05-31Fix vcpkg thingsThad House
2019-05-31Merge masterThad House
2019-05-24make regex case insensitive (#6402)Alexander Neumann
2019-05-18[vcpkg.cmake] Remove use of IN_LIST (#6521)Sean Warren
Fixes regression introduced by #5681 in CMake projects with minimum version <3.3 where CMP0057 is not set to NEW Fixes #6484
2019-05-16Add mac applocal for bundling dependencies (#5681)Sean Warren
2019-05-13fix parens in cmake variable name (#6420)lukka
2019-05-12also ignore x86 openssl paths (#6416)Alexander Neumann
2019-04-24Add support for CMake generation with VS 2019 (#6090)Thad House
2019-04-14VS 2019 supportThad House
2019-04-14Add WPILib port for vcpkgThad House
2019-04-04Fix installation failure when system Boost present (#5939)Damian Jarek
Boost 1.70 introduces "native" cmake config scripts which are accidentally used when installing a vcpkg package. This only occurs when Boost 1.70 is installed in the system when the user uses `vcpkg install`. Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-14Merge pull request #5574 from Neumann-A/VTK_8.2.0Phil Christensen
[VTK 8.2.0/HDF5 1.10.5] Upgrade VTK and HDF5
2019-03-14fix missing debug references in cmake generated (release) target files.Alexander Neumann
2019-03-13[tiff] use vcpkg wrapper for all configs, remove dead code (#5584)Stefano Sinigardi
* [tiff] use vcpkg wrapper for all configs, remove dead code * [tiff] update CONTROL
2019-03-05[hdf5] Use cmake wrapper to ensure consuming libraries link to szip (#5467)Sean Warren
* [hdf5] Use cmake wrapper to ensure consuming libraries link to szip in static build * [hdf5] Move hdf5 cmake code from vcpkg.cmake to vcpkg-cmake-wrapper * [hdf5] Do not force search in config mode * [hdf5] balance needs of vtk and kealib
2019-02-28Modify `vcpkg_fixup_cmake_targets()` (#5459)Victor Romero
* some libraries export <PackageName>LibraryDepends.cmake instead of <PackageName>Targets.cmake. Those file also need the fix of #1044 should close #4753 * prefered the general solution #4622. hopefully solved the issue within #4150 replaced the regex with something more readable (also ident is lost) should close: #4753 #4633 #4150 and maybe more * Hash vcpkg_fixup_cmake_targets.cmake * [boost] Fix use of find_package(Boost) with cache variables [socket-io-client] Fix install * reversed change back to use regex replace * [glbinding] Fix _IMPORT_PREFIX depth in *-export.cmake files * [tinyspline] Ignore warnings treated as errors * [libevent, liblemon, libpng, smpeg2, zlib] Fix apply patches * [libsodium] Fix apply patches * [folly] Link correct libraries in debug and release * [vtk] Remove unset of _IMPORT_PREFIX * [tinyspline] Do not treat warnings as errors * [smpeg2] Fix double* to int comparison * [nvtt] Define value for HAVE_UNISTD_H in MacOS * [libui] Fix MacOS X build * [zlib] Fix download URL * [qhull] Update to v7.2.1 * [podofo] Set value for HAVE_UNISTD_H in MacOS * [mongo-cxx-driver,ogre,podofo,qhull] Bump CONTROL version * [mongo-c-driver] Set _IMPORT_PREFIX * [tmxparser] Bump CONTROL version * [qhull,vxl] Bump CONTROL version
2019-02-06Warn when unable to determine target architecture instead of error (#5188)Sam Freed
* Warn when unable to determine target architecture instead of error * Make the warning not appear multiple times * fix multiple warnings for real
2018-04-23Fix grpc lookup (case-insensitive)Alexander Karatarakis
2018-04-05[vcpkg-cmake-toolchain] Remove some hardcoded find_package helpers and guard ↵Robert Schumacher
all remaining ones
2018-03-29[vcpkg.cmake] Remove Windows SDK detection. Let cmake detect itAlexander Karatarakis
2018-03-14[vcpkg-cmake-toolchain] Only wrap find_package(Boost) if a boost library is ↵Robert Schumacher
installed.
2018-03-13[vcpkg] Improve non-Windows default triplet detectionRobert Schumacher
2018-03-11[vcpkg] Enable packages to provide cmake wrapper scripts.Robert Schumacher
2018-03-11[vcpkg] Improve defaults for other platformsRobert Schumacher
2018-03-09[libxml2] Fix vcpkg toolchain helperRobert Schumacher
2018-03-07[gsl] Fix finding release libs in debug configurations. Fixes #2982.Robert Schumacher
2018-03-07applocal-deps applied to MODULE_LIBRARY target too (#2972)Bruce Jones
* Fix for issue #2786 * [vcpkg-cmake-toolchain] Only applocal dependencies for shared libraries * applocal-deps applied to MODULE_LIBRARY target too
2018-03-07add shogun 6.1.3 (#2977)Viktor Gal
* add shogun 6.1.3 * [shogun] Add additional dependencies, force static linking
2018-03-02[vcpkg] Improve handling of external toolchain filesRobert Schumacher
2018-03-01[vcpkg] Improve handling of HDF5 targetsRobert Schumacher
2018-02-23[vcpkg-cmake-integration] Warn if no packages are installed for the current ↵Robert Schumacher
triplet.
2018-02-13Copy local dependencies for library targets (#2787)Bruce Jones
* Fix for issue #2786 * [vcpkg-cmake-toolchain] Only applocal dependencies for shared libraries