vcpkg/ports/shogun/portfile.cmake

80 lines
2.8 KiB
CMake
Raw Normal View History

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO shogun-toolbox/shogun
[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
REF 8f01b2b9e4de46a38bf70cdb603db75ebfd4b58b
SHA512 24bd0e3e2a599e81432f59bd6ebc514729453cfe808541f6842dc57e2eff329e52a3e3575580bf84b2d4768209fa2624295e4e9cdcdc656dd48a8ab66bc6dbc6
HEAD_REF master
[openexr,openimageio,suitesparse,theia] updates for non-win32 (#6371) * [openexr,openimageio,suitesparse,theia] updates for non-win32 * [theia] use only valid cmake symbols * [suitesparse] Fix build * [lapack] still not properly integrating with other ports * [lapack] intercept cmake module calls and substitute them with our defs * [suitesparse,clapack] fixes for proper integration * [ceres,clapack] bump CONTROL * [suitesparse] remove unnecessary defs * [clapack] improve wrapper logic * [WIN32] remove wrong symbol * [clapack] fix wrapper integration * [Accelerate] use best framework when available * [clapack] separate config from wrapper * [clapack] fix paths and filenames * [mlpack,armadillo,clapack] improve library handling * [mlpack] remove unnecessary cmake option * [clp,coinutils,osi,liblemon] dependencies of openmvg, improve compatibility with non-win32 * [openmvg] fix for case-sensitive filesystems * [clp,coinutils,osi] simplify CMakeLists removing many unnecessary steps * [sophus] Force rebuild * [theia] fixes for linux, part1 * [io2d] remove broken sintax * [fontconfig] bump version to remove CI cached failure * [theia] fixes for linux, part2 * [theia] remove unnecessary empty folders and comments from portfile * [theia] use correct build type removing forced vars in cmakelists.txt * [openmvg] add missing suitesparse target detection * [sophus] fix Suitesparse dependency * [sophus,openmvg] use suitesparse lowercase for module compatibility on case-sensitive filesystems * [suitesparse] fixes for case-sensitive filesystems * [openmvg] use correct Eigen3 name for case-sensitive filesystems * [sophus] trigger rebuild * [shogun] use modern vcpkg style * [shogun] add missing cmake system processor symbol
2019-06-01 06:48:17 +08:00
PATCHES
cmake.patch
eigen-3.4.patch
2020-09-12 03:48:42 +08:00
fix-ASSERT-not-found.patch
[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
fmt.patch
syntax.patch
remove-bitsery.patch
2024-08-03 15:41:25 +08:00
fix-build-error-with-fmt11.patch
)
2018-04-06 12:54:45 +08:00
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
vcpkg_add_to_path("${PYTHON3_DIR}")
2018-04-06 12:54:45 +08:00
# Shogun only checks libraries for symbols and assumes everything is fine.
# However openblas requires extra includes and mkl would require extra defines
# So get the needed flags via the pkg-config files.
x_vcpkg_pkgconfig_get_modules(PREFIX PC_BLAS_LAPACK MODULES lapack blas CFLAGS)
string(APPEND VCPKG_C_FLAGS_RELEASE " ${PC_BLAS_LAPACK_CFLAGS_RELEASE}")
string(APPEND VCPKG_CXX_FLAGS_RELEASE " ${PC_BLAS_LAPACK_CFLAGS_RELEASE}")
string(APPEND VCPKG_C_FLAGS_DEBUG " ${PC_BLAS_LAPACK_CFLAGS_DEBUG}")
string(APPEND VCPKG_CXX_FLAGS_DEBUG " ${PC_BLAS_LAPACK_CFLAGS_DEBUG}")
if(VCPKG_TARGET_IS_OSX)
# Eigen3 and accelerate disagree on prototypes for lapack generating compiler errors
set(extra_opts -DENABLE_EIGEN_LAPACK=OFF)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_META_EXAMPLES=OFF
-DBUILD_EXAMPLES=OFF
-DUSE_SVMLIGHT=OFF
-DENABLE_TESTING=OFF
-DLICENSE_GPL_SHOGUN=OFF
[openexr,openimageio,suitesparse,theia] updates for non-win32 (#6371) * [openexr,openimageio,suitesparse,theia] updates for non-win32 * [theia] use only valid cmake symbols * [suitesparse] Fix build * [lapack] still not properly integrating with other ports * [lapack] intercept cmake module calls and substitute them with our defs * [suitesparse,clapack] fixes for proper integration * [ceres,clapack] bump CONTROL * [suitesparse] remove unnecessary defs * [clapack] improve wrapper logic * [WIN32] remove wrong symbol * [clapack] fix wrapper integration * [Accelerate] use best framework when available * [clapack] separate config from wrapper * [clapack] fix paths and filenames * [mlpack,armadillo,clapack] improve library handling * [mlpack] remove unnecessary cmake option * [clp,coinutils,osi,liblemon] dependencies of openmvg, improve compatibility with non-win32 * [openmvg] fix for case-sensitive filesystems * [clp,coinutils,osi] simplify CMakeLists removing many unnecessary steps * [sophus] Force rebuild * [theia] fixes for linux, part1 * [io2d] remove broken sintax * [fontconfig] bump version to remove CI cached failure * [theia] fixes for linux, part2 * [theia] remove unnecessary empty folders and comments from portfile * [theia] use correct build type removing forced vars in cmakelists.txt * [openmvg] add missing suitesparse target detection * [sophus] fix Suitesparse dependency * [sophus,openmvg] use suitesparse lowercase for module compatibility on case-sensitive filesystems * [suitesparse] fixes for case-sensitive filesystems * [openmvg] use correct Eigen3 name for case-sensitive filesystems * [sophus] trigger rebuild * [shogun] use modern vcpkg style * [shogun] add missing cmake system processor symbol
2019-06-01 06:48:17 +08:00
-DLIBSHOGUN_BUILD_STATIC=ON
-DCMAKE_DISABLE_FIND_PACKAGE_ViennaCL=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_TFLogger=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_GLPK=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_CPLEX=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_ARPACK=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_Mosek=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_LpSolve=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_ColPack=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_ARPREC=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_CCache=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE
[many ports] improvements for linux/wsl (#6730) * [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
2019-06-21 10:11:54 +08:00
-DCMAKE_DISABLE_FIND_PACKAGE_CURL=TRUE
2020-08-28 13:13:05 +08:00
-DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=TRUE
[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
-DCMAKE_DISABLE_FIND_PACKAGE_bitsery=TRUE
-DINSTALL_TARGETS=shogun-static
${extra_opts}
[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
-DCMAKE_CXX_STANDARD=14 # protobuf
)
vcpkg_cmake_install()
[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
vcpkg_cmake_config_fixup()
file(REMOVE_RECURSE
# This directory is empty given the settings above
"${CURRENT_PACKAGES_DIR}/include/shogun/mathematics/linalg/backend"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
)
# Handle copyright
[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
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")