From 289fc0498793292cfc3b5b6b4a407cf17ad7f138 Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Thu, 30 Apr 2026 18:13:28 +0300 Subject: [PATCH] Update CMakeLists.txt --- CMakeLists.txt | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 024ff10..b553b4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,7 +105,6 @@ if(WIN32) # MSVC-specific settings add_compile_definitions( MSVC - WITH_SSL ) # Use static runtime library set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") @@ -123,7 +122,6 @@ if(WIN32) # clang-cl (Clang with MSVC frontend) add_compile_definitions( MSVC - WITH_SSL ) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") add_compile_options( @@ -254,14 +252,14 @@ endif() # OpenSSL set(OPENSSL_FOUND FALSE) if(3PROXY_USE_OPENSSL) - find_package(OpenSSL QUIET) + find_package(OpenSSL REQUIRED) if(OpenSSL_FOUND) set(OPENSSL_FOUND TRUE) add_compile_definitions(WITH_SSL) message(STATUS "OpenSSL found: ${OPENSSL_VERSION}") - else() - message(STATUS "OpenSSL not found, SSLPlugin will not be built") endif() +else() + message(STATUS "OpenSSL disabled by user request") endif() # PCRE2 @@ -302,6 +300,11 @@ if(NOT ODBC_FOUND) add_compile_definitions(NOODBC) endif() +# Set NORADIUS if OpenSSL is not available (RADIUS requires MD5 from OpenSSL) +if(NOT OPENSSL_FOUND) + add_compile_definitions(NORADIUS) +endif() + # Source files for 3proxy core set(3PROXY_CORE_SOURCES src/3proxy.c @@ -419,19 +422,17 @@ if(ODBC_FOUND) endif() endif() +if(OpenSSL_FOUND) + target_link_libraries(3proxy PRIVATE OpenSSL::SSL OpenSSL::Crypto) +endif() + if(WIN32) target_link_libraries(3proxy PRIVATE ${WINDOWS_LIBS}) - if(OpenSSL_FOUND) - target_link_libraries(3proxy PRIVATE OpenSSL::SSL OpenSSL::Crypto) - endif() if(COMPILER_IS_MSVC AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/3proxy.rc) target_sources(3proxy PRIVATE 3proxy.rc) endif() elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") target_link_libraries(3proxy PRIVATE dl) - if(OpenSSL_FOUND) - target_link_libraries(3proxy PRIVATE OpenSSL::SSL OpenSSL::Crypto) - endif() endif() # Build 3proxy_crypt utility