Merge pull request #3506 from JasonYang-MSFT/master

Support azure-storage-cpp 4.0.0
This commit is contained in:
Alexander Karatarakis 2018-05-16 15:36:43 -07:00 committed by GitHub
commit 7a652429b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 56 additions and 77 deletions

View File

@ -1,5 +1,5 @@
Source: azure-storage-cpp
Version: 3.2.1
Build-Depends: cpprestsdk, atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), glibmm (!windows&!uwp), libxmlpp (!windows&!uwp), libuuid (!windows&!uwp)
Version: 4.0.0
Build-Depends: cpprestsdk, atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp)
Description: Microsoft Azure Storage Client SDK for C++
A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. Microsoft Azure Storage team's blog - http://blogs.msdn.com/b/windowsazurestorage/

View File

@ -1,8 +1,32 @@
diff --git a/Microsoft.WindowsAzure.Storage/CMakeLists.txt b/Microsoft.WindowsAzure.Storage/CMakeLists.txt
index 07878c2..8d1c47e 100644
index a23b93f..e471b86 100644
--- a/Microsoft.WindowsAzure.Storage/CMakeLists.txt
+++ b/Microsoft.WindowsAzure.Storage/CMakeLists.txt
@@ -51,20 +51,25 @@ if(UNIX)
@@ -1,5 +1,5 @@
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 3.8)
project(azurestorage)
enable_testing()
@@ -21,8 +21,6 @@ if(UNIX)
# Prefer the latest (make the latest one first)
list(REVERSE OPENSSL_ROOT_DIR)
-
-
if(NOT GETTEXT_LIB_DIR)
message(WARNING "No GETTEXT_LIB_DIR specified, assuming: /usr/local/opt/gettext/lib")
set(GETTEXT_LIB_DIR "/usr/local/opt/gettext/lib")
@@ -40,6 +38,7 @@ if(UNIX)
find_package(OpenSSL 1.0.0 REQUIRED)
+
find_package(UUID REQUIRED)
find_package(Casablanca REQUIRED)
find_package(LibXML2 REQUIRED)
@@ -48,20 +47,25 @@ if(UNIX)
find_package(UnitTest++ REQUIRED)
endif()
@ -36,7 +60,7 @@ index 07878c2..8d1c47e 100644
message("-- Setting gcc options")
set(WARNINGS "-Wall -Wextra -Wunused-parameter -Wcast-align -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls -Wunreachable-code")
@@ -81,22 +86,29 @@ if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
@@ -78,22 +82,31 @@ if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
add_definitions(-DBOOST_LOG_DYN_LINK)
endif()
add_definitions(-D_TURN_OFF_PLATFORM_STRING)
@ -75,23 +99,39 @@ index 07878c2..8d1c47e 100644
+ add_compile_options(/MP)
+ if(BUILD_SHARED_LIBS)
+ add_definitions(-DWASTORAGE_DLL -D_USRDLL)
+ else()
+ add_definitions(-D_NO_WASTORAGE_API)
+ endif()
else()
message("-- Unknown compiler, success is doubtful.")
endif()
@@ -109,7 +121,6 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Binaries)
@@ -106,7 +119,6 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Binaries)
set(AZURESTORAGE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/includes)
set(AZURESTORAGE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/includes ${CASABLANCA_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIRS} ${LibXML++_INCLUDE_DIRS} ${UUID_INCLUDE_DIRS} ${Glibmm_INCLUDE_DIRS})
set(AZURESTORAGE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/includes ${CASABLANCA_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIRS} ${UUID_INCLUDE_DIRS} ${LibXML2_INCLUDE_DIR})
-
set(AZURESTORAGE_LIBRARY azurestorage)
set(AZURESTORAGE_LIBRARIES ${AZURESTORAGE_LIBRARY} ${CASABLANCA_LIBRARIES} ${Boost_LIBRARIES} ${Boost_FRAMEWORK} ${OPENSSL_LIBRARIES} ${LibXML++_LIBRARIES} ${UUID_LIBRARIES} ${Glibmm_LIBRARIES})
set(AZURESTORAGE_LIBRARIES ${AZURESTORAGE_LIBRARY} ${CASABLANCA_LIBRARY} ${Boost_LIBRARIES} ${Boost_FRAMEWORK} ${OPENSSL_LIBRARIES} ${UUID_LIBRARIES} ${LibXML2_LIBRARIES})
diff --git a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake
index 5c1df3c..da66eb4 100644
index 5c1df3c..40e1767 100644
--- a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake
+++ b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake
@@ -27,6 +27,7 @@ find_path(CASABLANCA_INCLUDE_DIR
@@ -23,10 +23,21 @@ find_path(CASABLANCA_INCLUDE_DIR
include
)
+find_package(cpprestsdk)
+
+if(cpprestsdk_FOUND)
+ set(CASABLANCA_LIBRARY cpprestsdk::cpprest)
+ set(CASABLANCA_PROCESS_LIBS CASABLANCA_LIBRARY)
+ set(CASABLANCA_PROCESS_INCLUDES CASABLANCA_INCLUDE_DIR)
+ libfind_process(CASABLANCA)
+ return()
+endif()
+
# Library
find_library(CASABLANCA_LIBRARY
NAMES
cpprest
@ -100,7 +140,7 @@ index 5c1df3c..da66eb4 100644
${CASABLANCA_PKGCONF_LIBRARY_DIRS}
${CASABLANCA_DIR}
diff --git a/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt b/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt
index b08111f..74ba2fb 100644
index 59fedac..3737eeb 100644
--- a/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt
+++ b/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt
@@ -2,7 +2,7 @@ include_directories(${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR})
@ -110,9 +150,9 @@ index b08111f..74ba2fb 100644
-if(UNIX)
+if(UNIX OR WIN32)
set(SOURCES
xml_wrapper.cpp
xmlhelpers.cpp
response_parsers.cpp
@@ -64,24 +64,46 @@ if ("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
@@ -65,24 +65,46 @@ if ("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
endif()
if (APPLE)
@ -139,7 +179,7 @@ index b08111f..74ba2fb 100644
target_link_libraries(${AZURESTORAGE_LIBRARIES})
+if(WIN32)
+ target_link_libraries(${AZURESTORAGE_LIBRARY} Ws2_32.lib rpcrt4.lib xmllite.lib bcrypt.lib)
+ target_link_libraries(${AZURESTORAGE_LIBRARY} Ws2_32.lib rpcrt4.lib xmllite.lib bcrypt.lib)
+endif()
# Portions specific to azure storage binary versioning and installation.

View File

@ -1,13 +0,0 @@
diff --git a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindGlibmm.cmake b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindGlibmm.cmake
index 79a4bcb..fe130bd 100644
--- a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindGlibmm.cmake
+++ b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindGlibmm.cmake
@@ -36,7 +36,7 @@ find_path(GlibmmConfig_INCLUDE_DIR
)
find_library(Glibmm_LIBRARY
- NAMES glibmm-2.4
+ NAMES glibmm glibmm-2.4
PATHS
${Glibmm_PKGCONF_LIBRARY_DIRS}
/usr

View File

@ -7,14 +7,11 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-storage-cpp
REF v3.2.1
SHA512 8d1e8de439e52f53eb28b77e8adf394468f4861c2c4c1f79ec1437c72e3fc0bc871e4e2662ee58090748915b0f12ce6736a7cc6ede619d332686b9fb6a026c9f
REF v4.0.0
SHA512 5ca264e014685852eb52b5b732d352e3eaaca3358d4bdf78ac2a571fd3b18f2d967583ce4ec64105fb87f0ef182a84671248f3f6a62c4886ff05dfa10c773605
HEAD_REF master
PATCHES
${CMAKE_CURRENT_LIST_DIR}/cmake.patch
${CMAKE_CURRENT_LIST_DIR}/static-builds.patch
${CMAKE_CURRENT_LIST_DIR}/support-cpprest-findpackage.patch
${CMAKE_CURRENT_LIST_DIR}/glibmm-cmake.patch
${CMAKE_CURRENT_LIST_DIR}/pplx-do-while.patch
)

View File

@ -1,13 +0,0 @@
diff --git a/Microsoft.WindowsAzure.Storage/CMakeLists.txt b/Microsoft.WindowsAzure.Storage/CMakeLists.txt
index 8d1c47e..3b4d1c0 100644
--- a/Microsoft.WindowsAzure.Storage/CMakeLists.txt
+++ b/Microsoft.WindowsAzure.Storage/CMakeLists.txt
@@ -108,6 +108,8 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
add_compile_options(/MP)
if(BUILD_SHARED_LIBS)
add_definitions(-DWASTORAGE_DLL -D_USRDLL)
+ else()
+ add_definitions(-D_NO_WASTORAGE_API)
endif()
else()
message("-- Unknown compiler, success is doubtful.")

View File

@ -1,32 +0,0 @@
diff --git a/Microsoft.WindowsAzure.Storage/CMakeLists.txt b/Microsoft.WindowsAzure.Storage/CMakeLists.txt
index 3b4d1c0..d8818ac 100644
--- a/Microsoft.WindowsAzure.Storage/CMakeLists.txt
+++ b/Microsoft.WindowsAzure.Storage/CMakeLists.txt
@@ -1,5 +1,5 @@
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 3.8)
project(azurestorage)
enable_testing()
diff --git a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake
index da66eb4..40e1767 100644
--- a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake
+++ b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake
@@ -23,6 +23,16 @@ find_path(CASABLANCA_INCLUDE_DIR
include
)
+find_package(cpprestsdk)
+
+if(cpprestsdk_FOUND)
+ set(CASABLANCA_LIBRARY cpprestsdk::cpprest)
+ set(CASABLANCA_PROCESS_LIBS CASABLANCA_LIBRARY)
+ set(CASABLANCA_PROCESS_INCLUDES CASABLANCA_INCLUDE_DIR)
+ libfind_process(CASABLANCA)
+ return()
+endif()
+
# Library
find_library(CASABLANCA_LIBRARY
NAMES