1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index 8c73730..4cd9074 100644
6 cmake_minimum_required (VERSION 2.8.11)
7 project (signalrclient)
10 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC -L -lcpprest")
13 set(CPPREST_INCLUDE_DIR "" CACHE FILEPATH "Path to casablanca include dir")
15 @@ -16,4 +18,32 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
16 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
18 add_subdirectory(src/signalrclient)
19 -add_subdirectory(test)
20 +if(NOT DISABLE_TESTS)
21 + add_subdirectory(test)
24 +if(BUILD_SHARED_LIBS)
25 + install(FILES include/signalrclient/_exports.h DESTINATION include/signalrclient)
27 + file(READ include/signalrclient/_exports.h EXPORTS_H)
28 + string(REPLACE "#ifdef NO_SIGNALRCLIENT_EXPORTS" "#if 1" EXPORTS_H_2 ${EXPORTS_H})
29 + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/_exports.h "${EXPORTS_H_2}")
31 + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_exports.h DESTINATION include/signalrclient)
35 + include/signalrclient/connection.h
36 + include/signalrclient/connection_state.h
37 + include/signalrclient/hub_connection.h
38 + include/signalrclient/hub_exception.h
39 + include/signalrclient/hub_proxy.h
40 + include/signalrclient/log_writer.h
41 + include/signalrclient/trace_level.h
42 + include/signalrclient/transport_type.h
43 + include/signalrclient/web_exception.h)
47 + DESTINATION "include/signalrclient"
49 diff --git a/src/signalrclient/CMakeLists.txt b/src/signalrclient/CMakeLists.txt
50 index 76a5e1b..db141eb 100644
51 --- a/src/signalrclient/CMakeLists.txt
52 +++ b/src/signalrclient/CMakeLists.txt
53 @@ -22,6 +22,21 @@ set (SOURCES
54 websocket_transport.cpp
57 -add_library (signalrclient SHARED ${SOURCES})
58 +if(BUILD_SHARED_LIBS)
59 + add_definitions(-DSIGNALRCLIENT_EXPORTS)
61 + add_definitions(-DNO_SIGNALRCLIENT_EXPORTS)
64 +add_definitions(-DUNICODE -D_UNICODE)
66 +add_library (signalrclient ${SOURCES})
68 target_link_libraries(signalrclient ${CPPREST_SO})
71 + TARGETS signalrclient
72 + LIBRARY DESTINATION lib
73 + ARCHIVE DESTINATION lib
74 + RUNTIME DESTINATION bin