@@ -116,6 +116,7 @@ if(USE_CONAN AND CONAN_TOOLCHAIN_FOUND)
116116 find_package (cpprestsdk REQUIRED )
117117 find_package (fmt REQUIRED )
118118 find_package (rxcpp QUIET )
119+ find_package (OpenSSL REQUIRED )
119120
120121 # Verify packages were found
121122 if (TARGET Catch2::Catch2)
@@ -135,9 +136,9 @@ if(USE_CONAN AND CONAN_TOOLCHAIN_FOUND)
135136 list (APPEND CONAN_LIBS RxCpp::RxCpp)
136137 message (STATUS "Found rxcpp from Conan" )
137138 endif ()
138- # Add openssl explicitly to ensure headers are available
139- if (TARGET openssl::openssl )
140- list (APPEND CONAN_LIBS openssl::openssl )
139+ # Add openssl explicitly to ensure headers are available
140+ if (TARGET OpenSSL::SSL )
141+ list (APPEND CONAN_LIBS OpenSSL::SSL OpenSSL::Crypto )
141142 message (STATUS "Found openssl from Conan" )
142143 endif ()
143144 else ()
@@ -164,13 +165,35 @@ list(FILTER INFLUXDB_CPP_REST_SOURCES EXCLUDE REGEX ".*\\.h$")
164165add_library (influxdb-cpp-rest STATIC
165166 ${INFLUXDB_CPP_REST_SOURCES}
166167)
167- target_include_directories (influxdb-cpp-rest PUBLIC
168+ target_include_directories (influxdb-cpp-rest PUBLIC
168169 src/influxdb-cpp-rest
169170)
170171target_link_libraries (influxdb-cpp-rest
171172 PUBLIC
172173 ${CONAN_LIBS}
173174)
175+ # Workaround: Conan OpenSSL CMakeDeps doesn't set include directories
176+ if (TARGET OpenSSL::SSL)
177+ # Read openssl package folder from the data file
178+ file (GLOB _OPENSSL_DATA_FILES "${CMAKE_CURRENT_LIST_DIR} /OpenSSL-*-data.cmake" )
179+ if (_OPENSSL_DATA_FILES)
180+ list (GET _OPENSSL_DATA_FILES 0 _OPENSSL_DATA_FILE)
181+ endif ()
182+ if (_OPENSSL_DATA_FILE)
183+ file (READ "${_OPENSSL_DATA_FILE} " _OPENSSL_DATA_CONTENT )
184+ string (REGEX MATCH "set\\ (openssl_PACKAGE_FOLDER_RELEASE \" ([^\" ]+)\"\\ )" _MATCH "${_OPENSSL_DATA_CONTENT} " )
185+ if (_MATCH)
186+ string (REGEX REPLACE ".*openssl_PACKAGE_FOLDER_RELEASE \" ([^\" ]+)\" .*" "\\ 1" OPENSSL_PKG_FOLDER "${_MATCH} " )
187+ set (OPENSSL_INCLUDE_DIR "${OPENSSL_PKG_FOLDER} /include" )
188+ if (EXISTS "${OPENSSL_INCLUDE_DIR} " )
189+ set_target_properties (OpenSSL::SSL OpenSSL::Crypto PROPERTIES
190+ INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR} "
191+ )
192+ message (STATUS "Set OpenSSL include dir: ${OPENSSL_INCLUDE_DIR} " )
193+ endif ()
194+ endif ()
195+ endif ()
196+ endif ()
174197
175198# Shared library: influx-c-rest
176199file (GLOB_RECURSE INFLUX_C_REST_SOURCES
0 commit comments