else(USE_NSS)
#openssl
find_package(OpenSSL REQUIRED)
- set(HAVE_OPENSSL ON)
+ set(USE_OPENSSL ON)
set(SSL_LIBRARIES ${OPENSSL_LIBRARIES})
message(STATUS "SSL with OpenSSL selected (Libs: ${SSL_LIBRARIES})")
endif(USE_NSS)
option(WITH_RADOSGW_ASIO_FRONTEND "Rados Gateway's ASIO frontend is enabled" ON)
+if (WITH_RADOSGW)
+ if (NOT DEFINED OPENSSL_FOUND)
+ message(STATUS "Looking for openssl anyways, because radosgw selected")
+ find_package(OpenSSL)
+ endif()
+ if (OPENSSL_FOUND)
+ execute_process(
+ COMMAND
+ "sh" "-c"
+ "objdump -p ${OPENSSL_SSL_LIBRARY} | sed -n 's/^ SONAME *//p'"
+ OUTPUT_VARIABLE LIBSSL_SONAME
+ ERROR_VARIABLE OBJDUMP_ERRORS
+ RESULT_VARIABLE OBJDUMP_RESULTS
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if (OBJDUMP_RESULTS)
+ message(FATAL_ERROR "can't run objdump: ${OBJDUMP_RESULTS}")
+ endif()
+ if (NOT OBJDUMP_ERRORS STREQUAL "")
+ message(WARNING "message from objdump: ${OBJDUMP_ERRORS}")
+ endif()
+ execute_process(
+ COMMAND
+ "sh" "-c"
+ "objdump -p ${OPENSSL_CRYPTO_LIBRARY} | sed -n 's/^ SONAME *//p'"
+ OUTPUT_VARIABLE LIBCRYPTO_SONAME
+ ERROR_VARIABLE OBJDUMP_ERRORS
+ RESULT_VARIABLE OBJDUMP_RESULTS
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if (OBJDUMP_RESULTS)
+ message(FATAL_ERROR "can't run objdump: ${OBJDUMP_RESULTS}")
+ endif()
+ if (NOT OBJDUMP_ERRORS STREQUAL "")
+ message(WARNING "message from objdump: ${OBJDUMP_ERRORS}")
+ endif()
+ message(STATUS "ssl soname: ${LIBSSL_SONAME}")
+ message(STATUS "crypto soname: ${LIBCRYPTO_SONAME}")
+ else()
+ message(WARNING "ssl not found: rgw civetweb may fail to dlopen libssl libcrypto")
+ endif()
+endif (WITH_RADOSGW)
+
#option for CephFS
option(WITH_CEPHFS "CephFS is enabled" ON)
"${CMAKE_SOURCE_DIR}/src/civetweb/include")
set_property(TARGET civetweb_common_objs
APPEND PROPERTY COMPILE_DEFINITIONS USE_IPV6=1)
- if(HAVE_SSL)
+ if(USE_OPENSSL)
set_property(TARGET civetweb_common_objs
APPEND PROPERTY COMPILE_DEFINITIONS NO_SSL_DL=1)
- target_include_directories(civetweb_common_objs PUBLIC
+ target_include_directories(civetweb_common_objs PRIVATE
"${SSL_INCLUDE_DIR}")
- endif(HAVE_SSL)
+ endif(USE_OPENSSL)
+ if (LIBSSL_SONAME)
+ set_property(TARGET civetweb_common_objs
+ APPEND PROPERTY COMPILE_DEFINITIONS SSL_LIB="${LIBSSL_SONAME}")
+ set_property(TARGET civetweb_common_objs
+ APPEND PROPERTY COMPILE_DEFINITIONS CRYPTO_LIB="${LIBCRYPTO_SONAME}")
+ endif()
+
add_subdirectory(rgw)
+
endif(WITH_RADOSGW)
install(FILES