If a call to `vcpkg_replace_string` makes no changes i.e doesn't
effectively replace a string, A warning is logged.
This should also help identify ports that no longer need these calls to
fix things in `.pc` files etc.
Resolves#38869.
For simplicity, always acquire `PKGCONFIG`:
It is needed by multiple features, and on `UNIX`, curl's find modules
will try to load it for determining package hints.
Refactor curl port:
- Add test
- Refine dependencies patch
- gssapi feature is not for windows
<!-- If your PR fixes issues, please note that here by adding "Fixes
#NNNNNN." for each fixed issue on separate lines. -->
<!-- If you are still working on the PR, open it as a Draft:
https://github.blog/2019-02-14-introducing-draft-pull-requests/. -->
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] Any patches that are no longer applied are deleted from the port's
directory.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
<!-- If this PR adds a new port, please uncomment and fill out this
checklist:
- [ ] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [ ] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [ ] The versioning scheme in `vcpkg.json` matches what upstream says.
- [ ] The license declaration in `vcpkg.json` matches what upstream
says.
- [ ] The installed as the "copyright" file matches what upstream says.
- [ ] The source code of the component installed comes from an
authoritative source.
- [ ] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [ ] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [ ] Only one version is in the new port's versions file.
- [ ] Only one version is added to each modified port's versions file.
END OF NEW PORT CHECKLIST (delete this line) -->
Co-authored-by: WangWeiLin-MV <156736127+WangWeiLin-MV@users.noreply.github.com>
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [x] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [x] The versioning scheme in `vcpkg.json` matches what upstream says.
- [x] The license declaration in `vcpkg.json` matches what upstream
says.
- [x] The installed as the "copyright" file matches what upstream says.
- [x] The source code of the component installed comes from an
authoritative source.
- [x] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is in the new port's versions file.
- [x] Only one version is added to each modified port's versions file.
krb5 have an issue of absolute paths that I am not sure how to fix, also
I didn't succeeded to compile it on windows, but this PR is a good
start.
```
warning: There should be no absolute paths, such as the following, in an installed package:
/home/tal/vcpkg/packages/krb5_x64-linux
/home/tal/vcpkg/installed
/home/tal/vcpkg/buildtrees/krb5
/home/tal/vcpkg/downloads
Absolute paths were found in the following files:
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/krb5-config
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/krb5-config
error: Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: /home/tal/vcpkg/ports/krb5/portfile.cmake
```
<!-- If your PR fixes issues, please note that here by adding "Fixes
#NNNNNN." for each fixed issue on separate lines. -->
<!-- If you are still working on the PR, open it as a Draft:
https://github.blog/2019-02-14-introducing-draft-pull-requests/. -->
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] Any patches that are no longer applied are deleted from the port's
directory.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
<!-- If this PR adds a new port, please uncomment and fill out this
checklist:
- [ ] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [ ] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [ ] The versioning scheme in `vcpkg.json` matches what upstream says.
- [ ] The license declaration in `vcpkg.json` matches what upstream
says.
- [ ] The installed as the "copyright" file matches what upstream says.
- [ ] The source code of the component installed comes from an
authoritative source.
- [ ] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [ ] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [ ] Only one version is in the new port's versions file.
- [ ] Only one version is added to each modified port's versions file.
END OF NEW PORT CHECKLIST (delete this line) -->
<!-- If your PR fixes issues, please note that here by adding "Fixes
#NNNNNN." for each fixed issue on separate lines. -->
<!-- If you are still working on the PR, open it as a Draft:
https://github.blog/2019-02-14-introducing-draft-pull-requests/. -->
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] Any patches that are no longer applied are deleted from the port's
directory.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
When you install curl[tool,idn2] with vcpkg, and the you do:
```
curl --version
```
You can see the lib that it install with, and even you install the
feature idn2, it missing. I fix it.
It should look similar to that:
```
curl 8.7.0-DEV (Linux) libcurl/8.7.0-DEV ... libidn2/2.3.4 ...
```
The commit [1] broke consuming curl for downstream projects:
CMake Error at cmake-build-debug/vcpkg_installed/x64-windows-static/share/curl/CURLTargets.cmake:61 (set_target_properties):
The link interface of target "CURL::libcurl" contains:
c-ares::cares
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
[1]: c9eb3bd14e
* [curl] Update to 7.86.0
* [azure-core-cpp] Add missing Ws2_32.lib.
Filed upstream as https://github.com/Azure/azure-sdk-for-cpp/pull/4127
* [aws-sdk-cpp] Lock the selected curl features.
Co-authored-by: FrankXie <v-frankxie@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* Fix SSL on iOS
Enables secure transport SSL backend on iOS.
When CURL_CA_BUNDLE is set (defaults to /etc/ssl/cert.pem) curl sets it as CA for every request, but on iOS this file is missing and curl's `sectransp` SSL implementation can't deal with it, failing the request completely.
This change makes CURL_CA_BUNDLE to be unset, much like CURL_CA_PATH so that `sectransp` uses system CA store.
* Update versions/c-/curl.json
Co-authored-by: Frank <65999885+FrankXie05@users.noreply.github.com>
Co-authored-by: Frank <65999885+FrankXie05@users.noreply.github.com>
* Add wolfSSL port
* Add wolfMQTT
* Add wolfTPM
* Update ci.baseline.txt for wolfSSL, wolfMQTT, wolfTPM
* curl: Add wolfSSL feature
* wolfSSL: Always build out of tree and enable DES3
* wolfssl: support !uwp and use PORT variable for copyright install
* curl: use `VCPKG_TARGET_IS_WINDOWS` instead of triplet and `MATCHES`
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
* curl[wolfssl]: add DES_ECB and add patch to resolve ntlm includes
* Fix version database.
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* move boost out of the toolchain
* move icu out of the toolchain
* remove CURL from the toolchain (was already unreachable?)
* remove gsl from toolchain
* remove grpc from toolchain
* version stuff
* fix indent and missing endif()
* version stuff
* Revert changes to vcpkg.cmake
* push port version
* version stuff
* [curl] Fix android builds. Greatly simplify pkgconfig handling.
* [curl] Fix permissions on curl-config
* [curl] Fix missing assigment in replacement
* [curl] Update version
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [poppler] Fix issue with using libcurl.
* [curl] Ensure CMake policy is set for the libcurl config file.
Otherwise, ports using old (eg pre-2.8) CMake minimums might fail when
they import the package.
* [poppler] Add curl feature to test curl vcpkg-cmake-wrapper.
* Fix pkgconfig for windows debug build. Re-allow tool feature on non windows platforms
* Fix tool feature
* Modified debug/release prvate libs according to https://github.com/microsoft/vcpkg/pull/14350#discussion_r520444862
Added vcpkg_fixup_pkgconfig() according to https://github.com/microsoft/vcpkg/pull/14350#discussion_r520435718
* Delete portfile.cmake.orig
* Fix pkgconfig
* Revert "Fix pkgconfig"
This reverts commit cb4da8bcc5e92248c20065f34d5e5d1d88a0e5d4.
* Bump port version to 3
* add missing system libs for windows. made case type coherent for ws2_32
* Fix build on x64-linux triplet
* Reverted ws2_32 to Ws2_32 as discudssed in https://github.com/microsoft/vcpkg/pull/14350#discussion_r525893479
* More fixes for Linux build with features
* Fix for feature c-ares
* Formatting
Co-authored-by: Phoebe Ma <v-phma@microsoft.com>
* [curl] Update to 7.65.3
* [curl] Remove USAGE
(Use auto-generated message about exported config.)
* Add wrapper
* [curl] Update to 7.66.0
* Add wrapper to curl
* drop parent_scope
* add change that didn't make it
* Populate CURL_LIBRARY
* Fix transitive dependency
* try to actually set LIBRARIES
* get .libs
* fix curlpp and dynamic builds on linux
* add @cenit's suggestion and fix typo in curlpp
* modify PDAL patch
* [many ports] improve compatibility with WSL and mixed case filesystems
* [treehopper] express dependency on libusb, which was not working on non-win32 platforms and is still broken there
* [libharu] add compatibility with non-win32 platforms
* [geogram] fix openblas on linux
[clapack] better integration with linux environment
[visit-struct] put cmake config file in the expected folder
[geogram] remove trailing underscore to enable compatibility with OpenBLAS
* [openblas] playing with underscore, without success
* [openblas/lapack] fix library integration
* [clapack] improve target handling in cmake module
* [openblas] promote self-generated config to default cmake module, otherwise internal ones thinks wrongly that openblas can also solve lapack libs
* [clapack,openblas] improve libraries integration
* [many ports] fix cmake unnecessary target paths, wrong config paths, empty default dependencies, unnecessary [core] tags
* [suitesparse] improve integration with new lapack/openblas mechanism
* [suitesparse] add no underscore postfix also for linux
* [ceres] fix integration with newer openblas/lapack configs
* [aws-c-event-stream] fix regression
* [systemc] fix regression
* [libwebp,geogram] trigger rebuild
* [libwebp,pthread4w] fix regressions
* [glbinding] fix cmake module installation
* [globjects] disentangle unnecessary dependency from qt5
* [jasper] remove broken and unnecessary patches
* [libwebp] fix regression
* [many ports] avoid using BUILD_SHARED_LIBS which is uninitialized in port files
* [clapack] correctly find dlls
* [clapack] use a generic blas as dependency
* [fizz,g2o] restore expected version
* fix mistake
* [many ports] remove WIN32, APPLE and UNIX (again, they keep creeping in) from ports since they are broken and usually break non-win32 ports
* [libressl,openssl] do not try to build one if the other is already installed
* [itk] update ref and patch to avoid regression
* [libressl,openssl] implement full strategy to fix CI
* [libwebp] disable components that are broken on macOS
* [ogre] enable macOS build
* [freeimage,jxrlib,ogre,openexr,protobuf] port patches from #5169
* [ogre] add missing install command
* [ffmpeg] enable wrapper for cmake module
* [ffmpeg] add avresample module finder
* [ffmpeg] improve module detection and exported symbols
* [ffmpeg] add variables to cache
* [thrift] remove unnecessary build option
* [allegro5] fix shared/static inversion
* [protobuf] cleanup
* [libressl] cleanup
* [moos-core] cleanup
* commented features must not be separated from other features, otherwise vcpkg complains
* [itk] fix regression
* [shogun,itk] fix regressions
* [ogre] fix regression
* [opusfile] add compatibility with non-win32
* [itk] fix regression
* [sndfile,libsndfile] remove duplicate, redirect sndfile to libsndfile
* add missing dependencies
* [ismrmrd] fix regression
* [ffmpeg] trigger rebuild
* [clapack,openblas,libogg] fix regressions on macOS
* [libtins] fix regression
* force rebuild windows regressions, unable to reproduce locally
* [mosquitto] enable non-win32 builds
* [json-dto] force rebuild, unable to reproduce regression locally
* [many ports] uniform naming and path length requests
* fix regression
* fix regression
* [ffmpeg] fixes for downstream projects
* clean up - thanks to reviewers
* trigger rebuild of regressions on macOS
* trigger rebuild of regressions on macOS - part2
* Add core back
* Use VCPKG_CONCURRENCY
* Add core back to suitesparse
* Add core back to curl
* Add core back to magnum
* Add core back to magnum
* Add core back to magnum
* Add core back to cgal
* [Curl] Upgrades 2019.05.08
* merge changes from master
* Fix cpr failure
* Fix the case issue in Linux
* Update patch and portfile
* Update the portfile that changed by my mistake
* [curl] Update to 7.65.0 to skip USE_DARWINSSL regression. Disable PERL since we don't build the manual anyway.
* Rename DARWINSSL to SECTRANSP
* Update the name and error detect
* expose darwinssl as an option
* Fix typo
* add an error in case darwinssl is used on a non darwin system
* [curl] add darwinssl to curl[ssl] osx default
* [curl] Bump CONTROL version
- Use appropriate EXECUTABLE_SUFFIX to support non-Windows platforms
- Fixup `curl-target-release.cmake` to point to the new executable location (fixing the CURL::curl target)
* [curl] Split the OpenSSL and SChannel backends into separate features
* [curl] Add mbedTLS backend as a feature
* [curl] Make winssl the default for Windows. Remove need for compatibility workaround.
* [curl] Continue to use openssl in UWP because PSecurityFunctionTableA is not available.
* [curl] fix build failure when VCPKG_BUILD_TYPE is set
* [libmysql] fix build failure when VCPKG_BUILD_TYPE is set
* [openssl-windows] use VCPKG_BUILD_TYPE to build release or debug only
* [icu] use VCPKG_BUILD_TYPE to build release or debug only
* [gdal] use VCPKG_BUILD_TYPE to build release or debug only
* bump versions of curl, gdal, icu, libmysql and openssl-windows
* [vcpkg] post-build cmake test
- test for applications with cmake build system
- Add a test feature to vcpkg core, make progress for #72
- Tests for zlib, bzip2, libiconv and openssl for example
- Test for curl will be failed, because of a bug #3053
It can detect a this type of problems
* [vcpkg_test_cmake] Add MODULE parameter to explicitly specify which type of integration to test.
* [bzip2] Fix casing of cmake module name