option(WITH_OPENSSL "OPENSSL is here" ON)
if(${WITH_OPENSSL})
find_package(OpenSSL REQUIRED)
-set(HAVE_OPENSSL ON)
+set(USE_OPENSSL ON)
#message(STATUS "${OPENSSL_LIBRARIES}")
else(${WITH_OPENSSL})
-set(HAVE_OPENSSL OFF)
+set(USE_OPENSSL OFF)
set(OPENSSL_LIBRARIES)
endif(${WITH_OPENSSL})
#option for RGW
option(WITH_RADOSGW "Rados Gateway 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)
add_library(civetweb_common_objs OBJECT ${civetweb_common_files})
target_include_directories(civetweb_common_objs PRIVATE
"${CMAKE_SOURCE_DIR}/src/civetweb/include")
- if(HAVE_OPENSSL)
set_property(TARGET civetweb_common_objs
- APPEND PROPERTY COMPILE_DEFINITIONS NO_SSL_DL=1)
- target_include_directories(civetweb_common_objs PUBLIC
- "${OPENSSL_INCLUDE_DIR}")
- else(HAVE_OPENSSL)
- endif(HAVE_OPENSSL)
+ APPEND PROPERTY COMPILE_DEFINITIONS USE_IPV6=1)
+ if(USE_OPENSSL)
+ set_property(TARGET civetweb_common_objs
+ APPEND PROPERTY COMPILE_DEFINITIONS NO_SSL_DL=1)
+ target_include_directories(civetweb_common_objs PRIVATE
+ "${SSL_INCLUDE_DIR}")
+ 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_library(rgw_a STATIC ${rgw_a_srcs})
target_link_libraries(rgw_a librados cls_rgw_client cls_refcount_client