kou commented on code in PR #36835: URL: https://github.com/apache/arrow/pull/36835#discussion_r1295484528
########## cpp/cmake_modules/ThirdpartyToolchain.cmake: ########## @@ -5039,6 +5055,114 @@ if(ARROW_S3) endif() endif() +# ---------------------------------------------------------------------- +# Azure SDK for C++ + +macro(build_azure_sdk) + message(STATUS "Building Azure SDK for C++ from source") + + find_curl() + find_package(LibXml2 REQUIRED) + add_custom_target(azure_sdk_dependencies) Review Comment: It seems that we can remove this. ```suggestion ``` ########## cpp/cmake_modules/FindAzure.cmake: ########## @@ -0,0 +1,56 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +if(Azure_FOUND) + return() +endif() + +set(find_package_args) +list(APPEND find_package_args + CONFIG + # Avoid finding cmake files in local copies of the Azure SDK for C++. + # e.g. the extracted copy from the previous build. + NO_CMAKE_PACKAGE_REGISTRY +) +if(Azure_FIND_QUIETLY) + list(APPEND find_package_args QUIET) +endif() + +if(Azure_FIND_REQUIRED) + list(APPEND find_package_args REQUIRED) +endif() + +find_package(azure-core-cpp ${find_package_args}) +find_package(azure-identity-cpp ${find_package_args}) +find_package(azure-storage-blobs-cpp ${find_package_args}) +find_package(azure-storage-common-cpp ${find_package_args}) +find_package(azure-storage-files-datalake-cpp ${find_package_args}) + +if(azure-core-cpp_FOUND AND azure-identity-cpp_FOUND AND azure-storage-blobs-cpp_FOUND + AND azure-storage-common-cpp_FOUND AND azure-storage-files-datalake-cpp_FOUND) + list(APPEND + AZURE_SDK_LINK_LIBRARIES + Azure::azure-core + Azure::azure-identity + Azure::azure-storage-blobs + Azure::azure-storage-common + Azure::azure-storage-files-datalake + ) + set(Azure_FOUND TRUE) +else() + set(Azure_FOUND FALSE) +endif() Review Comment: We can use `find_package_handle_standard_args()` to set `Azure_FOUND`: https://cmake.org/cmake/help/latest/module/FindPackageHandleStandardArgs.html (BTW, can we use `azure-storage-files-datalake`s version for the target version?) ```suggestion find_package_handle_standard_args( Azure REQUIRED_VARS azure-core-cpp_FOUND azure-identity-cpp_FOUND azure-storage-blobs-cpp_FOUND azure-storage-common-cpp_FOUND azure-storage-files-datalake-cpp_FOUND VERSION_VAR azure-storage-files-datalake-cpp_VERSION) ``` I think that we don't need to define `AZURE_SDK_LINK_LIBRARIES` because CMake target names are same as vendored version. (We can defined it in `ThirdpartyToolchain.cmake`.) ########## cpp/cmake_modules/ThirdpartyToolchain.cmake: ########## @@ -5039,6 +5054,154 @@ if(ARROW_S3) endif() endif() +# ---------------------------------------------------------------------- +# Azure SDK for C++ + +macro(build_azuresdk) + message(STATUS "Building Azure C++ SDK from source") + + find_curl() + find_package(LibXml2 REQUIRED) + add_custom_target(azure_sdk_dependencies) + + if(NOT OpenSSL_FOUND) + resolve_dependency(OpenSSL HAVE_ALT REQUIRED_VERSION + ${ARROW_OPENSSL_REQUIRED_VERSION}) + endif() + + set(AZURESDK_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/azuresdk_ep-install") + set(AZURESDK_INCLUDE_DIR "${AZURESDK_PREFIX}/include") + set(AZURESDK_LIB_DIR "lib") + + set(AZURESDK_COMMON_CMAKE_ARGS + ${EP_COMMON_CMAKE_ARGS} + "-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>" + "-DCMAKE_PREFIX_PATH=${AZURESDK_PREFIX}" + -DBUILD_SHARED_LIBS=OFF + -DCMAKE_INSTALL_LIBDIR=${AZURESDK_LIB_DIR} + -DDISABLE_AZURE_CORE_OPENTELEMETRY=ON + -DENABLE_TESTING=OFF + -DENABLE_UNITY_BUILD=ON + -DWARNINGS_AS_ERRORS=OFF) + + STRING(REPLACE "." ";" OPENSSL_VERSION_ELEMENTS_LIST ${OPENSSL_VERSION}) + list(GET OPENSSL_VERSION_ELEMENTS_LIST 0 OPENSSL_VERSION_MAJOR) + if(OPENSSL_VERSION_MAJOR EQUAL 1) + list(APPEND + AZURESDK_COMMON_CMAKE_ARGS + -DVCPKG_OVERLAY_PORTS=${CMAKE_CURRENT_BINARY_DIR}/azuresdk_ep-prefix/src/azuresdk_ep/vcpkg-custom-ports) + elseif(OPENSSL_VERSION_MAJOR EQUAL 3) + else() + message(FATAL_ERROR "Unknown OpenSSL version: ${OPENSSL_VERSION}") + endif() + + file(MAKE_DIRECTORY ${AZURESDK_INCLUDE_DIR}) + set(AZURE_CORE_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-core${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_IDENTITY_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-identity${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_BLOBS_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-blobs${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_COMMON_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-common${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-files-datalake${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + externalproject_add(azuresdk_ep + ${EP_COMMON_OPTIONS} + INSTALL_DIR ${AZURESDK_PREFIX} + URL ${ARROW_AZURESDK_URL} + URL_HASH "SHA256=${ARROW_AZURE_SDK_BUILD_SHA256_CHECKSUM}" + CMAKE_ARGS ${AZURESDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AZURE_CORE_STATIC_LIBRARY} + ${AZURE_IDENTITY_STATIC_LIBRARY} + ${AZURE_STORAGE_BLOBS_STATIC_LIBRARY} + ${AZURE_STORAGE_COMMON_STATIC_LIBRARY} + ${AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY} + DEPENDS azure_sdk_dependencies) + add_library(Azure::azure-core STATIC IMPORTED) + set_target_properties(Azure::azure-core + PROPERTIES IMPORTED_LOCATION ${AZURE_CORE_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + ${AZURESDK_INCLUDE_DIR}) + set_property(TARGET Azure::azure-core + PROPERTY INTERFACE_LINK_LIBRARIES CURL::libcurl OpenSSL::Crypto OpenSSL::SSL) + add_dependencies(Azure::azure-core azuresdk_ep) + + add_library(Azure::azure-identity STATIC IMPORTED) + set_target_properties(Azure::azure-identity + PROPERTIES IMPORTED_LOCATION ${AZURE_IDENTITY_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + ${AZURESDK_INCLUDE_DIR}) + set_property(TARGET Azure::azure-identity + PROPERTY INTERFACE_LINK_LIBRARIES OpenSSL::Crypto Azure::azure-core) Review Comment: Yes. ("all the other components" means `Azure::*` CMake targets, right?) ########## cpp/cmake_modules/ThirdpartyToolchain.cmake: ########## @@ -5039,6 +5054,154 @@ if(ARROW_S3) endif() endif() +# ---------------------------------------------------------------------- +# Azure SDK for C++ + +macro(build_azuresdk) + message(STATUS "Building Azure C++ SDK from source") + + find_curl() + find_package(LibXml2 REQUIRED) + add_custom_target(azure_sdk_dependencies) + + if(NOT OpenSSL_FOUND) + resolve_dependency(OpenSSL HAVE_ALT REQUIRED_VERSION + ${ARROW_OPENSSL_REQUIRED_VERSION}) + endif() + + set(AZURESDK_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/azuresdk_ep-install") + set(AZURESDK_INCLUDE_DIR "${AZURESDK_PREFIX}/include") + set(AZURESDK_LIB_DIR "lib") + + set(AZURESDK_COMMON_CMAKE_ARGS + ${EP_COMMON_CMAKE_ARGS} + "-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>" + "-DCMAKE_PREFIX_PATH=${AZURESDK_PREFIX}" + -DBUILD_SHARED_LIBS=OFF + -DCMAKE_INSTALL_LIBDIR=${AZURESDK_LIB_DIR} + -DDISABLE_AZURE_CORE_OPENTELEMETRY=ON + -DENABLE_TESTING=OFF + -DENABLE_UNITY_BUILD=ON + -DWARNINGS_AS_ERRORS=OFF) + + STRING(REPLACE "." ";" OPENSSL_VERSION_ELEMENTS_LIST ${OPENSSL_VERSION}) + list(GET OPENSSL_VERSION_ELEMENTS_LIST 0 OPENSSL_VERSION_MAJOR) + if(OPENSSL_VERSION_MAJOR EQUAL 1) + list(APPEND + AZURESDK_COMMON_CMAKE_ARGS + -DVCPKG_OVERLAY_PORTS=${CMAKE_CURRENT_BINARY_DIR}/azuresdk_ep-prefix/src/azuresdk_ep/vcpkg-custom-ports) + elseif(OPENSSL_VERSION_MAJOR EQUAL 3) + else() + message(FATAL_ERROR "Unknown OpenSSL version: ${OPENSSL_VERSION}") + endif() + + file(MAKE_DIRECTORY ${AZURESDK_INCLUDE_DIR}) + set(AZURE_CORE_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-core${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_IDENTITY_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-identity${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_BLOBS_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-blobs${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_COMMON_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-common${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY + "${AZURESDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-files-datalake${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + externalproject_add(azuresdk_ep + ${EP_COMMON_OPTIONS} + INSTALL_DIR ${AZURESDK_PREFIX} + URL ${ARROW_AZURESDK_URL} + URL_HASH "SHA256=${ARROW_AZURE_SDK_BUILD_SHA256_CHECKSUM}" + CMAKE_ARGS ${AZURESDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AZURE_CORE_STATIC_LIBRARY} + ${AZURE_IDENTITY_STATIC_LIBRARY} + ${AZURE_STORAGE_BLOBS_STATIC_LIBRARY} + ${AZURE_STORAGE_COMMON_STATIC_LIBRARY} + ${AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY} + DEPENDS azure_sdk_dependencies) + add_library(Azure::azure-core STATIC IMPORTED) + set_target_properties(Azure::azure-core + PROPERTIES IMPORTED_LOCATION ${AZURE_CORE_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + ${AZURESDK_INCLUDE_DIR}) + set_property(TARGET Azure::azure-core + PROPERTY INTERFACE_LINK_LIBRARIES CURL::libcurl OpenSSL::Crypto OpenSSL::SSL) + add_dependencies(Azure::azure-core azuresdk_ep) + + add_library(Azure::azure-identity STATIC IMPORTED) + set_target_properties(Azure::azure-identity + PROPERTIES IMPORTED_LOCATION ${AZURE_IDENTITY_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + ${AZURESDK_INCLUDE_DIR}) + set_property(TARGET Azure::azure-identity + PROPERTY INTERFACE_LINK_LIBRARIES OpenSSL::Crypto Azure::azure-core) + add_dependencies(Azure::azure-identity azuresdk_ep) + + add_library(Azure::azure-storage-common STATIC IMPORTED) + set_target_properties(Azure::azure-storage-common + PROPERTIES IMPORTED_LOCATION ${AZURE_STORAGE_COMMON_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + ${AZURESDK_INCLUDE_DIR}) + set_property(TARGET Azure::azure-storage-common + PROPERTY INTERFACE_LINK_LIBRARIES OpenSSL::Crypto LibXml2::LibXml2 Azure::azure-core) + add_dependencies(Azure::azure-storage-common azuresdk_ep) + + add_library(Azure::azure-storage-blobs STATIC IMPORTED) + set_target_properties(Azure::azure-storage-blobs + PROPERTIES IMPORTED_LOCATION ${AZURE_STORAGE_BLOBS_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + ${AZURESDK_INCLUDE_DIR}) + set_property(TARGET Azure::azure-identity + PROPERTY INTERFACE_LINK_LIBRARIES Azure::azure-core Azure::azure-storage-common) + add_dependencies(Azure::azure-storage-blobs azuresdk_ep) + + add_library(Azure::azure-storage-files-datalake STATIC IMPORTED) + set_target_properties(Azure::azure-storage-files-datalake + PROPERTIES IMPORTED_LOCATION ${AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + ${AZURESDK_INCLUDE_DIR}) + set_property(TARGET Azure::azure-storage-files-datalake + PROPERTY INTERFACE_LINK_LIBRARIES Azure::azure-core Azure::azure-identity Azure::azure-storage-common Azure::azure-storage-blobs) + add_dependencies(Azure::azure-storage-files-datalake azuresdk_ep) + + set(AZURE_SDK_VENDORED TRUE) + set(AZURESDK_LIBRARIES) + list(APPEND + AZURESDK_LIBRARIES + Azure::azure-core + Azure::azure-identity + Azure::azure-storage-blobs + Azure::azure-storage-common Review Comment: Oh. I'll take a look at this. ########## cpp/cmake_modules/ThirdpartyToolchain.cmake: ########## @@ -5039,6 +5055,114 @@ if(ARROW_S3) endif() endif() +# ---------------------------------------------------------------------- +# Azure SDK for C++ + +macro(build_azure_sdk) + message(STATUS "Building Azure SDK for C++ from source") + + find_curl() + find_package(LibXml2 REQUIRED) + add_custom_target(azure_sdk_dependencies) + + set(AZURE_SDK_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/azure-sdk_ep-install") + set(AZURE_SDK_INCLUDE_DIR "${AZURE_SDK_PREFIX}/include") + + set(AZURE_SDK_COMMON_CMAKE_ARGS + ${EP_COMMON_CMAKE_ARGS} + "-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>" + "-DCMAKE_PREFIX_PATH=${AZURE_SDK_PREFIX}" + -DDISABLE_AZURE_CORE_OPENTELEMETRY=ON + -DWARNINGS_AS_ERRORS=OFF + -DVCPKG_OVERLAY_PORTS=${CMAKE_SOURCE_DIR}/overlays) + + file(MAKE_DIRECTORY ${AZURE_SDK_INCLUDE_DIR}) + set(AZURE_CORE_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-core${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_IDENTITY_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-identity${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_BLOBS_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-blobs${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_COMMON_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-common${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-files-datalake${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + externalproject_add(azure-sdk_ep + ${EP_COMMON_OPTIONS} + INSTALL_DIR ${AZURE_SDK_PREFIX} + URL ${ARROW_AZURE_SDK_URL} + URL_HASH "SHA256=${ARROW_AZURE_SDK_BUILD_SHA256_CHECKSUM}" + CMAKE_ARGS ${AZURE_SDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AZURE_CORE_STATIC_LIBRARY} + ${AZURE_IDENTITY_STATIC_LIBRARY} + ${AZURE_STORAGE_BLOBS_STATIC_LIBRARY} + ${AZURE_STORAGE_COMMON_STATIC_LIBRARY} + ${AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY} + DEPENDS azure_sdk_dependencies) Review Comment: ```suggestion ${AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY}) ``` ########## cpp/cmake_modules/ThirdpartyToolchain.cmake: ########## @@ -5039,6 +5055,114 @@ if(ARROW_S3) endif() endif() +# ---------------------------------------------------------------------- +# Azure SDK for C++ + +macro(build_azure_sdk) + message(STATUS "Building Azure SDK for C++ from source") + + find_curl() + find_package(LibXml2 REQUIRED) + add_custom_target(azure_sdk_dependencies) + + set(AZURE_SDK_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/azure-sdk_ep-install") + set(AZURE_SDK_INCLUDE_DIR "${AZURE_SDK_PREFIX}/include") + + set(AZURE_SDK_COMMON_CMAKE_ARGS + ${EP_COMMON_CMAKE_ARGS} + "-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>" + "-DCMAKE_PREFIX_PATH=${AZURE_SDK_PREFIX}" + -DDISABLE_AZURE_CORE_OPENTELEMETRY=ON + -DWARNINGS_AS_ERRORS=OFF + -DVCPKG_OVERLAY_PORTS=${CMAKE_SOURCE_DIR}/overlays) + + file(MAKE_DIRECTORY ${AZURE_SDK_INCLUDE_DIR}) + set(AZURE_CORE_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-core${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_IDENTITY_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-identity${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_BLOBS_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-blobs${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_COMMON_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-common${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + set(AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY + "${AZURE_SDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}azure-storage-files-datalake${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + externalproject_add(azure-sdk_ep + ${EP_COMMON_OPTIONS} + INSTALL_DIR ${AZURE_SDK_PREFIX} + URL ${ARROW_AZURE_SDK_URL} + URL_HASH "SHA256=${ARROW_AZURE_SDK_BUILD_SHA256_CHECKSUM}" + CMAKE_ARGS ${AZURE_SDK_COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS ${AZURE_CORE_STATIC_LIBRARY} + ${AZURE_IDENTITY_STATIC_LIBRARY} + ${AZURE_STORAGE_BLOBS_STATIC_LIBRARY} + ${AZURE_STORAGE_COMMON_STATIC_LIBRARY} + ${AZURE_STORAGE_FILES_DATALAKE_STATIC_LIBRARY} + DEPENDS azure_sdk_dependencies) + add_library(Azure::azure-core STATIC IMPORTED) + set_target_properties(Azure::azure-core + PROPERTIES IMPORTED_LOCATION ${AZURE_CORE_STATIC_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES + ${AZURE_SDK_INCLUDE_DIR}) + set_property(TARGET Azure::azure-core + PROPERTY INTERFACE_LINK_LIBRARIES CURL::libcurl OpenSSL::SSL) + add_dependencies(Azure::azure-core azure-sdk_ep) Review Comment: We may not need this because we specify `BUILD_BYPRODUCTS` to `externalproject_add()`. ########## cpp/cmake_modules/FindAzure.cmake: ########## @@ -0,0 +1,56 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +if(Azure_FOUND) + return() +endif() + +set(find_package_args) +list(APPEND find_package_args + CONFIG + # Avoid finding cmake files in local copies of the Azure SDK for C++. + # e.g. the extracted copy from the previous build. + NO_CMAKE_PACKAGE_REGISTRY Review Comment: How did you get this situation? Did you install Azure SDK for C++ to `~/.cmake/packages/` manually? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
