diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2016-11-15 17:04:38 -0800 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2016-11-15 17:04:38 -0800 |
| commit | 5e1b23e2c987410a04e922e06f2fa3fc04991041 (patch) | |
| tree | 9322b5a35b36204f8d7c9a21deb6f1eaf75a408e | |
| parent | 059ffcc92ccff746184670cd4ac4817f279cc50d (diff) | |
| parent | 4f0b17e3163e8dfdd8efb28d8f4c1c059b630a2c (diff) | |
| download | vcpkg-5e1b23e2c987410a04e922e06f2fa3fc04991041.tar.gz vcpkg-5e1b23e2c987410a04e922e06f2fa3fc04991041.zip | |
Merge pull request #287 from sdcb/signalrclient
Add signalrclient.
| -rw-r--r-- | ports/signalrclient/0001_cmake.patch | 75 | ||||
| -rw-r--r-- | ports/signalrclient/CONTROL | 4 | ||||
| -rw-r--r-- | ports/signalrclient/portfile.cmake | 34 |
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 |
