aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/signalrclient/0001_cmake.patch47
-rw-r--r--ports/signalrclient/CONTROL4
-rw-r--r--ports/signalrclient/portfile.cmake34
3 files changed, 85 insertions, 0 deletions
diff --git a/ports/signalrclient/0001_cmake.patch b/ports/signalrclient/0001_cmake.patch
new file mode 100644
index 000000000..0177d5d9b
--- /dev/null
+++ b/ports/signalrclient/0001_cmake.patch
@@ -0,0 +1,47 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0d78e1c..c952b2f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,4 +16,21 @@ 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)
++#add_subdirectory(test)
++
++set(HEADERS
++ include/signalrclient/_exports.h
++ 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"
++)
+\ No newline at end of file
+diff --git a/src/signalrclient/CMakeLists.txt b/src/signalrclient/CMakeLists.txt
+index 76a5e1b..47e7dc3 100644
+--- a/src/signalrclient/CMakeLists.txt
++++ b/src/signalrclient/CMakeLists.txt
+@@ -24,4 +24,13 @@ set (SOURCES
+
+ add_library (signalrclient SHARED ${SOURCES})
+
++add_definitions(-DUNICODE -D_UNICODE)
++
+ target_link_libraries(signalrclient ${CPPREST_SO})
++
++install(
++ TARGETS signalrclient
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION bin
++)
+\ No newline at end of file
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..4b4fc3344
--- /dev/null
+++ b/ports/signalrclient/portfile.cmake
@@ -0,0 +1,34 @@
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ message(STATUS "Warning: Static building not supported yet. Building dynamic.")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+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
+ -DCPPREST_SO=${CURRENT_INSTALLED_DIR}/lib/cpprest_2_9.lib
+ -DCPPREST_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include
+)
+
+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