[Buildroot] [PATCH v2 1/1] libcpprestsdk: fix building as a static library

Adam Duskett aduskett at gmail.com
Mon Feb 12 13:00:16 UTC 2018


Use pkg-config to find OpenSSL. This will automatically find any
dependent libraries and put them in the correct order for linking.

Fixes:
http://autobuild.buildroot.net/results/1df528254468a5ece2f6fe37b3401e68737beed1

Upstream status: submitted
https://github.com/Microsoft/cpprestsdk/pull/688

Signed-off-by: Adam Duskett <aduskett at gmail.com>
---
Changes v1 -> v2:
  - Now using pkg-config instead of manually moving library search order
    (Thomas)

 ...prestsdk-fix-building-as-a-static-library.patch | 42 ++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch

diff --git a/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch b/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch
new file mode 100644
index 0000000000..c80f3f9ca0
--- /dev/null
+++ b/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch
@@ -0,0 +1,45 @@
+From 8a9c3db14a390c0a8788405e52e9b8737a430191 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett at gmail.com>
+Date: Mon, 12 Feb 2018 07:49:34 -0500
+Subject: [PATCH] libcpprestsdk: fix building as a static library
+
+Use pkg-config to find OpenSSL. This will automatically find any
+dependent libraries and put them in the correct order for linking.
+
+Upstream status: submitted
+https://github.com/Microsoft/cpprestsdk/pull/688
+
+Signed-off-by: Adam Duskett <aduskett at gmail.com>
+---
+ Release/cmake/cpprest_find_openssl.cmake | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/Release/cmake/cpprest_find_openssl.cmake b/Release/cmake/cpprest_find_openssl.cmake
+index 0b49a7e..2be8afb 100644
+--- a/Release/cmake/cpprest_find_openssl.cmake
++++ b/Release/cmake/cpprest_find_openssl.cmake
+@@ -41,8 +41,12 @@ function(cpprest_find_openssl)
+       # This should prevent linking against the system provided 0.9.8y
+       set(_OPENSSL_VERSION "")
+     endif()
+-    find_package(OpenSSL 1.0.0 REQUIRED)
+-
++    if(UNIX)
++		find_package(PkgConfig REQUIRED)
++		pkg_search_module(OPENSSL openssl REQUIRED)
++    else()
++    	find_package(OpenSSL 1.0.0 REQUIRED)
++	endif()
+     INCLUDE(CheckCXXSourceCompiles)
+     set(CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}")
+     set(CMAKE_REQUIRED_LIBRARIES "${OPENSSL_LIBRARIES}")
+@@ -67,4 +71,4 @@ function(cpprest_find_openssl)
+     # 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()
+-endfunction()
+\ No newline at end of file
++endfunction()
+-- 
+2.14.3
+
-- 
2.14.3



More information about the buildroot mailing list