@@ -28,16 +28,16 @@ include_directories(
28
28
../../third_party_code/cpprestsdk
29
29
)
30
30
31
- add_library (signalrclient ${SOURCES} )
31
+ add_library (microsoft-signalr ${SOURCES} )
32
32
33
33
if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC" )
34
34
if (WERROR )
35
- target_compile_options (signalrclient PRIVATE /WX )
35
+ target_compile_options (microsoft-signalr PRIVATE /WX )
36
36
endif ()
37
37
if (WALL )
38
- target_compile_options (signalrclient PRIVATE /Wall )
38
+ target_compile_options (microsoft-signalr PRIVATE /Wall )
39
39
endif ()
40
- target_compile_options (signalrclient PRIVATE
40
+ target_compile_options (microsoft-signalr PRIVATE
41
41
/wd4820 # padding added after data member
42
42
/wd4514 # unreferenced inline function removed
43
43
/wd5045 # compiler will insert Spectre mitigation if /Qspectre switch is added
@@ -51,46 +51,62 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
51
51
)
52
52
else ()
53
53
if (WERROR )
54
- target_compile_options (signalrclient PRIVATE -Werror )
54
+ target_compile_options (microsoft-signalr PRIVATE -Werror )
55
55
endif ()
56
56
if (WALL )
57
- target_compile_options (signalrclient PRIVATE -Wall )
57
+ target_compile_options (microsoft-signalr PRIVATE -Wall )
58
58
endif ()
59
59
60
- target_compile_options (signalrclient PRIVATE -Wextra -Wpedantic -Wno-unknown-pragmas )
60
+ target_compile_options (microsoft-signalr PRIVATE -Wextra -Wpedantic -Wno-unknown-pragmas )
61
61
endif ()
62
62
63
63
if (INCLUDE_JSONCPP )
64
- target_sources (signalrclient PRIVATE ../../third_party_code/jsoncpp/jsoncpp.cpp )
65
- target_include_directories (signalrclient PRIVATE ../../third_party_code/jsoncpp )
64
+ target_sources (microsoft-signalr PRIVATE ../../third_party_code/jsoncpp/jsoncpp.cpp )
65
+ target_include_directories (microsoft-signalr PRIVATE ../../third_party_code/jsoncpp )
66
66
else ()
67
- target_link_libraries (signalrclient PUBLIC ${JSONCPP_LIB} )
67
+ target_link_libraries (microsoft-signalr PUBLIC ${JSONCPP_LIB} )
68
68
endif ()
69
69
70
70
if (NOT USE_CPPRESTSDK )
71
- target_link_libraries (signalrclient )
71
+ target_link_libraries (microsoft-signalr )
72
72
else ()
73
73
if (APPLE )
74
- target_link_libraries (signalrclient
74
+ target_link_libraries (microsoft-signalr
75
75
PUBLIC ${CPPREST_LIB}
76
76
PRIVATE OpenSSL::SSL Boost::boost Boost::system Boost::chrono Boost::thread
77
77
)
78
78
elseif (NOT WIN32 )
79
- target_link_libraries (signalrclient
79
+ target_link_libraries (microsoft-signalr
80
80
PUBLIC ${CPPREST_LIB} Boost::system
81
81
PRIVATE OpenSSL::SSL
82
82
)
83
83
else ()
84
- target_link_libraries (signalrclient
84
+ target_link_libraries (microsoft-signalr
85
85
PUBLIC ${CPPREST_LIB}
86
86
)
87
87
endif ()
88
88
endif () # USE_CPPRESTSDK
89
89
90
90
include (GNUInstallDirs )
91
91
92
- install (TARGETS signalrclient
92
+ install (TARGETS microsoft-signalr
93
+ # Creates the microsoft-signalr-targets.cmake file which allows find_package() to work
94
+ EXPORT microsoft-signalr-targets
93
95
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
94
96
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
95
97
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
98
+ )
99
+
100
+ # Create the microsoft-signalr-config.cmake with resolved values for variables used to build
101
+ configure_file (microsoft-signalr-config.in.cmake "${CMAKE_CURRENT_BINARY_DIR} /microsoft-signalr-config.cmake" @ONLY )
102
+
103
+ install (
104
+ FILES ${CMAKE_CURRENT_BINARY_DIR} /microsoft-signalr-config.cmake
105
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /share/microsoft-signalr
106
+ )
107
+
108
+ install (EXPORT microsoft-signalr-targets
109
+ FILE microsoft-signalr-targets.cmake
110
+ NAMESPACE microsoft-signalr::
111
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /share/microsoft-signalr
96
112
)
0 commit comments