diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e7dfa49..4a45b521 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,9 +122,7 @@ ExternalProject_Add(grpc-repo TEST_COMMAND "" CMAKE_CACHE_ARGS -DCMAKE_CXX_STANDARD:STRING=${TRITON_MIN_CXX_STANDARD} - # TODO(nnoble): remove this patch when the fix for https://github.com/abseil/abseil-cpp/issues/1769 is integrated within our dependencies - PATCH_COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/tools/patch.py apply -i -d ${CMAKE_CURRENT_BINARY_DIR}/grpc-repo/src/grpc/third_party/abseil-cpp ${CMAKE_CURRENT_SOURCE_DIR}/tools/abseil_no_rebuild.patch - COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/tools/install_src.py --src ${INSTALL_SRC_DEST_ARG} --dest-basename=grpc_1.54.3 + PATCH_COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/tools/install_src.py --src ${INSTALL_SRC_DEST_ARG} --dest-basename=grpc_1.81.1 ) # # Build nlohmann/json @@ -171,7 +169,7 @@ ExternalProject_Add(absl # ExternalProject_Add(protobuf PREFIX protobuf - SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/grpc-repo/src/grpc/third_party/protobuf/cmake" + SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/grpc-repo/src/grpc/third_party/protobuf" EXCLUDE_FROM_ALL ON DOWNLOAD_COMMAND "" CMAKE_CACHE_ARGS @@ -230,8 +228,10 @@ ExternalProject_Add(googletest # platform if (WIN32) set(_FINDPACKAGE_PROTOBUF_CONFIG_DIR "${TRITON_THIRD_PARTY_INSTALL_PREFIX}/protobuf/cmake") + set(_FINDPACKAGE_UTF8_RANGE_CONFIG_DIR "${TRITON_THIRD_PARTY_INSTALL_PREFIX}/protobuf/cmake/utf8_range") else() set(_FINDPACKAGE_PROTOBUF_CONFIG_DIR "${TRITON_THIRD_PARTY_INSTALL_PREFIX}/protobuf/${LIB_DIR}/cmake/protobuf") + set(_FINDPACKAGE_UTF8_RANGE_CONFIG_DIR "${TRITON_THIRD_PARTY_INSTALL_PREFIX}/protobuf/${LIB_DIR}/cmake/utf8_range") endif() # # Build c-ares project from grpc-repo @@ -282,6 +282,7 @@ ExternalProject_Add(grpc -Dc-ares_DIR:PATH=${TRITON_THIRD_PARTY_INSTALL_PREFIX}/c-ares/${LIB_DIR}/cmake/c-ares -Dre2_DIR:PATH=${TRITON_THIRD_PARTY_INSTALL_PREFIX}/re2/${LIB_DIR}/cmake/re2 -DProtobuf_DIR:PATH=${_FINDPACKAGE_PROTOBUF_CONFIG_DIR} + -Dutf8_range_DIR:PATH=${_FINDPACKAGE_UTF8_RANGE_CONFIG_DIR} ${_CMAKE_ARGS_OPENSSL_ROOT_DIR} ${_CMAKE_ARGS_CMAKE_TOOLCHAIN_FILE} ${_CMAKE_ARGS_VCPKG_TARGET_TRIPLET} @@ -416,7 +417,8 @@ set(GCS_CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${TRITON_THIRD_PARTY_INSTALL_PREFIX}/crc32c/${LIB_DIR}/cmake/Crc32c ${TRITON_THIRD_PARTY_INSTALL_PREFIX}/grpc/lib/cmake/grpc ${TRITON_THIRD_PARTY_INSTALL_PREFIX}/nlohmann_json/share/cmake/nlohmann_json - ${_FINDPACKAGE_PROTOBUF_CONFIG_DIR}) + ${_FINDPACKAGE_PROTOBUF_CONFIG_DIR} + ${_FINDPACKAGE_UTF8_RANGE_CONFIG_DIR}) # # Build google-cloud-cpp # @@ -431,6 +433,7 @@ ExternalProject_Add(google-cloud-cpp ${_CMAKE_ARGS_VCPKG_TARGET_TRIPLET} -DCMAKE_CXX_STANDARD:STRING=${TRITON_MIN_CXX_STANDARD} -DGOOGLE_CLOUD_CPP_DEPENDENCY_PROVIDER:STRING=package + -DGOOGLE_CLOUD_CPP_ENABLE:STRING=storage -DBUILD_TESTING:BOOL=OFF -DGOOGLE_CLOUD_CPP_WITH_MOCKS:BOOL=OFF -DCMAKE_PREFIX_PATH:PATH=${GCS_CMAKE_PREFIX_PATH} @@ -438,6 +441,7 @@ ExternalProject_Add(google-cloud-cpp -DCMAKE_INSTALL_PREFIX:PATH=${TRITON_THIRD_PARTY_INSTALL_PREFIX}/google-cloud-cpp -Dnlohmann_json_DIR:PATH=${TRITON_THIRD_PARTY_INSTALL_PREFIX}/nlohmann_json/share/cmake/nlohmann_json -DProtobuf_DIR:PATH=${_FINDPACKAGE_PROTOBUF_CONFIG_DIR} + -Dutf8_range_DIR:PATH=${_FINDPACKAGE_UTF8_RANGE_CONFIG_DIR} -DCrc32c_DIR:PATH=${TRITON_THIRD_PARTY_INSTALL_PREFIX}/crc32c/${LIB_DIR}/cmake/Crc32c PATCH_COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/tools/install_src.py --src ${INSTALL_SRC_DEST_ARG} DEPENDS grpc c-ares protobuf crc32c absl nlohmann-json @@ -556,9 +560,11 @@ if (NOT WIN32) ${_CMAKE_ARGS_VCPKG_TARGET_TRIPLET} -DBUILD_SHARED_LIBS:STRING=OFF -DBUILD_TESTING:BOOL=OFF + -DWITH_FUNC_TESTS:BOOL=OFF -DWITH_EXAMPLES:BOOL=OFF -DWITH_BENCHMARK:BOOL=OFF - -DWITH_ABSEIL:BOOL=OFF + -DWITH_ABSEIL:BOOL=ON + -Dabsl_DIR:PATH=${TRITON_THIRD_PARTY_INSTALL_PREFIX}/absl/${LIB_DIR}/cmake/absl -DWITH_OTLP_GRPC:BOOL=OFF -DWITH_OTLP_HTTP:BOOL=ON -DOPENTELEMETRY_INSTALL:BOOL=ON @@ -568,6 +574,6 @@ if (NOT WIN32) -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:PATH=${TRITON_THIRD_PARTY_INSTALL_PREFIX}/opentelemetry-cpp PATCH_COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/tools/install_src.py --src ${INSTALL_SRC_DEST_ARG} - DEPENDS grpc nlohmann-json curl protobuf + DEPENDS grpc nlohmann-json curl protobuf absl ) endif() diff --git a/tools/abseil_no_rebuild.patch b/tools/abseil_no_rebuild.patch deleted file mode 100644 index 0e5b0b37..00000000 --- a/tools/abseil_no_rebuild.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- CMakeLists.txt 2024-10-11 14:53:24.305084638 -0700 -+++ CMakeLists.txt 2024-10-11 14:53:35.288981516 -0700 -@@ -214,6 +214,7 @@ - PATTERN "*.h" - PATTERN "copts" EXCLUDE - PATTERN "testdata" EXCLUDE -+ PATTERN "options.h" EXCLUDE - ) - - file(READ "absl/base/options.h" ABSL_INTERNAL_OPTIONS_H_CONTENTS) -@@ -230,7 +231,17 @@ - ABSL_INTERNAL_OPTIONS_H_PINNED - "${ABSL_INTERNAL_OPTIONS_H_CONTENTS}") - endif() -- file(WRITE "${CMAKE_BINARY_DIR}/options-pinned.h" "${ABSL_INTERNAL_OPTIONS_H_PINNED}") -+ set(ABSL_INTERNAL_OPTIONS_H_PINNED_GENERATE TRUE) -+ if (EXISTS "${CMAKE_BINARY_DIR}/options-pinned.h") -+ file(READ "${CMAKE_BINARY_DIR}/options-pinned.h" ABSL_INTERNAL_OPTIONS_PINNED_H_CONTENTS) -+ if ("${ABSL_INTERNAL_OPTIONS_H_PINNED}" STREQUAL "${ABSL_INTERNAL_OPTIONS_PINNED_H_CONTENTS}") -+ set(ABSL_INTERNAL_OPTIONS_H_PINNED_GENERATE FALSE) -+ endif() -+ endif() -+ -+ if (ABSL_INTERNAL_OPTIONS_H_PINNED_GENERATE) -+ file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/options-pinned.h" CONTENT "${ABSL_INTERNAL_OPTIONS_H_PINNED}") -+ endif() - - install(FILES "${CMAKE_BINARY_DIR}/options-pinned.h" - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/absl/base