From 9f477e2fb2a0b3af77d48e70ab31fcbc30868f47 Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Thu, 30 Apr 2026 19:13:43 +0300 Subject: [PATCH] Update CMakeLists.txt --- CMakeLists.txt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b8f8b4..9eac4fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -440,20 +440,21 @@ if(OpenSSL_FOUND) target_link_libraries(3proxy PRIVATE OpenSSL::SSL OpenSSL::Crypto) endif() -# PCRE2 linking (static on Linux/FreeBSD, dynamic on other platforms) +# PCRE2 linking (try static first on Linux/FreeBSD, fallback to dynamic) if(PCRE2_FOUND) if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD|OpenBSD|NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "Unix") - # Static linking for Linux/BSD + # Try static linking for Linux/BSD find_library(PCRE2_STATIC_LIB - NAMES pcre2-8 libpcre2-8.a pcre2-8.a + NAMES pcre2-8-static libpcre2-8.a pcre2-8.a PATHS ${PC_PCRE2_LIBRARY_DIRS} + /usr/lib/x86_64-linux-gnu /usr/lib /usr/local/lib /lib ) - if(PCRE2_STATIC_LIB) + if(PCRE2_STATIC_LIB AND PCRE2_STATIC_LIB MATCHES "\\.a$") target_link_libraries(3proxy PRIVATE -Wl,-Bstatic ${PCRE2_STATIC_LIB} @@ -462,8 +463,10 @@ if(PCRE2_FOUND) message(STATUS "Using static PCRE2: ${PCRE2_STATIC_LIB}") elseif(TARGET PCRE2::PCRE2) target_link_libraries(3proxy PRIVATE PCRE2::PCRE2) + message(STATUS "Using dynamic PCRE2 (PCRE2::PCRE2)") else() target_link_libraries(3proxy PRIVATE ${PCRE2_LIBRARIES}) + message(STATUS "Using dynamic PCRE2: ${PCRE2_LIBRARIES}") endif() elseif(TARGET PCRE2::PCRE2) target_link_libraries(3proxy PRIVATE PCRE2::PCRE2)