aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2016-11-15 17:04:38 -0800
committerRobert Schumacher <roschuma@microsoft.com>2016-11-15 17:04:38 -0800
commit5e1b23e2c987410a04e922e06f2fa3fc04991041 (patch)
tree9322b5a35b36204f8d7c9a21deb6f1eaf75a408e
parent059ffcc92ccff746184670cd4ac4817f279cc50d (diff)
parent4f0b17e3163e8dfdd8efb28d8f4c1c059b630a2c (diff)
downloadvcpkg-5e1b23e2c987410a04e922e06f2fa3fc04991041.tar.gz
vcpkg-5e1b23e2c987410a04e922e06f2fa3fc04991041.zip
Merge pull request #287 from sdcb/signalrclient
Add signalrclient.
-rw-r--r--ports/signalrclient/0001_cmake.patch75
-rw-r--r--ports/signalrclient/CONTROL4
-rw-r--r--ports/signalrclient/portfile.cmake34
3 files changed, 113 insertions, 0 deletions
diff --git a/ports/signalrclient/0001_cmake.patch b/ports/signalrclient/0001_cmake.patch
new file mode 100644
index 000000000..809667960
--- /dev/null
+++ b/ports/signalrclient/0001_cmake.patch
@@ -0,0 +1,75 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8c73730..4cd9074 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,7 +1,9 @@
+ cmake_minimum_required (VERSION 2.8.11)
+ project (signalrclient)
+
++if(NOT WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC -L -lcpprest")
++endif()
+
+ set(CPPREST_INCLUDE_DIR "" CACHE FILEPATH "Path to casablanca include dir")
+
+@@ -16,4 +18,32 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
+
+ add_subdirectory(src/signalrclient)
+-add_subdirectory(test)
++if(NOT DISABLE_TESTS)
++ add_subdirectory(test)
++endif()
++
++if(BUILD_SHARED_LIBS)
++ install(FILES include/signalrclient/_exports.h DESTINATION include/signalrclient)
++else()
++ file(READ include/signalrclient/_exports.h EXPORTS_H)
++ string(REPLACE "#ifdef NO_SIGNALRCLIENT_EXPORTS" "#if 1" EXPORTS_H_2 ${EXPORTS_H})
++ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/_exports.h ${EXPORTS_H_2})
++
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_exports.h DESTINATION include/signalrclient)
++endif()
++
++set(HEADERS
++ include/signalrclient/connection.h
++ include/signalrclient/connection_state.h
++ include/signalrclient/hub_connection.h
++ include/signalrclient/hub_exception.h
++ include/signalrclient/hub_proxy.h
++ include/signalrclient/log_writer.h
++ include/signalrclient/trace_level.h
++ include/signalrclient/transport_type.h
++ include/signalrclient/web_exception.h)
++
++install(
++ FILES ${HEADERS}
++ DESTINATION "include/signalrclient"
++)
+diff --git a/src/signalrclient/CMakeLists.txt b/src/signalrclient/CMakeLists.txt
+index 76a5e1b..db141eb 100644
+--- a/src/signalrclient/CMakeLists.txt
++++ b/src/signalrclient/CMakeLists.txt
+@@ -22,6 +22,21 @@ set (SOURCES
+ websocket_transport.cpp
+ )
+
+-add_library (signalrclient SHARED ${SOURCES})
++if(BUILD_SHARED_LIBS)
++ add_definitions(-DSIGNALRCLIENT_EXPORTS)
++else()
++ add_definitions(-DNO_SIGNALRCLIENT_EXPORTS)
++endif()
++
++add_definitions(-DUNICODE -D_UNICODE)
++
++add_library (signalrclient ${SOURCES})
+
+ target_link_libraries(signalrclient ${CPPREST_SO})
++
++install(
++ TARGETS signalrclient
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION bin
++)
diff --git a/ports/signalrclient/CONTROL b/ports/signalrclient/CONTROL
new file mode 100644
index 000000000..a5673e964
--- /dev/null
+++ b/ports/signalrclient/CONTROL
@@ -0,0 +1,4 @@
+Source: signalrclient
+Version: 1.0.0-beta1
+Build-Depends: cpprestsdk
+Description: C++ client for SignalR. \ No newline at end of file
diff --git a/ports/signalrclient/portfile.cmake b/ports/signalrclient/portfile.cmake
new file mode 100644
index 000000000..22e91acab
--- /dev/null
+++ b/ports/signalrclient/portfile.cmake
@@ -0,0 +1,34 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SignalR-Client-Cpp-1.0.0-beta1)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/aspnet/SignalR-Client-Cpp/archive/1.0.0-beta1.tar.gz"
+ FILENAME "SignalR-Client-Cpp-1.0.0-beta1.tar.gz"
+ SHA512 e0090415aa724087dbe2a317a4642d6359b134e00e836ea70c71bc9186dc8d6bba097666711ab18d9b0a390e1e5f59be2f55279b6859ac20d558b901bf5fe2f2
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001_cmake.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS_DEBUG
+ -DCPPREST_SO=${CURRENT_INSTALLED_DIR}/debug/lib/cpprest_2_9.lib
+ OPTIONS_RELEASE
+ -DCPPREST_SO=${CURRENT_INSTALLED_DIR}/lib/cpprest_2_9.lib
+ OPTIONS
+ -DCPPREST_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include
+ -DDISABLE_TESTS=ON
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# copy license
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/signalrclient)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/signalrclient/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/signalrclient/copyright) \ No newline at end of file