From 7205210b0f6c3648361a9a0b2c17f1b6e7163ad9 Mon Sep 17 00:00:00 2001 From: warptangent Date: Fri, 12 Feb 2016 12:36:55 -0800 Subject: [PATCH] cmake: Fix unbound config compile settings This allows the OpenSSL function checks to compile in unbound's CMake configuration. Otherwise, the functions SHA256() and EVP_sha512() won't be called from libunbound as possible algorithms. They had not been compiling because static OpenSSL libraries were being used, along with lack of -ldl. The static library preference is unnecessary for the checks, so use default suffixes ordering for CMAKE_FIND_LIBRARY_SUFFIXES when building unbound. Related files: configure_checks.cmake external/unbound/validator/val_secalgo.c secalgo_ds_digest(), setup_key_digest() --- CMakeLists.txt | 2 ++ external/CMakeLists.txt | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ff4f8853..fa3b07a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -177,6 +177,8 @@ if(MINGW) list(REMOVE_ITEM CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES ${DEFLIB}) endif() +set(ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + if(STATIC) if(MSVC) set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .dll.a .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index d13f67b9..70763caf 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -76,7 +76,11 @@ endif() find_package(Unbound) if(NOT UNBOUND_INCLUDE_DIR OR STATIC) + # We want unbound config tests to be independent of changes made to this setting. + set(CURRENT_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) add_subdirectory(unbound) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CURRENT_CMAKE_FIND_LIBRARY_SUFFIXES}) set(UNBOUND_STATIC true PARENT_SCOPE) set(UNBOUND_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/unbound/libunbound" PARENT_SCOPE)