vcpkg/ports/braft/export-target.patch

73 lines
2.1 KiB
Diff
Raw Normal View History

[braft] --triplet=arm64-linux bugs (#37062) <!-- 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. - [ ] 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. - [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. END OF PORT UPDATE CHECKLIST (delete this line) --> <!-- 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: FredyVia <fredyvia@qq.com>
2024-03-08 15:02:31 +08:00
diff --git a/CMakeLists.txt b/CMakeLists.txt
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) 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.
2024-06-22 04:39:50 +08:00
index 3d75dd5..090a02e 100644
[braft] --triplet=arm64-linux bugs (#37062) <!-- 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. - [ ] 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. - [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. END OF PORT UPDATE CHECKLIST (delete this line) --> <!-- 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: FredyVia <fredyvia@qq.com>
2024-03-08 15:02:31 +08:00
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) 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.
2024-06-22 04:39:50 +08:00
@@ -99,7 +99,7 @@ if(BRPC_WITH_GLOG)
[braft] --triplet=arm64-linux bugs (#37062) <!-- 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. - [ ] 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. - [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. END OF PORT UPDATE CHECKLIST (delete this line) --> <!-- 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: FredyVia <fredyvia@qq.com>
2024-03-08 15:02:31 +08:00
${OPENSSL_LIBRARIES}
${OPENSSL_CRYPTO_LIBRARY}
dl
- z
+ ZLIB::ZLIB
)
else()
set(DYNAMIC_LIB
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) 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.
2024-06-22 04:39:50 +08:00
@@ -111,7 +111,7 @@ else()
[braft] --triplet=arm64-linux bugs (#37062) <!-- 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. - [ ] 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. - [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. END OF PORT UPDATE CHECKLIST (delete this line) --> <!-- 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: FredyVia <fredyvia@qq.com>
2024-03-08 15:02:31 +08:00
${OPENSSL_LIBRARIES}
${OPENSSL_CRYPTO_LIBRARY}
dl
- z
+ ZLIB::ZLIB
)
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) 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.
2024-06-22 04:39:50 +08:00
index 78adc56..50cffc6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -19,8 +19,10 @@ add_library(braft-static STATIC $<TARGET_OBJECTS:OBJ_LIB>)
endif()
if (BUILD_SHARED_LIBS)
+target_include_directories(braft-shared PUBLIC $<INSTALL_INTERFACE:include>)
target_link_libraries(braft-shared PUBLIC ${DYNAMIC_LIB})
else()
+target_include_directories(braft-static PUBLIC $<INSTALL_INTERFACE:include>)
target_link_libraries(braft-static PUBLIC ${DYNAMIC_LIB})
endif()
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) 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.
2024-06-22 04:39:50 +08:00
@@ -31,15 +33,32 @@ SET_TARGET_PROPERTIES(braft-shared PROPERTIES OUTPUT_NAME braft CLEAN_DIRECT_OUT
endif()
if (NOT BUILD_SHARED_LIBS)
-install(TARGETS braft-static
+install(TARGETS braft-static EXPORT unofficial-braftTargets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LIBSUFFIX}
ARCHIVE DESTINATION lib${LIBSUFFIX}
)
else()
-install(TARGETS braft-shared
+install(TARGETS braft-shared EXPORT unofficial-braftTargets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LIBSUFFIX}
ARCHIVE DESTINATION lib${LIBSUFFIX}
)
endif()
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-braft-config.cmake"
+[[include(CMakeFindDependencyMacro)
[braft] --triplet=arm64-linux bugs (#37062) <!-- 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. - [ ] 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. - [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. END OF PORT UPDATE CHECKLIST (delete this line) --> <!-- 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: FredyVia <fredyvia@qq.com>
2024-03-08 15:02:31 +08:00
+find_dependency(ZLIB)
+find_dependency(gflags CONFIG)
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) 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.
2024-06-22 04:39:50 +08:00
+find_dependency(Protobuf CONFIG)
+file(GLOB TARGET_FILES "${CMAKE_CURRENT_LIST_DIR}/unofficial-braftTargets.cmake")
+foreach (TARGET_FILE ${TARGET_FILES})
+ include("${TARGET_FILE}")
+endforeach()
+]])
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-braft-config.cmake" DESTINATION share/unofficial-braft)
+
+install(EXPORT unofficial-braftTargets
+ NAMESPACE unofficial::braft::
+ DESTINATION share/unofficial-braft
+)