Resolves https://github.com/microsoft/vcpkg/issues/35566
This pr includes https://github.com/microsoft/vcpkg/pull/31159 and
https://github.com/microsoft/vcpkg/pull/35399
Ports changed in this pr:
Most of these changes stem from the fact that protobuf now depends on
abseil and requires c++14 while ports consume protobuf using
`target_link_libraries(lib ${Protobuf_LIBRARIES})` instead of
`target_link_libraries(lib PUBLIC protobuf::libprotobuf)`.
* **abseil** Updated to 03/04/2024 to address MSVC build issue in
openvino
* **arcus** Updated to 4.13.2
* **braft** Patched to use `find_package(Protobuf` instead of custom
FindProtobuf module. also link with `PUBLIC protobuf::libprotobuf)`.
* **brpc** Patch several `target_link_library` calls to include `PUBLIC`
instead of nothing. Patch some warnings that are treated as errors by
some OSX compiler. Patch usage of changed protobuf features most
importantly removal of `SetLogHandler`, tbd whether this patch is
acceptable with upstream.
* **cld3** Use CONFIG to find protobuf to propagate dependent abseil
libs and cxx14 correctly.
* **ecal** Use CONFIG to find protobuf. Use PUBLIC when linking it.
* **gamenetworkingsockets** Add `-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=on`
for protobuf.
* **gz-transport12** Update to fix usage of removed protobuf features.
* **ignition-msgs1/5/6** Remove protobuf version check which is confused
by the duplicate versioning scheme (v25.1 vs. 3.25.1 vs 4.x). Why are we
even maintaining this no longer maintained major version of this port? I
would welcome a more strict policy on removing ports/adding them to
ci.baseline.txt
* **ignition-transport4/8/9** Same as above + cherry-pick a protobuf
deprecation patch.
* **libprotobuf-mutator** Cherry-pick two commits to address altered
protobuf functionality. Add CONFIG and PUBLIC to protobuf handling in
CMake.
* **marble** Explicitly set protobuf to not found since it is not part
of the vcpkg.json but is made available transitively but another
dependency.
* **mysql-connector-cpp** Several CMake changes and removal of
protobuf::SetLogHandler patch.
* **openvino** Find protobuf using CONFIG
* **osgearth** Link libraries using PUBLIC and link with
protobuf::libprotobuf instead of Protobuf_LIBRARIES
* **paraview** Find protobuf using CONFIG and remove version check
* **pulsar-client-cpp** Add protobuf linkage to PULSAR_OBJECT_LIB.
Simplify protoc patch. Remove -Werror.
* **shogun** Update and patch as much as possible. Users are required to
override bitsery version to 4.x to use shogun since it does not support
5.x provided by vcpkg. Therefore add shogun to ci.baseline.txt.
* **srpc** Update and fix static crt linkage. Patch protobuf linkage and
remove hardcoded `-std=c++11` flag. Protobuf requires c++14 and CMake
does not recognize the hardcoded c++11 flag and will therefore not add a
c++14 flag when the compiler uses c++14 by default.
* **upb** Update to align version with protobuf/grpc and use new github
repo. Patch usual CMake mess (they do not support CMake officially)
which should probably be `unofficial-upbConfig.cmake` but I didn't dig
into downstream implications so I kept it at `upbConfig.cmake` as
before.
* **utf8-range** Update to allign version with protobuf.
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.
<!-- 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/. -->
<!-- If this PR updates an existing port, please uncomment and fill out
this checklist: -->
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~SHA512s are updated for each updated download.~
- [ ] ~The "supports" clause reflects platforms that may be fixed by
this new version.~
- [ ] ~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~
- [ ] ~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) -->
We have an internal Microsoft report of dependency tracking tools complaining about requirements.txt in the Python backend of protobuf after a build. It's just as likely that similar alerts will be fired for other unused language backends. However, they're unused, so we can delete them.
* [protobuf] upgrade to latest release (v3.18.0)
This requires patching OpenCV as it uses a function removed in the
latest version of protobuf (FWIW, upstream OpenCV has a similar patch).
* The arcus port also needs a patch
* The caffe2 port also needs a patch
* The brpc port also needs a patch
* [protobuf] add support for mingw subsystem
* [protobuf] support for mingw
* Update the port version
* Update the baseline version
Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com>
* [vcpkg] Update vcpkg tool version 2021-05-05
* [vcpkg] Hotfix bug in Microsoft/vcpkg-tool#34
* [vcpkg-ci] Ignore results from non-target triplets
* [protobuf] Fix regression introduced in #16904
* [vcpkg] Fix bug where 'staticcrt' was ignored
Co-authored-by: Robert Schumacher <ras0219@outlook.com>
* [osgearth] Re-fix dependency gdal
* [gdal] Add dependency freexl on UNIX
* update version record
* fix patch
* convert to manifest
* update version record
* re-fix
* update version record
* add dependency freexl
* update version record
* Disable freexl
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Don't require freexl on Windows
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Revert osgearth change
* Fix the baseline version
* Fix osgearth baseline version
* [protouf] Automatic set protobuf_MODULE_COMPATIBLE to include the module file
* Set protobuf_MODULE_COMPATIBLE in wrapper
* Re-fix protobuf
* update version record
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com>
* Download pkgconfig for protobuf in download mode
* Bump version of protobuf
* Update ports/protobuf/CONTROL
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* [vcpkg/scripts/pkgconfig] rewrite pkgconfig check for libraries.
* [vcpkg/scripts/pkgconfig] fix more details.
* [vcpkg/scripts/pkgconfig] smaller improvements
* ws change to check functionallity of script for testing.
* [vcpkg/scripts/pkgconfig] update to latest test version
* Revert "ws change to check functionallity of script for testing."
This reverts commit 26269e9e77.
* [nettle] bump control for vcpkg_fixup_pkgconfig test
* [gmp] rerun CI to create new *.pc files
* [gmp/nettle] enable port debug
* [vcpkg/script/pkgconfig] fix path conversion regex for CI
* [CI|OSX] install pkg-config on osx
* [gmp/nettle] disable port debug
* [vcpkg/scripts/pkgconfig] update to latest version of x windows pr
* [zlib] add pkgconfig file
* [zstd] add fixup pkgconfig
* [libpng] add pc file installation
* [bzip2] install pc file and leave a TODO for somebody else ;)
* [bzip2] bump control
* [vcpkg/scripts/pkgconfig] skip checks if pkgconfig cannot be found.
- small bugfix in ignore flags regex
* retry zstd and zlib
* [libpng] retry by adding dl and m to system libraries for osx
* [libpng] add missing vcpkg_fixup_pkgconfig()
* [vcpkg/scripts/pkgconfig] unset var if found.
fixes checks for other configurations which will be always succesful otherwise
* [libpng] bump control
* [libpng] enable port debug to debug osx regression
* ws change to retrigger osx ci and hopeing that it works
* fix typo
* [libpng] remove -lm flag on apple platforms
* ws change to rerun some ports in ci for good measure after the merge with master
* Re-trigger CI test
* [zstd] add pkgconfig
* [zstd] correct debug link
* [vcpkg/script/pkgconfig] - add more search suffixes for static libs
- add additional debug messages for debuging
- fix unsetting of cache variables hiding issues with debug libraries
- fixed pkgconfig fix in the debug case
* [pcre] add pthread dependency to pcre
* [protobuf] fix pkgconfig
* include quotes around the prefix in the case the prefix path was quoted (fixes some regressions)
add option NOT_STATIC_PKGCONFIG to run pkg-config without the --static argument
* [ignition-msgs5] get rid of a dev warning
* [apr] fix apr regression
* [protobuf] fix protobuf regression
* [sdl1] fix regression due to variable expansion of pkg-config. Use similar regex to the library removal for ignored flags.
* [ignition] fix regression
* remove changes of zlib portfile.
* reset changes in osx ci pipeline
* add DISABLE_PARALLEL_CONFIGURE
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal <bion@microsoft.com>
* [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
* [protobuf] Update to 3.8.0
* [nlopt] set options off
* [shogun] should not use CMAKE_SYSTEM_PROCESSOR in port file
* [protobuf] Add Homepage
* [protobuf] turn warning flag off
* [protobuf] Fix orc build error on macOS
* bump shogun, fix nlopt