From 3ce2887245a51b3623bda3bef8f1987a976edcfe Mon Sep 17 00:00:00 2001 From: Dzmitry Poloyko Date: Mon, 7 Dec 2020 12:27:39 +0300 Subject: [PATCH 1/2] GONRG-1256 Update google-cloud-cpp to 1.21.0 --- CMake/Build3rdParty.cmake | 4 +- CMake/BuildAbsl.cmake | 129 +++++++++++++++++++++++++++++++ CMake/BuildGoogleClient.cmake | 15 +++- CMake/Fetch3rdPartyInBuild.cmake | 6 +- 4 files changed, 147 insertions(+), 7 deletions(-) create mode 100644 CMake/BuildAbsl.cmake diff --git a/CMake/Build3rdParty.cmake b/CMake/Build3rdParty.cmake index 381766d2..603853b5 100644 --- a/CMake/Build3rdParty.cmake +++ b/CMake/Build3rdParty.cmake @@ -7,6 +7,7 @@ include(CMake/BuildAzure.cmake) include(CMake/BuildCurl.cmake) include(CMake/BuildLibUV.cmake) include(CMake/BuildLibreSSL.cmake) +include(CMake/BuildAbsl.cmake) include(CMake/BuildCrc32c.cmake) include(CMake/BuildGoogleClient.cmake) @@ -37,7 +38,8 @@ macro(build3rdparty) endif() if (NOT DISABLE_GCP_IOMANAGER) BuildLibreSSL() + BuildAbsl() BuildCrc32c() + #BuildGoogleClient() endif() - #BuildGoogleClient() endmacro() diff --git a/CMake/BuildAbsl.cmake b/CMake/BuildAbsl.cmake new file mode 100644 index 00000000..706a10f8 --- /dev/null +++ b/CMake/BuildAbsl.cmake @@ -0,0 +1,129 @@ +function(BuildAbsl) + if (WIN32) + list(APPEND ABSL_LIBS_LIST "lib/absl_bad_any_cast_impl.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_bad_optional_access.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_bad_variant_access.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_base.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_city.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_civil_time.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_cord.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_debugging_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_demangle_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_examine_stack.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_exponential_biased.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_failure_signal_handler.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_commandlineflag.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_commandlineflag_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_config.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_marshalling.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_parse.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_private_handle_accessor.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_program_name.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_reflection.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_usage.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_flags_usage_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_graphcycles_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_hash.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_hashtablez_sampler.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_int128.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_leak_check.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_leak_check_disable.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_log_severity.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_malloc_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_periodic_sampler.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_distributions.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_internal_distribution_test_util.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_internal_platform.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_internal_pool_urbg.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_internal_randen.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_internal_randen_hwaes.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_internal_randen_hwaes_impl.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_internal_randen_slow.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_internal_seed_material.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_seed_gen_exception.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_random_seed_sequences.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_raw_hash_set.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_raw_logging_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_scoped_set_env.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_spinlock_wait.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_stacktrace.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_status.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_statusor.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_strerror.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_strings.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_strings_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_str_format_internal.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_symbolize.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_synchronization.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_throw_delegate.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_time.lib") + list(APPEND ABSL_LIBS_LIST "lib/absl_time_zone.lib") + elseif (APPLE) + else() + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_bad_any_cast_impl.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_bad_optional_access.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_bad_variant_access.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_base.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_city.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_civil_time.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_cord.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_debugging_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_demangle_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_examine_stack.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_exponential_biased.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_failure_signal_handler.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_commandlineflag.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_commandlineflag_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_config.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_marshalling.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_parse.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_private_handle_accessor.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_program_name.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_reflection.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_usage.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_flags_usage_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_graphcycles_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_hash.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_hashtablez_sampler.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_int128.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_leak_check.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_leak_check_disable.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_log_severity.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_malloc_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_periodic_sampler.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_distributions.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_internal_distribution_test_util.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_internal_platform.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_internal_pool_urbg.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_internal_randen.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_internal_randen_hwaes.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_internal_randen_hwaes_impl.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_internal_randen_slow.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_internal_seed_material.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_seed_gen_exception.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_random_seed_sequences.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_raw_hash_set.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_raw_logging_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_scoped_set_env.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_spinlock_wait.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_stacktrace.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_status.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_statusor.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_strerror.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_strings.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_strings_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_str_format_internal.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_symbolize.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_synchronization.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_throw_delegate.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_time.a") + list(APPEND ABSL_LIBS_LIST "lib${LIBSUFFIX}/libabsl_time_zone.a") + endif() + + BuildExternal(absl ${absl_VERSION} "" ${absl_SOURCE_DIR} "${ABSL_LIBS_LIST}" "" "" "" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON;-DBUILD_TESTING=OFF;-DABSL_USE_GOOGLETEST_HEAD=OFF;-DABSL_RUN_TESTS=OFF") + set(absl_INSTALL_INT_CONFIG ${absl_INSTALL_INT_CONFIG} PARENT_SCOPE) +endfunction() diff --git a/CMake/BuildGoogleClient.cmake b/CMake/BuildGoogleClient.cmake index f2d30ae3..31a4a172 100644 --- a/CMake/BuildGoogleClient.cmake +++ b/CMake/BuildGoogleClient.cmake @@ -48,7 +48,6 @@ function(addGoogleCloudToTarget target) ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/object_access_control.cc ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/object_metadata.cc ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/format_time_point.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/access_control_common.cc ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/parse_rfc3339.cc ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/hmac_key_metadata.cc ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/notification_requests.cc @@ -80,8 +79,18 @@ function(addGoogleCloudToTarget target) ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/backoff_policy.cc ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/retry_object_read_source.cc ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/retry_resumable_upload_session.cc - #${google-cloud-cpp_SOURCE_DIR}/google/cloud/ - #${google-cloud-cpp_SOURCE_DIR}/google/cloud/ + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/const_buffer.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/patch_builder.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/object_metadata_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/bucket_access_control_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/bucket_metadata_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/hmac_key_metadata_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/notification_metadata_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/object_access_control_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/service_account_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/access_control_common_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/lifecycle_rule_parser.cc + ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/api_client_header.cc #${google-cloud-cpp_SOURCE_DIR}/google/cloud/ #${google-cloud-cpp_SOURCE_DIR}/google/cloud/ #${google-cloud-cpp_SOURCE_DIR}/google/cloud/ diff --git a/CMake/Fetch3rdPartyInBuild.cmake b/CMake/Fetch3rdPartyInBuild.cmake index 8d9ade6c..9ee16f67 100644 --- a/CMake/Fetch3rdPartyInBuild.cmake +++ b/CMake/Fetch3rdPartyInBuild.cmake @@ -79,12 +79,12 @@ function(Fetch3rdParty) Fetch3rdParty_Package(libuv 1.34.1 https://github.com/libuv/libuv/archive/v1.34.1.tar.gz SHA256=e3e0105c9b26e181e0547607cb6893462beb0c652674c3795766b2e5555288b3) Fetch3rdParty_Package(zlib 1.2.11 http://zlib.net/zlib-1.2.11.tar.gz SHA256=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1) Fetch3rdParty_Package(libressl 3.3.0 https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.3.0.tar.gz SHA256=728a5edc63ccb418e9166bed11d4b43e9629ff1c4d42a39b649347a20416fad6) - Fetch3rdParty_Package(absl 20200225.2 https://codeload.github.com/abseil/abseil-cpp/tar.gz/20200225.2 SHA256=f41868f7a938605c92936230081175d1eae87f6ea2c248f41077c8f88316f111) + Fetch3rdParty_Package(absl 20200923.2 https://codeload.github.com/abseil/abseil-cpp/tar.gz/20200923.2 SHA256=bf3f13b13a0095d926b25640e060f7e13881bd8a792705dd9e161f3c2b9aa976) Fetch3rdParty_Package(crc32c 1.1.1 https://codeload.github.com/google/crc32c/tar.gz/1.1.1 SHA256=a6533f45b1670b5d59b38a514d82b09c6fb70cc1050467220216335e873074e8) - Fetch3rdParty_Package(google-cloud-cpp 1.14.0 https://codeload.github.com/googleapis/google-cloud-cpp/tar.gz/v1.14.0 SHA256=839b2d4dcb36a671734dac6b30ea8c298bbeaafcf7a45ee4a7d7aa5986b16569) + Fetch3rdParty_Package(google-cloud-cpp 1.21.0 https://codeload.github.com/googleapis/google-cloud-cpp/tar.gz/v1.21.0 SHA256=14bf9bf97431b890e0ae5dca8f8904841d4883b8596a7108a42f5700ae58d711) Fetch3rdParty_File(testng java 6.14.3 jar https://repo1.maven.org/maven2/org/testng/testng/6.14.3/testng-6.14.3.jar MD5=9f17a8f9e99165e148c42b21f4b63d7c) Fetch3rdParty_File(jcommander java 1.72 jar https://repo1.maven.org/maven2/com/beust/jcommander/1.72/jcommander-1.72.jar MD5=9fde6bc0ba1032eceb7267fd1ad1657b) - Fetch3rdParty_FileTarget(google_nlohmann google/cloud/storage/internal nlohmann_json.hpp 3.4.0 https://raw.githubusercontent.com/nlohmann/json/v3.4.0/single_include/nlohmann/json.hpp MD5=27f3760c1d3a0fff7d8a2407d8db8f9d) + Fetch3rdParty_FileTarget(google_nlohmann nlohmann json.hpp 3.9.1 https://raw.githubusercontent.com/nlohmann/json/v3.9.1/single_include/nlohmann/json.hpp MD5=5eabadfb8cf8fe1bf0811535c65f027f) endfunction() -- GitLab From ce076571e987a2deda21b31fea63e758ee620c1e Mon Sep 17 00:00:00 2001 From: Dzmitry Poloyko Date: Mon, 7 Dec 2020 23:15:35 +0300 Subject: [PATCH 2/2] GONRG-1256 Fixed CentOS build after update google-cloud-cpp to 1.21.0 --- CMake/Build3rdParty.cmake | 2 +- CMake/BuildGoogleClient.cmake | 142 ++++++++-------------------------- src/OpenVDS/CMakeLists.txt | 12 +-- 3 files changed, 40 insertions(+), 116 deletions(-) diff --git a/CMake/Build3rdParty.cmake b/CMake/Build3rdParty.cmake index 603853b5..e6c1b29f 100644 --- a/CMake/Build3rdParty.cmake +++ b/CMake/Build3rdParty.cmake @@ -40,6 +40,6 @@ macro(build3rdparty) BuildLibreSSL() BuildAbsl() BuildCrc32c() - #BuildGoogleClient() + BuildGoogleClient() endif() endmacro() diff --git a/CMake/BuildGoogleClient.cmake b/CMake/BuildGoogleClient.cmake index 31a4a172..9683ed9c 100644 --- a/CMake/BuildGoogleClient.cmake +++ b/CMake/BuildGoogleClient.cmake @@ -1,116 +1,40 @@ -function(addGoogleCloudToTarget target) - configure_file( - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/build_info.cc.in - ${CMAKE_BINARY_DIR}/google-cloud-cpp/internal/build_info.cc - ) +function(BuildGoogleClient) + if (WIN32) + list(APPEND GOOGLE_CLOUD_LIBS_LIST "lib/google_cloud_cpp_common.lib") + list(APPEND GOOGLE_CLOUD_LIBS_LIST "lib/storage_client.lib") + elseif (APPLE) + else() + list(APPEND GOOGLE_CLOUD_LIBS_LIST "lib${LIBSUFFIX}/libgoogle_cloud_cpp_common.a") + list(APPEND GOOGLE_CLOUD_LIBS_LIST "lib${LIBSUFFIX}/libstorage_client.a") + endif() - target_sources(${target} PRIVATE - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/oauth2/anonymous_credentials.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/oauth2/authorized_user_credentials.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/oauth2/compute_engine_credentials.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/oauth2/credentials.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/oauth2/google_application_default_credentials_file.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/oauth2/google_credentials.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/oauth2/refreshing_credentials_wrapper.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/oauth2/service_account_credentials.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/status.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/openssl_util.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/throw_delegate.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/curl_handle.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/curl_download_request.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/http_response.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/getenv.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/curl_handle_factory.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/curl_request.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/curl_client.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/curl_request_builder.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/compute_engine_util.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/filesystem.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/version.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/version.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/compiler_info.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/binary_data_as_debug_string.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/curl_wrappers.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/log.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/strerror.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/well_known_parameters.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/random.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/bucket_acl_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/bucket_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/iam_policy.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/default_object_acl_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/well_known_headers.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/object_acl_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/hmac_key_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/object_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/sha256_hash.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/metadata_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/object_access_control.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/object_metadata.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/format_time_point.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/parse_rfc3339.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/hmac_key_metadata.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/notification_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/notification_metadata.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/hashing_options.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/resumable_upload_session.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/service_account_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/sign_blob_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/curl_resumable_upload_session.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/bucket_access_control.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/bucket_metadata.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/iam_bindings.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/lifecycle_rule.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/client.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/client_options.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/hash_validator.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/object_streambuf.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/logging_client.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/policy_document_request.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/retry_client.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/signed_url_requests.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/object_stream.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/hash_validator_impl.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/iam_policy.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/empty_response.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/service_account.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/logging_resumable_upload_session.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/idempotency_policy.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/backoff_policy.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/retry_object_read_source.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/retry_resumable_upload_session.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/const_buffer.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/patch_builder.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/object_metadata_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/bucket_access_control_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/bucket_metadata_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/hmac_key_metadata_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/notification_metadata_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/object_access_control_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/service_account_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/access_control_common_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/lifecycle_rule_parser.cc - ${google-cloud-cpp_SOURCE_DIR}/google/cloud/internal/api_client_header.cc - #${google-cloud-cpp_SOURCE_DIR}/google/cloud/ - #${google-cloud-cpp_SOURCE_DIR}/google/cloud/ - #${google-cloud-cpp_SOURCE_DIR}/google/cloud/ - ${CMAKE_BINARY_DIR}/google-cloud-cpp/internal/build_info.cc - ) + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DCMAKE_POSITION_INDEPENDENT_CODE=ON") + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DBUILD_TESTING=OFF") + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DGOOGLE_CLOUD_CPP_ENABLE=storage") + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DGOOGLE_CLOUD_CPP_ENABLE_GRPC=OFF") - if (MSVC AND (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")) - target_sources(${target} PRIVATE ${google-cloud-cpp_SOURCE_DIR}/google/cloud/terminate_handler.cc) + list(APPEND GOOGLE_CLOUD_DEPENDS absl) + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-Dabsl_DIR=${absl_INSTALL_INT_CONFIG}/lib/cmake/absl") + + list(APPEND GOOGLE_CLOUD_DEPENDS crc32c) + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DCrc32c_DIR=${crc32c_INSTALL_INT_CONFIG}/lib/cmake/Crc32c") + + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DGOOGLE_CLOUD_CPP_NLOHMANN_JSON_HEADER=${google_nlohmann_SOURCE_DIR}") + + if (BUILD_CURL) + list(APPEND GOOGLE_CLOUD_DEPENDS curl) + if (WIN32) + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DCURL_DIR=${curl_INSTALL_INT_CONFIG}/lib/cmake/CURL") + endif() endif() - if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - set_source_files_properties(${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/object_streambuf.cc PROPERTIES COMPILE_FLAGS /WX-) - else() - set_source_files_properties(${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/openssl_util.cc PROPERTIES COMPILE_FLAGS -Wno-pedantic) - set_source_files_properties(${google-cloud-cpp_SOURCE_DIR}/google/cloud/storage/internal/bucket_requests.cc PROPERTIES COMPILE_FLAGS -Wno-pedantic) + if (BUILD_ZLIB) + list(APPEND GOOGLE_CLOUD_DEPENDS zlib) + if (WIN32) + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DZLIB_INCLUDE_DIR=${ZLIB_INSTALL_INC_DIR}") + list(APPEND GOOGLE_CLOUD_CMAKE_ARGS "-DZLIB_LIBRARY=${ZLIB_INSTALL_LIB_DIR}") + endif() endif() - target_include_directories(${target} PRIVATE - ${google-cloud-cpp_SOURCE_DIR} - ${google_nlohmann_SOURCE_DIR} - ${absl_SOURCE_DIR} - ) + BuildExternal(google-cloud-cpp ${google-cloud-cpp_VERSION} "${GOOGLE_CLOUD_DEPENDS}" ${google-cloud-cpp_SOURCE_DIR} "${GOOGLE_CLOUD_LIBS_LIST}" "" "" "" "${GOOGLE_CLOUD_CMAKE_ARGS}") endfunction() diff --git a/src/OpenVDS/CMakeLists.txt b/src/OpenVDS/CMakeLists.txt index 36a8b51d..ae662abb 100644 --- a/src/OpenVDS/CMakeLists.txt +++ b/src/OpenVDS/CMakeLists.txt @@ -224,12 +224,12 @@ endif() if (DISABLE_GCP_IOMANAGER) target_compile_definitions(openvds_objects PRIVATE OPENVDS_NO_GCP_IOMANAGER) set_source_files_properties(IO/IOManagerGoogle.cpp PROPERTIES HEADER_FILE_ONLY TRUE) -else() - if (WIN32 AND NOT USE_LIBRESSL) - find_package(OpenSSL REQUIRED) - target_link_libraries(openvds_objects PUBLIC OpenSSL::SSL OpenSSL::Crypto) - endif() - addGoogleCloudToTarget(openvds_objects) +# else() +# if (WIN32 AND NOT USE_LIBRESSL) +# find_package(OpenSSL REQUIRED) +# target_link_libraries(openvds_objects PUBLIC OpenSSL::SSL OpenSSL::Crypto) +# endif() +# addGoogleCloudToTarget(openvds_objects) endif() if (WIN32) -- GitLab