aboutsummaryrefslogtreecommitdiff
path: root/ports/azure-storage-cpp/cmake.patch
diff options
context:
space:
mode:
Diffstat (limited to 'ports/azure-storage-cpp/cmake.patch')
-rw-r--r--ports/azure-storage-cpp/cmake.patch169
1 files changed, 169 insertions, 0 deletions
diff --git a/ports/azure-storage-cpp/cmake.patch b/ports/azure-storage-cpp/cmake.patch
new file mode 100644
index 000000000..96fdace2d
--- /dev/null
+++ b/ports/azure-storage-cpp/cmake.patch
@@ -0,0 +1,169 @@
+diff --git a/Microsoft.WindowsAzure.Storage/CMakeLists.txt b/Microsoft.WindowsAzure.Storage/CMakeLists.txt
+index 07878c2..8d1c47e 100644
+--- a/Microsoft.WindowsAzure.Storage/CMakeLists.txt
++++ b/Microsoft.WindowsAzure.Storage/CMakeLists.txt
+@@ -51,20 +51,25 @@ if(UNIX)
+ find_package(UnitTest++ REQUIRED)
+ endif()
+
+- option(BUILD_SHARED_LIBS "Build shared Libraries." ON)
+
+- file(GLOB WAS_HEADERS includes/was/*.h)
+- install(FILES ${WAS_HEADERS} DESTINATION include/was)
+- file(GLOB WASCORE_HEADERS includes/wascore/*.h)
+- install(FILES ${WASCORE_HEADERS} DESTINATION include/wascore)
+- file(GLOB WASCORE_DATA includes/wascore/*.dat)
+- install(FILES ${WASCORE_DATA} DESTINATION include/wascore)
++elseif(WIN32)
++ message("-- Setting WIN32 options")
++ find_package(Casablanca REQUIRED)
++ add_definitions(-DUNICODE -D_UNICODE -D_WIN32)
+ else()
+ message("-- Unsupported Build Platform.")
+ endif()
+
++option(BUILD_SHARED_LIBS "Build shared Libraries." ON)
++option(WASTORE_INSTALL_HEADERS "Install header files." ON)
++if(WASTORE_INSTALL_HEADERS)
++ file(GLOB WAS_HEADERS includes/was/*.h)
++ file(GLOB WASCORE_HEADERS includes/wascore/basic_types.h includes/wascore/constants.h)
++ file(GLOB WASCORE_DATA includes/wascore/*.dat)
++endif()
++
+ # Compiler (not platform) specific settings
+-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
++if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
+ 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")
+ add_definitions(-DBOOST_LOG_DYN_LINK)
+ endif()
+ add_definitions(-D_TURN_OFF_PLATFORM_STRING)
+-elseif((CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
+- message("-- Setting clang options")
++elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
++ message("-- Setting clang options")
+
+- set(WARNINGS "-Wall -Wextra -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls")
+- set(OSX_SUPPRESSIONS "-Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder -Wno-unused-local-typedefs")
+- set(WARNINGS "${WARNINGS} ${OSX_SUPPRESSIONS}")
++ set(WARNINGS "-Wall -Wextra -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls")
++ set(OSX_SUPPRESSIONS "-Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder -Wno-unused-local-typedefs")
++ set(WARNINGS "${WARNINGS} ${OSX_SUPPRESSIONS}")
+
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration")
+- set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+- set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration")
++ set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
++ set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
+
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-strict-aliasing")
+- if (BUILD_SHARED_LIBS)
+- add_definitions(-DBOOST_LOG_DYN_LINK)
+- endif()
+- add_definitions(-D_TURN_OFF_PLATFORM_STRING)
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-strict-aliasing")
++ if (BUILD_SHARED_LIBS)
++ add_definitions(-DBOOST_LOG_DYN_LINK)
++ endif()
++ add_definitions(-D_TURN_OFF_PLATFORM_STRING)
++elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
++ message("-- Setting MSVC options")
++ add_compile_options(/bigobj)
++ add_compile_options(/MP)
++ if(BUILD_SHARED_LIBS)
++ add_definitions(-DWASTORAGE_DLL -D_USRDLL)
++ endif()
+ else()
+ message("-- Unknown compiler, success is doubtful.")
+ endif()
+@@ -109,7 +121,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_LIBRARY azurestorage)
+ set(AZURESTORAGE_LIBRARIES ${AZURESTORAGE_LIBRARY} ${CASABLANCA_LIBRARIES} ${Boost_LIBRARIES} ${Boost_FRAMEWORK} ${OPENSSL_LIBRARIES} ${LibXML++_LIBRARIES} ${UUID_LIBRARIES} ${Glibmm_LIBRARIES})
+
+diff --git a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindCasablanca.cmake
+index 5c1df3c..da66eb4 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
+ find_library(CASABLANCA_LIBRARY
+ NAMES
+ cpprest
++ cpprest_2_9.lib
+ PATHS
+ ${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
+--- 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})
+ include_directories(${AZURESTORAGE_INCLUDE_DIRS})
+
+ # THE ORDER OF FILES IS VERY /VERY/ IMPORTANT
+-if(UNIX)
++if(UNIX OR WIN32)
+ set(SOURCES
+ xmlhelpers.cpp
+ response_parsers.cpp
+@@ -64,24 +64,46 @@ if ("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
+ endif()
+ if (APPLE)
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNINGS}")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNINGS}")
+ else()
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++endif()
++
++if(MSVC)
++ add_compile_options(/Yustdafx.h)
++ set_source_files_properties(stdafx.cpp PROPERTIES COMPILE_FLAGS "/Ycstdafx.h")
++
++ if (NOT CMAKE_GENERATOR MATCHES "Visual Studio .*")
++ set_property(SOURCE stdafx.cpp APPEND PROPERTY OBJECT_OUTPUTS "${CMAKE_CURRENT_BINARY_DIR}/stdafx.pch")
++ set_property(SOURCE ${SOURCES} APPEND PROPERTY OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/stdafx.pch")
++ endif()
++
++ list(APPEND SOURCES stdafx.cpp)
+ endif()
+
+ add_library(${AZURESTORAGE_LIBRARY} ${SOURCES})
+
+ target_link_libraries(${AZURESTORAGE_LIBRARIES})
++if(WIN32)
++ target_link_libraries(${AZURESTORAGE_LIBRARY} Ws2_32.lib rpcrt4.lib xmllite.lib bcrypt.lib)
++endif()
+
+ # Portions specific to azure storage binary versioning and installation.
+ if(UNIX)
+ set_target_properties(${AZURESTORAGE_LIBRARY} PROPERTIES
+ SOVERSION ${AZURESTORAGE_VERSION_MAJOR}
+ VERSION ${AZURESTORAGE_VERSION_MAJOR}.${AZURESTORAGE_VERSION_MINOR})
+-
+- install(
+- TARGETS ${AZURESTORAGE_LIBRARY}
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
+- )
++elseif(WIN32)
++ set_target_properties(${AZURESTORAGE_LIBRARY} PROPERTIES OUTPUT_NAME "wastorage")
+ endif()
++
++install(FILES ${WAS_HEADERS} DESTINATION include/was)
++install(FILES ${WASCORE_HEADERS} DESTINATION include/wascore)
++install(FILES ${WASCORE_DATA} DESTINATION include/wascore)
++
++install(
++ TARGETS ${AZURESTORAGE_LIBRARY}
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++)