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.
* [ignition-cmake0, ignition-cmake2] Update hash
* x-add-version
* Fix other ignition SHAs and use vcpkg-port-config.cmake modern machinery.
* add license
* x-add-version
* format vcpkg.json
* x-add-version
* Add FILE_DISAMBIGUATOR
Co-authored-by: Lily Wang <v-lilywang@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [libp7client, libp7-baical] Combine identical ports and update to libp7client 5.6.
In a recent CI build, we started getting output like:
Installing package libp7-baical[core]:x86-windows...
The following files are already installed in C:/Dev/vcpkg/installed/x86-windows and are in conflict with libp7-baical:x86-windows
Installed by libp7client:x86-windows
bin/P7x32.dll
bin/P7x32.pdb
debug/bin/P7x32d.dll
debug/bin/P7x32d.pdb
include/P7/GTypes.h
include/P7/P7_Client.h
include/P7/P7_Cproxy.h
include/P7/P7_Extensions.h
include/P7/P7_Telemetry.h
include/P7/P7_Trace.h
It turns out that these ports are identical, they are just different versions of the same library. The libp7-baical version supported more platforms and was simpler, so took that one and updated it to a current version.
* [ignition-modularscripts, ignition-msgs1] Attempt to fix intermittent build failures by disabling parallel configure.
* Fix several "passing: remove from fail list."
* [akali] Disable parallel configure.
REGRESSION: akali:x64-windows. If expected, add akali:x64-windows=fail to .\scripts\ci.baseline.txt.
Attempts to fix:
CMake Error: Could not open file for write in copy operation C:/Dev/vcpkg/buildtrees/akali/src/fc94eb83a9-01654d3f7c.clean/include/akali_config.h.tmp
CMake Error: : System Error: Permission denied
CMake Error at CMakeLists.txt:20 (configure_file):
configure_file Problem configuring file
* [nvtt] Devendor libsquish
This was regressed by https://github.com/microsoft/vcpkg/pull/13674
REGRESSION: nvtt:x64-linux. If expected, add nvtt:x64-linux=fail to .\scripts\ci.baseline.txt.
REGRESSION: nvtt:x64-osx. If expected, add nvtt:x64-osx=fail to .\scripts\ci.baseline.txt.
REGRESSION: nvtt:x64-windows-static. If expected, add nvtt:x64-windows-static=fail to .\scripts\ci.baseline.txt.
REGRESSION: nvtt:x64-windows. If expected, add nvtt:x64-windows=fail to .\scripts\ci.baseline.txt.
Installing package nvtt[core]:x64-linux...
The following files are already installed in /mnt/vcpkg-ci/installed/x64-linux and are in conflict with nvtt:x64-linux
Installed by libsquish:x64-linux
debug/lib/libsquishd.a
include/squish.h
lib/libsquish.a
* [knet] Disable parallel configure.
REGRESSION: knet:x64-windows. If expected, add knet:x64-windows=fail to .\scripts\ci.baseline.txt.
CMake Error at src/CMakeLists.txt:1 (configure_file):
configure_file Problem configuring file
* [libnice] Diable parallel configure.
REGRESSION: libnice:x64-windows. If expected, add libnice:x64-windows=fail to .\scripts\ci.baseline.txt.
CMake Error at CMakeLists.txt:13 (configure_file):
configure_file Problem configuring file
As announced in https://community.gazebosim.org/t/important-gazebo-and-ignition-are-going-to-github/533,
the ignition project repositories have been migrated from BitBucket to GitHub.
This commit updates the ignition_modular_library helpers to use GitHub instead of BitBucket,
and also update the hashes of all the ignition ports as apparently the archive generated by GitHub
for releases are slightly different from the one generated by BitBucket.