-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
0001-find-cmake-targets.patch
117 lines (117 loc) · 4.69 KB
/
0001-find-cmake-targets.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
diff --git a/Release/cmake/cpprest_find_openssl.cmake b/Release/cmake/cpprest_find_openssl.cmake
index 0b49a7e..ed5c24b 100644
--- a/Release/cmake/cpprest_find_openssl.cmake
+++ b/Release/cmake/cpprest_find_openssl.cmake
@@ -1,70 +1,7 @@
function(cpprest_find_openssl)
- if(TARGET cpprestsdk_openssl_internal)
- return()
- endif()
-
- if(IOS)
- set(IOS_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../Build_iOS")
-
- set(OPENSSL_INCLUDE_DIR "${IOS_SOURCE_DIR}/openssl/include" CACHE INTERNAL "")
- set(OPENSSL_LIBRARIES
- "${IOS_SOURCE_DIR}/openssl/lib/libcrypto.a"
- "${IOS_SOURCE_DIR}/openssl/lib/libssl.a"
- CACHE INTERNAL ""
- )
- set(_SSL_LEAK_SUPPRESS_AVAILABLE ON CACHE INTERNAL "")
- elseif(ANDROID)
- if(ARM)
- set(OPENSSL_INCLUDE_DIR "${CMAKE_BINARY_DIR}/../openssl/armeabi-v7a/include" CACHE INTERNAL "")
- set(OPENSSL_LIBRARIES
- "${CMAKE_BINARY_DIR}/../openssl/armeabi-v7a/lib/libssl.a"
- "${CMAKE_BINARY_DIR}/../openssl/armeabi-v7a/lib/libcrypto.a"
- CACHE INTERNAL ""
- )
- else()
- set(OPENSSL_INCLUDE_DIR "${CMAKE_BINARY_DIR}/../openssl/x86/include" CACHE INTERNAL "")
- set(OPENSSL_LIBRARIES
- "${CMAKE_BINARY_DIR}/../openssl/x86/lib/libssl.a"
- "${CMAKE_BINARY_DIR}/../openssl/x86/lib/libcrypto.a"
- CACHE INTERNAL ""
- )
- endif()
- set(_SSL_LEAK_SUPPRESS_AVAILABLE ON CACHE INTERNAL "")
- else()
- if(APPLE)
- if(NOT DEFINED OPENSSL_ROOT_DIR)
- # Prefer a homebrew version of OpenSSL over the one in /usr/lib
- file(GLOB OPENSSL_ROOT_DIR /usr/local/Cellar/openssl/*)
- # Prefer the latest (make the latest one first)
- list(REVERSE OPENSSL_ROOT_DIR)
- endif()
- # This should prevent linking against the system provided 0.9.8y
- set(_OPENSSL_VERSION "")
- endif()
- find_package(OpenSSL 1.0.0 REQUIRED)
-
- INCLUDE(CheckCXXSourceCompiles)
- set(CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}")
- set(CMAKE_REQUIRED_LIBRARIES "${OPENSSL_LIBRARIES}")
- CHECK_CXX_SOURCE_COMPILES("
- #include <openssl/ssl.h>
- int main()
- {
- ::SSL_COMP_free_compression_methods();
- }
- " _SSL_LEAK_SUPPRESS_AVAILABLE)
- endif()
-
- add_library(cpprestsdk_openssl_internal INTERFACE)
- if(TARGET OpenSSL::SSL)
- target_link_libraries(cpprestsdk_openssl_internal INTERFACE OpenSSL::SSL)
- else()
- target_link_libraries(cpprestsdk_openssl_internal INTERFACE "$<BUILD_INTERFACE:${OPENSSL_LIBRARIES}>")
- target_include_directories(cpprestsdk_openssl_internal INTERFACE "$<BUILD_INTERFACE:${OPENSSL_INCLUDE_DIR}>")
- endif()
-
- if (NOT _SSL_LEAK_SUPPRESS_AVAILABLE)
- # libressl doesn't ship with the cleanup method being used in ws_client_wspp
- target_compile_definitions(cpprestsdk_openssl_internal INTERFACE -DCPPREST_NO_SSL_LEAK_SUPPRESS)
- endif()
+ if(NOT TARGET cpprestsdk_openssl_internal)
+ add_library(cpprestsdk_openssl_internal INTERFACE)
+ find_package(OpenSSL REQUIRED)
+ target_link_libraries(cpprestsdk_openssl_internal INTERFACE "OpenSSL::SSL")
+ endif()
endfunction()
diff --git a/Release/cmake/cpprest_find_websocketpp.cmake b/Release/cmake/cpprest_find_websocketpp.cmake
index 94ea81a..f83a777 100644
--- a/Release/cmake/cpprest_find_websocketpp.cmake
+++ b/Release/cmake/cpprest_find_websocketpp.cmake
@@ -1,26 +1,6 @@
function(cpprest_find_websocketpp)
- if(TARGET cpprestsdk_websocketpp_internal)
- return()
- endif()
-
- find_package(WEBSOCKETPP CONFIG QUIET)
- if(WEBSOCKETPP_FOUND)
- message("-- Found websocketpp version " ${WEBSOCKETPP_VERSION} " on system")
- set(WEBSOCKETPP_INCLUDE_DIR ${WEBSOCKETPP_INCLUDE_DIR} CACHE INTERNAL "")
- elseif(EXISTS ${PROJECT_SOURCE_DIR}/libs/websocketpp/CMakeLists.txt)
- message("-- websocketpp not found, using the embedded version")
- set(WEBSOCKETPP_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/libs/websocketpp CACHE INTERNAL "")
- else()
- message(FATAL_ERROR "-- websocketpp not found and embedded version not present; try `git submodule update --init` and run CMake again")
- endif()
-
- cpprest_find_boost()
- cpprest_find_openssl()
-
- add_library(cpprestsdk_websocketpp_internal INTERFACE)
- target_include_directories(cpprestsdk_websocketpp_internal INTERFACE "$<BUILD_INTERFACE:${WEBSOCKETPP_INCLUDE_DIR}>")
- target_link_libraries(cpprestsdk_websocketpp_internal
- INTERFACE
- cpprestsdk_boost_internal
- cpprestsdk_openssl_internal
- )
+ if(NOT TARGET cpprestsdk_websocketpp_internal)
+ add_library(cpprestsdk_websocketpp_internal INTERFACE)
+ find_package(websocketpp REQUIRED)
+ target_link_libraries(cpprestsdk_websocketpp_internal INTERFACE "websocketpp::websocketpp")
+ endif()
endfunction()