Skip to content

Commit

Permalink
Use imported libraries for OpenSSL in all cases.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ferroin committed May 3, 2024
1 parent a57c5a5 commit feab040
Showing 1 changed file with 16 additions and 22 deletions.
38 changes: 16 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@ endif()
set(ENABLE_OPENSSL True)
pkg_check_modules(OPENSSL IMPORTED_TARGET openssl)

if(NOT OPENSSL_FOUND)
if(NOT TARGET PkgConfig::OPENSSL)
if(MACOS)
execute_process(COMMAND
brew --prefix --installed openssl
Expand All @@ -503,16 +503,21 @@ if(NOT OPENSSL_FOUND)
message(FATAL_ERROR "OpenSSL (or LibreSSL) is required for building Netdata, but could not be found.")
endif()

set(OPENSSL_INCLUDE_DIRS "${BREW_OPENSSL_PREFIX}/include")
set(OPENSSL_CFLAGS_OTHER "")
set(OPENSSL_LDFLAGS "-L${BREW_OPENSSL_PREFIX}/lib;-lssl;-lcrypto")
add_library(PkgConfig::CRYPTO IMPORTED)
set_target_properties(PkgConfig::CRYPTO
IMPORTED_LOCATION ${BREW_OPENSSL_PREFIX}/lib/libcrypto.dylib
INTERFACE_INCLUDE_DIRECTORIES ${BREW_OPENSSL_PREFIX}/include)

add_library(PkgConfig::OPENSSL IMPORTED)
set_target_properties(PkgConfig::OPENSSL
IMPORTED_LOCATION ${BREW_OPENSSL_PREFIX}/lib/libssl.dylib
INTERFACE_LINK_LIBRARIES PkgConfig::CRYPTO
INTERFACE_INCLUDE_DIRECTORIES ${BREW_OPENSSL_PREFIX}/include)
else()
message(FATAL_ERROR "OpenSSL (or LibreSSL) is required for building Netdata, but could not be found.")
endif()
endif()

if(NOT MACOS)
pkg_check_modules(CRYPTO IMPORTED_TARGET libcrypto)
else()
pkg_check_modules(CRYPTO IMPORTED_TARGET REQUIRED libcrypto)
endif()

#
Expand Down Expand Up @@ -1453,10 +1458,7 @@ if(ENABLE_H2O)
)

target_compile_options(h2o PUBLIC -DH2O_USE_LIBUV=0)

target_include_directories(h2o BEFORE PRIVATE ${OPENSSL_INCLUDE_DIRS})
target_compile_options(h2o PRIVATE ${OPENSSL_CFLAGS_OTHER})
target_link_libraries(h2o PRIVATE ${OPENSSL_LIBRARIES})
target_link_libraries(h2o PRIVATE PkgConfig::OPENSSL)
endif()

#
Expand Down Expand Up @@ -1589,18 +1591,10 @@ target_compile_definitions(libnetdata PUBLIC ${LIBUV_CFLAGS_OTHER})
target_link_libraries(libnetdata PUBLIC ${LIBUV_LDFLAGS})

# crypto
if(TARGET PkgConfig::CRYPTO)
target_link_libraries(libnetdata PUBLIC PkgConfig::CRYPTO)
endif()
target_link_libraries(libnetdata PUBLIC PkgConfig::CRYPTO)

# openssl
if(TARGET PkgConfig::OPENSSL)
target_link_libraries(libnetdata PUBLIC PkgConfig::OPENSSL)
else()
target_include_directories(libnetdata BEFORE PUBLIC ${OPENSSL_INCLUDE_DIRS})
target_compile_options(libnetdata PUBLIC ${OPENSSL_CFLAGS_OTHER})
target_link_libraries(libnetdata PUBLIC ${OPENSSL_LDFLAGS})
endif()
target_link_libraries(libnetdata PUBLIC PkgConfig::OPENSSL)

# mnl
if(NOT MACOS)
Expand Down

0 comments on commit feab040

Please sign in to comment.