From bff1f9d4c4c33a12349bc3e861fe4d387b749a74 Mon Sep 17 00:00:00 2001 From: Riccardo Spagni Date: Wed, 24 Sep 2014 20:38:24 +0200 Subject: [PATCH] redo FindUnbound.cmake --- CMakeLists.txt | 4 ++++ cmake/FindUnbound.cmake | 48 ++++++++++++++++++++--------------------- src/CMakeLists.txt | 8 +++---- 3 files changed, 31 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c9a794c9..fcbd64ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,7 +85,9 @@ if (UNIX AND NOT APPLE) find_package(Threads) endif() +# Find unbound - don't move this to the end, cmake is weird about this find_package(Unbound REQUIRED) +include_directories(${UNBOUND_INCLUDE}) if(MSVC) add_definitions("/bigobj /MP /W3 /GS- /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /DGTEST_HAS_TR1_TUPLE=0 /FIinline_c.h /D__SSE4_1__") @@ -210,5 +212,7 @@ else() include_directories(${UPNP_INCLUDE}) endif() + + add_subdirectory(src) add_subdirectory(tests) diff --git a/cmake/FindUnbound.cmake b/cmake/FindUnbound.cmake index 3d2e8f6d..8d6f4ae7 100644 --- a/cmake/FindUnbound.cmake +++ b/cmake/FindUnbound.cmake @@ -25,31 +25,29 @@ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -include (CheckIncludeFiles) -include (CheckLibraryExists) -include (CheckSymbolExists) +MESSAGE("Looking for libunbound") -set (Unbound_FOUND FALSE) -MESSAGE("Attempting to find libunbound") +FIND_PATH(UNBOUND_INCLUDE_DIR + NAMES unbound.h + PATH_SUFFIXES include/ include/unbound/ + PATHS "${PROJECT_SOURCE_DIR}" + ${UNBOUND_ROOT} + $ENV{UNBOUND_ROOT} + /usr/local/ + /usr/ +) -#FIND_PATH("unbound.h" CMAKE_HAVE_UNBOUND_H) -MESSAGE("CMAKE_INCLUDE_PATH: ${CMAKE_INCLUDE_PATH}") -MESSAGE("CMAKE_SYSTEM_INCLUDE_PATH: ${CMAKE_SYSTEM_INCLUDE_PATH}") -CHECK_INCLUDE_FILES("unbound.h" CMAKE_HAVE_UNBOUND_H) -MESSAGE("CMAKE_HAVE_UNBOUND_H: ${CMAKE_HAVE_UNBOUND_H}") +find_library(UNBOUND_LIBRARIES unbound) -if(CMAKE_HAVE_UNBOUND_H) - - MESSAGE("unbound.h found") - - CHECK_LIBRARY_EXISTS(unbound ub_ctx_create "" CMAKE_HAVE_UNBOUND) - - if(CMAKE_HAVE_UNBOUND) - MESSAGE("-lunbound works?") - set(CMAKE_UNBOUND_LIB "-lunbound") - set(Unbound_FOUND TRUE) - endif() -endif() - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Unbound DEFAULT_MSG Unbound_FOUND) +IF(UNBOUND_INCLUDE_DIR) + MESSAGE(STATUS "Found unbound include in ${UNBOUND_INCLUDE_DIR}") + IF(UNBOUND_LIBRARIES) + MESSAGE(STATUS "Found unbound library") + set(UNBOUND_INCLUDE ${UNBOUND_INCLUDE_DIR}) + set(UNBOUND_LIBRARY ${UNBOUND_LIBRARIES}) + ELSE() + MESSAGE(FATAL_ERROR "Could not find unbound library") + ENDIF() +ELSE() + MESSAGE(FATAL_ERROR "Could not find unbound library") +ENDIF() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7cef257d..e5502cdb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -60,13 +60,13 @@ add_library(cryptonote_core ${CRYPTONOTE_CORE}) add_executable(daemon ${DAEMON} ${P2P} ${CRYPTONOTE_PROTOCOL}) add_executable(connectivity_tool ${CONN_TOOL}) add_executable(simpleminer ${MINER}) -target_link_libraries(daemon rpc cryptonote_core crypto common ${UPNP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES} ${CMAKE_UNBOUND_LIB}) -target_link_libraries(connectivity_tool cryptonote_core crypto common ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES} ${CMAKE_UNBOUND_LIB}) -target_link_libraries(simpleminer cryptonote_core crypto common ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES} ${CMAKE_UNBOUND_LIB}) +target_link_libraries(daemon rpc cryptonote_core crypto common ${UNBOUND_LIBRARIES} ${UPNP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES}) +target_link_libraries(connectivity_tool cryptonote_core crypto common ${UNBOUND_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES}) +target_link_libraries(simpleminer cryptonote_core crypto common ${UNBOUND_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES}) add_library(rpc ${RPC}) add_library(wallet ${WALLET}) add_executable(simplewallet ${SIMPLEWALLET} ) -target_link_libraries(simplewallet wallet rpc cryptonote_core crypto common ${UPNP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES} ${CMAKE_UNBOUND_LIB}) +target_link_libraries(simplewallet wallet rpc cryptonote_core crypto common ${UNBOUND_LIBRARIES} ${UPNP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES}) add_dependencies(daemon version) add_dependencies(rpc version) add_dependencies(simplewallet version)