diff options
Diffstat (limited to 'ports/azure-storage-cpp/cmake.patch')
| -rw-r--r-- | ports/azure-storage-cpp/cmake.patch | 169 |
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 ++) |
