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.
* Xbox triplets should not support ports with only copyleft licenses
* Reverted ports that build with xbox currently
* Fix conflict and rebase
* Update baseline
* Update baseline
* Fix target export in osgearth config
* Update port
* Update ports/osgearth/fix-osgearth-config.patch
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Updated portfile and patches for the osgEarth 3.3 release
* Updated portfile and patches for the osgEarth 3.3 release
* Update version database
* Update vcpkg.json
* added license
* re-formatted
* re-formmatted again
* update port
* Update version database
* Update versions/baseline.json
upstream osgearth changed, set port back to 0
Co-authored-by: Frank <65999885+FrankXie05@users.noreply.github.com>
* updated version
* Update portfile.cmake
added cleanup
* updated version
* Update find-package.patch
fix Blosc
* Update find-package.patch
fix Blosc again
* version update
* Removed optional dependencies and submodule downloads
* update version
* Remove downloaded imgui in case it was not cleaned, better comments, and only download imgui if tools enabled
* updated version
* Update versions/o-/osgearth.json
* Update versions/o-/osgearth.json
Co-authored-by: Paul Levy <plevy@pelicanmapping.com>
Co-authored-by: Frank <65999885+FrankXie05@users.noreply.github.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* Revise portfile
* Plugins are a default feature; fix disabling
* Remove line continuations from pc file
vcpkg_fixup_pkgconfig cannot handle it.
* Control nvtt plugin via feature
* Control dae plugin, not find_package
* Control fontconfig via feature
Use CMake's (3.14) find module for which vcpkg provides a wrapper.
OSG links to Fontconfig::Fontconfig.
OSG default is to use Fontconfig except for ios and android.
* Control freetype via feature
Use CMake's find module for which vcpkg provides a wrapper.
OSG links to FREETYPE_LIBRARIES.
* Control RestHttpDevice via feature
Only this plugin needs boost.
* Drop unused liblas dependency
* Drop unused coin dependency
Coin was meant to be used for the inventor plugin,
but this plugin is disabled.
* Control sdl1 via feature
* Enable apps on linux
* Disable apps and docs for debug
* Drop example application patch
* Use option, not patch, to disable DLL versioning
* Fix osg plugin PDB installation
* Prefer <Pkg>_LIBRARIES for linking
<Pkg>_LIBRARIES carries debug+release config and transitive usage requirements.
* Curl patches are obsolete now.
We leverage CURL_LIBRARIES via link-libraries.patch.
* Add unofficial config export
* Use toolchain's windows version
Fixes mingw build.
* Avoid extra dependency lookups
* Silence warnings about plugin control variables
* Define OSG_LIBRARY_STATIC
* Revise copying of plugins
* Control OpenEXR via feature
Unblock uwp.
* Allow jasper without opengl
* [osgearth] Remove obsolete geos patching
The build uses exported geos config.
* [osgearth] Serialize linking to avoid OOM errors
* [osgearth] Fix minor portfile issues
* [osgearth] Prefer <Pkg>_LIBRARIES for linking
<Pkg>_LIBRARIES carries debug+release config and transitive usage requirements.
* [osgearth] Use unofficial osg config
* [osgearth] Fix lib installation dir
* [osgearth] Revise OSGEARTH_LIBRARY_STATIC
* [osgearth] Revise find_package patching
* [osgearth] Revise copying of plugins
* [osgearth] Disable tools for debug variant
* [osgearth] Control Blend2D via feature
* Update versions
* Fix plugin lookup
* Update versions
* CR request
* Update versions
* [osgearth] Remove tools from default features
* Update versions
* Update to v1.2.2
* Fix libwebpmux Windows name breakage
The pc file relies on the original output name:
No 'lib' prefix for MSVC. No 'liblib' prefix for mingw.
* Minor portfile updates
* Don't self-depend on default features
* Fix the libwebpmux feature
* Fix internal tool dependencies
* Drop Xrandr patch (fixed in freeglut)
* Drop X11 patch (fixed in freeglut)
* Cleanup CMake config patch, no extra case hacks
* Adjust webp lib names in skia, qt5-imageformats
* Adjust downstream WEBP cmake usage
* Debug qtimageformats [skip actions]
* [tiff] Drive-by fix for CMake warning
* Drop non-standard debug postfix
* Update indentation
* Update port versions
* Update versions
* Revert qtimageformat debug change
* Fixup qt5-imageformats change
* Update versions
* [osgearth] Change blend2d dependency to use the blend2d target and add missing dependency.
* Add quotes around 'dynamic', as requested by dg0yt
* Use CONFIG for blend2d, and combine with make-all-find-packages-required patch, as requested by @JackBoosY.
* initial update for osgearth 3.2 and updated patches
* Adding output from ./vcpkg x-add-version --all
* update version
* update version
* delete Remark
* update version
Co-authored-by: Paul Levy <plevy@pelicanmapping.com>
Co-authored-by: Jonliu1993 <13720414433@163.com>