aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2016-11-15 17:01:54 -0800
committerRobert Schumacher <roschuma@microsoft.com>2016-11-15 17:03:38 -0800
commit4f0b17e3163e8dfdd8efb28d8f4c1c059b630a2c (patch)
treec69cd24404928eb8c3db9b6dbee3968a4a508d15
parent13645a66b8610ab39997f968b95c3c142719e906 (diff)
downloadvcpkg-4f0b17e3163e8dfdd8efb28d8f4c1c059b630a2c.tar.gz
vcpkg-4f0b17e3163e8dfdd8efb28d8f4c1c059b630a2c.zip
[signalrclient] Enable static builds
-rw-r--r--ports/signalrclient/0001_cmake.patch50
-rw-r--r--ports/signalrclient/portfile.cmake10
2 files changed, 44 insertions, 16 deletions
diff --git a/ports/signalrclient/0001_cmake.patch b/ports/signalrclient/0001_cmake.patch
index 0177d5d9b..809667960 100644
--- a/ports/signalrclient/0001_cmake.patch
+++ b/ports/signalrclient/0001_cmake.patch
@@ -1,16 +1,37 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0d78e1c..c952b2f 100644
+index 8c73730..4cd9074 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -16,4 +16,21 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
+@@ -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)
-+#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})
+
-+set(HEADERS
-+ include/signalrclient/_exports.h
++ 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
@@ -25,17 +46,25 @@ index 0d78e1c..c952b2f 100644
+ 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
+index 76a5e1b..db141eb 100644
--- a/src/signalrclient/CMakeLists.txt
+++ b/src/signalrclient/CMakeLists.txt
-@@ -24,4 +24,13 @@ set (SOURCES
-
- add_library (signalrclient SHARED ${SOURCES})
+@@ -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(
@@ -44,4 +73,3 @@ index 76a5e1b..47e7dc3 100644
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin
+)
-\ No newline at end of file
diff --git a/ports/signalrclient/portfile.cmake b/ports/signalrclient/portfile.cmake
index 4b4fc3344..22e91acab 100644
--- a/ports/signalrclient/portfile.cmake
+++ b/ports/signalrclient/portfile.cmake
@@ -1,7 +1,3 @@
-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)
@@ -20,9 +16,13 @@ vcpkg_apply_patches(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
+ 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()