diff --git a/CMakeLists.txt b/CMakeLists.txt index ff4f8853..3e95f48f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -437,7 +437,7 @@ elseif(APPLE OR FREEBSD OR OPENBSD) set(EXTRA_LIBRARIES "") elseif(NOT MSVC) find_library(RT rt) - set(EXTRA_LIBRARIES ${RT} ${DL}) + set(EXTRA_LIBRARIES ${RT}) endif() include(version.cmake) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index d13f67b9..33e843e6 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -76,6 +76,11 @@ endif() find_package(Unbound) if(NOT UNBOUND_INCLUDE_DIR OR STATIC) + # NOTE: If STATIC is true, CMAKE_FIND_LIBRARY_SUFFIXES has been reordered. + # unbound has config tests which used OpenSSL libraries, so -ldl may need to + # be set in this case. + # The unbound CMakeLists.txt can set it, since it's also needed for the + # static OpenSSL libraries set up there after with target_link_libraries. add_subdirectory(unbound) set(UNBOUND_STATIC true PARENT_SCOPE) diff --git a/external/unbound/CMakeLists.txt b/external/unbound/CMakeLists.txt index 839b21c7..0dd5d6bc 100644 --- a/external/unbound/CMakeLists.txt +++ b/external/unbound/CMakeLists.txt @@ -40,6 +40,12 @@ if (APPLE) endif() find_package(OpenSSL REQUIRED) +if(STATIC) + if(UNIX) + set(OPENSSL_LIBRARIES "${OPENSSL_LIBRARIES};${CMAKE_DL_LIBS}") + endif() +endif() + find_package(Threads) include(configure_checks.cmake) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 036908f3..0ac4a0aa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -63,15 +63,6 @@ function (bitmonero_add_executable name) set_property(TARGET "${name}" PROPERTY RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") - - if (STATIC) - set_property(TARGET "${name}" - PROPERTY - LINK_SEARCH_START_STATIC 1) - set_property(TARGET "${name}" - PROPERTY - LINK_SEARCH_END_STATIC 1) - endif () endfunction () function (bitmonero_add_library name)