This is an automated email from the ASF dual-hosted git repository.

jensg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/thrift.git


The following commit(s) were added to refs/heads/master by this push:
     new dbb95e4  THRIFT-5076 Improve CMake OpenSSL usage Client: c_glib Patch: 
Kevin Wojniak
dbb95e4 is described below

commit dbb95e438f90609c8bc70b6953f65e97afedbb1b
Author: Kevin Wojniak <[email protected]>
AuthorDate: Sat Jan 25 12:37:23 2020 -0800

    THRIFT-5076 Improve CMake OpenSSL usage
    Client: c_glib
    Patch: Kevin Wojniak
    
    This closes #1994
---
 build/cmake/DefineOptions.cmake | 15 ++++++++++++---
 lib/c_glib/CMakeLists.txt       |  5 ++---
 test/c_glib/CMakeLists.txt      |  3 ++-
 3 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/build/cmake/DefineOptions.cmake b/build/cmake/DefineOptions.cmake
index f85d2c6..8357160 100644
--- a/build/cmake/DefineOptions.cmake
+++ b/build/cmake/DefineOptions.cmake
@@ -73,9 +73,6 @@ if(WITH_CPP)
     find_package(Qt5 QUIET COMPONENTS Core Network)
     CMAKE_DEPENDENT_OPTION(WITH_QT5 "Build with Qt5 support" ON
                            "Qt5_FOUND" OFF)
-    find_package(OpenSSL QUIET)
-    CMAKE_DEPENDENT_OPTION(WITH_OPENSSL "Build with OpenSSL support" ON
-                           "OPENSSL_FOUND" OFF)
 endif()
 CMAKE_DEPENDENT_OPTION(BUILD_CPP "Build C++ library" ON
                        "BUILD_LIBRARIES;WITH_CPP" OFF)
@@ -88,6 +85,13 @@ endif()
 CMAKE_DEPENDENT_OPTION(BUILD_C_GLIB "Build C (GLib) library" ON
                        "BUILD_LIBRARIES;WITH_C_GLIB;GLIB_FOUND" OFF)
 
+# OpenSSL
+if(WITH_CPP OR WITH_C_GLIB)
+    find_package(OpenSSL QUIET)
+    CMAKE_DEPENDENT_OPTION(WITH_OPENSSL "Build with OpenSSL support" ON
+                        "OPENSSL_FOUND" OFF)
+endif()
+
 # Java
 option(WITH_JAVA "Build Java Thrift library" ON)
 if(ANDROID)
@@ -170,6 +174,11 @@ message(STATUS "  Build as3 library:                       
   ${BUILD_AS3}")
 MESSAGE_DEP(WITH_AS3 "Disabled by WITH_AS3=OFF")
 MESSAGE_DEP(HAVE_COMPC "Adobe Flex compc was not found - did you set env var 
FLEX_HOME?")
 message(STATUS)
+message(STATUS "  Build with OpenSSL:                         ${WITH_OPENSSL}")
+if(WITH_OPENSSL)
+    message(STATUS "    Version:                                  
${OPENSSL_VERSION}")
+endif()
+message(STATUS)
 message(STATUS "  Build C++ library:                          ${BUILD_CPP}")
 MESSAGE_DEP(WITH_CPP "Disabled by WITH_CPP=OFF")
 if (BUILD_CPP)
diff --git a/lib/c_glib/CMakeLists.txt b/lib/c_glib/CMakeLists.txt
index 3e4a154..d9dc217 100644
--- a/lib/c_glib/CMakeLists.txt
+++ b/lib/c_glib/CMakeLists.txt
@@ -59,9 +59,8 @@ set(thrift_c_glib_SOURCES
 )
 
 # If OpenSSL is not found just ignore the OpenSSL stuff
-find_package(OpenSSL)
-if(OPENSSL_FOUND AND WITH_OPENSSL)
-    list( APPEND thrift_c_glib_SOURCES
+if(WITH_OPENSSL)
+    list(APPEND thrift_c_glib_SOURCES
            src/thrift/c_glib/transport/thrift_ssl_socket.c
     )
     include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
diff --git a/test/c_glib/CMakeLists.txt b/test/c_glib/CMakeLists.txt
index 9817315..7a7daad 100644
--- a/test/c_glib/CMakeLists.txt
+++ b/test/c_glib/CMakeLists.txt
@@ -28,6 +28,7 @@ include_directories(SYSTEM "${GLIBCONFIG_INCLUDE_DIR}")
 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
 include_directories("${CMAKE_CURRENT_BINARY_DIR}/gen-c_glib")
 include_directories("${PROJECT_SOURCE_DIR}/lib/c_glib/src")
+include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
 
 set(crosstestgencglib_SOURCES
        gen-c_glib/t_test_second_service.c
@@ -44,7 +45,7 @@ add_executable(test_server src/test_server.c 
src/thrift_test_handler.c src/thrif
 target_link_libraries(test_server crosstestgencglib)
 
 add_executable(test_client src/test_client.c)
-target_link_libraries(test_client crosstestgencglib)
+target_link_libraries(test_client crosstestgencglib "${OPENSSL_LIBRARIES}")
 
 #
 # Common thrift code generation rules

Reply via email to