From 702008666ca9de4547e59375389b498c3568884f Mon Sep 17 00:00:00 2001 From: Telford Berkey Date: Fri, 6 Feb 2015 11:27:11 -0500 Subject: [PATCH] Adding Bryan's changes. --- CMakeLists.txt | 60 ++++++++++++++++++++----- builds/cmake/Modules/FindAsciiDoc.cmake | 17 ++++--- 2 files changed, 57 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a15fef6..fce10975 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,8 +103,6 @@ list(APPEND CMAKE_MODULE_PATH ${ZMQ_CMAKE_MODULES_DIR}) include(TestZMQVersion) include(ZMQSourceRunChecks) -include(CheckIncludeFiles) -include(CheckLibraryExists) include(CheckCCompilerFlag) include(CheckCXXCompilerFlag) include(CheckCSourceCompiles) @@ -112,16 +110,56 @@ include(CheckCSourceRuns) include(CMakeDependentOption) include(CheckCXXSymbolExists) -check_include_files(ifaddrs.h ZMQ_HAVE_IFADDRS) -check_include_files(windows.h ZMQ_HAVE_WINDOWS) -check_include_files(sys/uio.h ZMQ_HAVE_UIO) -check_include_files(sys/eventfd.h ZMQ_HAVE_EVENTFD) +# MACRO to find include file +macro(zmq_find_include include_name var_result) + message(STATUS "Looking for header ${include_name}") + find_file(file_result NAMES "${include_name}" ) +# message(STATUS "Find File result - ${file_result}") + string(FIND "${file_result}" "NOTFOUND" pos) + if (pos EQUAL -1) + #found include file + message(STATUS "Looking for header ${include_name} - found") + set("${var_result}" "${file_result}") + else() + # did not find include + message(STATUS "Looking for header ${include_name} - not found") + set("${var_result}" "") + endif() + #clear the find result + unset(file_result CACHE) +endmacro() -check_library_exists(ws2_32 printf "" HAVE_WS2_32) # TODO: Why doesn't something logical like WSAStartup work? -check_library_exists(ws2 printf "" HAVE_WS2) -check_library_exists(rpcrt4 printf "" HAVE_RPCRT4) # UuidCreateSequential -check_library_exists(iphlpapi printf "" HAVE_IPHLAPI) # GetAdaptersAddresses +# MACRO to find a library +macro(zmq_find_library library_name var_result) + message(STATUS "Looking for library ${library_name}") + find_library(lib_result NAMES "${library_name}" ) +# message(STATUS "Find Library result - ${lib_result}") + string(FIND "${lib_result}" "NOTFOUND" pos) + if (pos EQUAL -1) + #found library + message(STATUS "Looking for library ${library_name} - found") + set("${var_result}" "${lib_result}") + else() + # did not find library + message(STATUS "Looking for library ${library_name} - not found") + set("${var_result}" "") + endif() + #clear the find result + unset(lib_result CACHE) +endmacro() +#use find file instead of check_include_files +zmq_find_include("ifaddrs.h" ZMQ_HAVE_IFADDRS) +zmq_find_include("windows.h" ZMQ_HAVE_WINDOWS) +zmq_find_include("sys/uio.h" ZMQ_HAVE_UIO) +zmq_find_include("sys/eventfd.h" ZMQ_HAVE_EVENTFD) + +#use find library instead of check library which fails on VS2015 +zmq_find_library("ws2_32" HAVE_WS2_32) +zmq_find_library("ws2" HAVE_WS2) +zmq_find_library("rpcrt4" HAVE_RPCRT4) # UuidCreateSequential +zmq_find_library("iphlpapi" HAVE_IPHLAPI) # GetAdaptersAddresses + check_cxx_symbol_exists(SO_PEERCRED sys/socket.h ZMQ_HAVE_SO_PEERCRED) check_cxx_symbol_exists(LOCAL_PEERCRED sys/socket.h ZMQ_HAVE_LOCAL_PEERCRED) @@ -267,7 +305,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin") endif() if(NOT WITHOUT_ASCIIDOC) - set(CMAKE_PYTHON_VERSION 2.7 2.6 2.5 2.4) + set(CMAKE_PYTHON_VERSION 3.4 3.3 3.2 3.1 3.0 2.7 2.6 2.5 2.4) find_package(PythonInterp) find_package(AsciiDoc) else() diff --git a/builds/cmake/Modules/FindAsciiDoc.cmake b/builds/cmake/Modules/FindAsciiDoc.cmake index db4e418c..c032ac43 100644 --- a/builds/cmake/Modules/FindAsciiDoc.cmake +++ b/builds/cmake/Modules/FindAsciiDoc.cmake @@ -7,17 +7,16 @@ # A2X_FOUND - If false, don't attempt to use a2x. find_program(ASCIIDOC_EXECUTABLE asciidoc asciidoc.py - PATHS "$ENV{ASCIIDOC_ROOT}" - "$ENV{PROGRAMW6432}/asciidoc" - "$ENV{PROGRAMFILES}/asciidoc" - "$ENV{PROGRAMFILES(X86)}/asciidoc") + PATHS ENV "ASCIIDOC_ROOT" + ENV "PROGRAMW6432" PATH_SUFFIXES "/asciidoc" + ENV "PROGRAMFILES" PATH_SUFFIXES "/asciidoc" + ENV "PROGRAMFILES(X86)" PATH_SUFFIXES "/asciidoc") find_program(A2X_EXECUTABLE a2x - PATHS "$ENV{ASCIIDOC_ROOT}" - "$ENV{PROGRAMW6432}/asciidoc" - "$ENV{PROGRAMFILES}/asciidoc" - "$ENV{PROGRAMFILES(X86)}/asciidoc") - + PATHS ENV "ASCIIDOC_ROOT" + ENV "PROGRAMW6432" PATH_SUFFIXES "/asciidoc" + ENV "PROGRAMFILES" PATH_SUFFIXES "/asciidoc" + ENV "PROGRAMFILES(X86)" PATH_SUFFIXES "/asciidoc") include(FindPackageHandleStandardArgs) find_package_handle_standard_ARGS(AsciiDoc REQUIRED_VARS ASCIIDOC_EXECUTABLE)