From 5723f54a446067422e8998dc0bef47f0447a8561 Mon Sep 17 00:00:00 2001 From: ariel- Date: Sat, 9 Jan 2016 10:06:23 -0300 Subject: [PATCH] Sync FindZMQ.cmake, also fix CMake unable to find ZeroMQ if Visual Studio 2015 is used. --- cmake/macros/FindZMQ.cmake | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/cmake/macros/FindZMQ.cmake b/cmake/macros/FindZMQ.cmake index b0d7c56489f..7fe9ef58fab 100644 --- a/cmake/macros/FindZMQ.cmake +++ b/cmake/macros/FindZMQ.cmake @@ -47,10 +47,22 @@ if (MSVC) string(REGEX REPLACE "\\." "_" ZMQ_NAME ${ZMQ_NAME}) # Get Visual studio version number - string(REGEX REPLACE "Visual Studio ([0-9]+).*" "\\1" ZMQ_VS_VERSION ${CMAKE_GENERATOR}) + set(_VS_VERSIONS "140" "120") - # Format ZMQ library file name - set(ZMQ_LIBRARY_NAME "libzmq-v${ZMQ_VS_VERSION}0-mt-${ZMQ_NAME}") + if (${ZMQ_NAME} MATCHES "registry") # if key was not found, the string "registry" is returned + set(_ZMQ_VERSIONS "4_0_4" "4_0_3" "4_0_2" "4_0_1" "4_0_0" "3_2_5" "3_2_4" "3_2_3" "3_2_2" "3_2_1" "3_2_0" "3_1_0") + set(ZMQ_LIBRARY_NAME) + foreach(ver ${_ZMQ_VERSIONS}) + foreach(vs ${_VS_VERSIONS}) + list(APPEND ZMQ_LIBRARY_NAME "libzmq-v${vs}-mt-${ver}") + endforeach() + endforeach() + else() + # Format ZMQ library file name + foreach(vs ${_VS_VERSIONS}) + set(ZMQ_LIBRARY_NAME "libzmq-v${vs}-mt-${ZMQ_NAME}") + endforeach() + endif() endif() find_library(ZMQ_LIBRARY @@ -64,7 +76,7 @@ find_library(ZMQ_LIBRARY "${ZMQ_ROOT_DIR}/lib" ) -if (ZMQ_INCLUDE_DIR AND ZMQ_LIBRARY) +if (ZMQ_INCLUDE_DIR AND ZMQ_LIBRARY AND NOT ZMQ_LIBRARY-NOTFOUND) set(ZMQ_FOUND 1) message(STATUS "Found ZMQ library: ${ZMQ_LIBRARY}") message(STATUS "Found ZMQ headers: ${ZMQ_INCLUDE_DIR}")