Add signalrclient.

This commit is contained in:
sdcb 2016-11-15 14:10:11 +08:00
parent 70c4cbce77
commit 13645a66b8
3 changed files with 85 additions and 0 deletions

View File

@ -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

View File

@ -0,0 +1,4 @@
Source: signalrclient
Version: 1.0.0-beta1
Build-Depends: cpprestsdk
Description: C++ client for SignalR.

View File

@ -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)