Skip to content

Commit

Permalink
redis-plus-plus: introduce fix for library detection
Browse files Browse the repository at this point in the history
When building static library a substitution for library name
was bad. Reported in sewenew/redis-plus-plus#486
and detected when building new version of hiredis that also builds
a static library.

Signed-off-by: Peter Bergin <[email protected]>
Signed-off-by: Peter Bergin <[email protected]>
Signed-off-by: Khem Raj <[email protected]>
  • Loading branch information
wrpbergin authored and kraj committed May 23, 2023
1 parent 8ab5100 commit e8b3113
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
From 608d0f1caf43628c8260a994c277a040f1e616e0 Mon Sep 17 00:00:00 2001
From: Peter Bergin <[email protected]>
Date: Tue, 23 May 2023 13:19:55 +0200
Subject: [PATCH] CMakeLists.txt: fix substitution for static libs

During configuration the liibrary names are substitued for
the static build. When building with tls support the first
substitution will match both cases and trash the name for hiredis_ssl.

Input string: 'hiredis::hiredis;hiredis::hiredis_ssl;'
Output string: 'hiredis::hiredis_static;hiredis::hiredis_static_ssl;'
Wanted string: 'hiredis::hiredis_static;hiredis::hiredis_ssl_static;'

Fix string replacement by also including the ';' token to better match.

Upstream-Status: Submitted [https://github.com/sewenew/redis-plus-plus/issues/486]

Signed-off-by: Peter Bergin <[email protected]>
---
CMakeLists.txt | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 69794d9..08c265d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -160,13 +160,12 @@ if(REDIS_PLUS_PLUS_BUILD_STATIC)
set(REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC ${REDIS_PLUS_PLUS_HIREDIS_LIBS})

if (TARGET hiredis::hiredis_static)
- string(REPLACE "hiredis::hiredis" "hiredis::hiredis_static" REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC
+ string(REPLACE "hiredis::hiredis;" "hiredis::hiredis_static;" REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC
"${REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC}")
endif()
-
if (TARGET hiredis::hiredis_ssl_static)
# If SSL is not enabled, this line will have no effect
- string(REPLACE "hiredis::hiredis_ssl" "hiredis::hiredis_ssl_static" REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC
+ string(REPLACE "hiredis::hiredis_ssl;" "hiredis::hiredis_ssl_static;" REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC
"${REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC}")
endif()

--
2.34.1

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
DEPENDS += "hiredis"

SRC_URI = "git://github.com/sewenew/redis-plus-plus;branch=master;protocol=https \
file://0001-include-cstdint.patch"
file://0001-include-cstdint.patch \
file://0001-CMakeLists.txt-fix-substitution-for-static-libs.patch"
SRCREV = "f3b19a8a1f609d1a1b79002802e5cf8c336dc262"

S = "${WORKDIR}/git"
Expand Down

0 comments on commit e8b3113

Please sign in to comment.