Skip to content

Commit ebff852

Browse files
committed
build: pass OpenSSL paths from CMake to Cargo
Derive OPENSSL_LIB_DIR from the library path found by CMake's find_package(OpenSSL) and pass both OPENSSL_LIB_DIR and OPENSSL_INCLUDE_DIR to cargo_build() via the ENV parameter. This ensures openssl-sys finds the same OpenSSL installation that CMake found, rather than searching independently. No functional change — openssl-sys already dynamically links OpenSSL by default.
1 parent f42211f commit ebff852

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

cmake/Dependencies.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ if(CASS_USE_OPENSSL)
103103
message(STATUS "${OPENSSL_NAME} version: v${OPENSSL_VERSION}")
104104
endif()
105105

106+
# Derive OPENSSL_LIB_DIR for passing to openssl-sys via environment.
107+
get_filename_component(OPENSSL_LIB_DIR "${OPENSSL_SSL_LIBRARY}" DIRECTORY)
108+
106109
set(CASS_INCLUDES ${CASS_INCLUDES} ${OPENSSL_INCLUDE_DIR})
107110
set(CASS_LIBS ${CASS_LIBS} ${OPENSSL_LIBRARIES})
108111
endif()

scylla-rust-wrapper/CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ else()
5757
set(CMAKE_Rust_FLAGS "${CMAKE_Rust_FLAGS_SONAME}")
5858
endif()
5959
if(CASS_BUILD_SHARED)
60-
cargo_build(NAME scylla_cpp_driver CRATE_TYPE cdylib)
60+
cargo_build(NAME scylla_cpp_driver CRATE_TYPE cdylib
61+
ENV "OPENSSL_LIB_DIR=${OPENSSL_LIB_DIR}"
62+
"OPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR}")
6163
create_copy($<TARGET_FILE:scylla_cpp_driver_cdylib> ${INSTALL_NAME_SHARED})
6264
add_library(scylla-cpp-driver SHARED IMPORTED GLOBAL)
6365
add_dependencies(scylla-cpp-driver ${INSTALL_NAME_SHARED}_copy)
@@ -75,7 +77,9 @@ if(CASS_BUILD_SHARED)
7577
endif()
7678
endif()
7779
if(CASS_BUILD_STATIC)
78-
cargo_build(NAME scylla_cpp_driver CRATE_TYPE staticlib)
80+
cargo_build(NAME scylla_cpp_driver CRATE_TYPE staticlib
81+
ENV "OPENSSL_LIB_DIR=${OPENSSL_LIB_DIR}"
82+
"OPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR}")
7983
create_copy($<TARGET_FILE:scylla_cpp_driver_staticlib> ${INSTALL_NAME_STATIC})
8084
add_library(scylla-cpp-driver_static STATIC IMPORTED GLOBAL)
8185
add_dependencies(scylla-cpp-driver_static ${INSTALL_NAME_STATIC}_copy)

0 commit comments

Comments
 (0)