Commit f7d1c159 authored by Yann Diorcet's avatar Yann Diorcet

Fix windows compilation

parent c7fea390
...@@ -44,7 +44,7 @@ elseif (WITH_LIBSODIUM) ...@@ -44,7 +44,7 @@ elseif (WITH_LIBSODIUM)
# On Solaris, libsodium depends on libssp # On Solaris, libsodium depends on libssp
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS") if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
target_link_libraries (libzmq ssp) target_link_libraries (zmq-shared ssp)
endif () endif ()
set (ZMQ_USE_LIBSODIUM 1) set (ZMQ_USE_LIBSODIUM 1)
set (ZMQ_HAVE_CURVE 1) set (ZMQ_HAVE_CURVE 1)
...@@ -694,7 +694,7 @@ endforeach () ...@@ -694,7 +694,7 @@ endforeach ()
if (ZMQ_BUILD_FRAMEWORK) if (ZMQ_BUILD_FRAMEWORK)
add_custom_command ( add_custom_command (
TARGET libzmq TARGET zmq-shared
POST_BUILD POST_BUILD
COMMAND ${CMAKE_COMMAND} COMMAND ${CMAKE_COMMAND}
ARGS -E make_directory "${CMAKE_LIBRARY_OUTPUT_PATH}/ZeroMQ.framework/Versions/${ZMQ_VERSION}/MacOS" ARGS -E make_directory "${CMAKE_LIBRARY_OUTPUT_PATH}/ZeroMQ.framework/Versions/${ZMQ_VERSION}/MacOS"
...@@ -726,17 +726,18 @@ endif () ...@@ -726,17 +726,18 @@ endif ()
# output # output
if (MSVC) if (MSVC)
add_library (libzmq SHARED ${sources} ${public_headers} ${html-docs} ${readme-docs} ${CMAKE_CURRENT_BINARY_DIR}/NSIS.template.in) add_library (zmq-shared SHARED ${sources} ${public_headers} ${html-docs} ${readme-docs} ${CMAKE_CURRENT_BINARY_DIR}/NSIS.template.in)
target_link_libraries (libzmq ${OPTIONAL_LIBRARIES}) target_link_libraries (zmq-shared ${OPTIONAL_LIBRARIES})
set_target_properties (libzmq PROPERTIES set_target_properties (zmq-shared PROPERTIES
PUBLIC_HEADER "${public_headers}" PUBLIC_HEADER "${public_headers}"
RELEASE_POSTFIX "${MSVC_TOOLSET}-mt-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}" RELEASE_POSTFIX "${MSVC_TOOLSET}-mt-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
RELWITHDEBINFO_POSTFIX "${MSVC_TOOLSET}-mt-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}" RELWITHDEBINFO_POSTFIX "${MSVC_TOOLSET}-mt-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
DEBUG_POSTFIX "${MSVC_TOOLSET}-mt-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}" DEBUG_POSTFIX "${MSVC_TOOLSET}-mt-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin"
COMPILE_DEFINITIONS "DLL_EXPORT") COMPILE_DEFINITIONS "DLL_EXPORT"
add_library (libzmq-static STATIC ${sources}) OUTPUT_NAME "libzmq")
set_target_properties (libzmq-static PROPERTIES add_library (zmq-static STATIC ${sources})
set_target_properties (zmq-static PROPERTIES
PUBLIC_HEADER "${public_headers}" PUBLIC_HEADER "${public_headers}"
RELEASE_POSTFIX "${MSVC_TOOLSET}-mt-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}" RELEASE_POSTFIX "${MSVC_TOOLSET}-mt-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
RELWITHDEBINFO_POSTFIX "${MSVC_TOOLSET}-mt-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}" RELWITHDEBINFO_POSTFIX "${MSVC_TOOLSET}-mt-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
...@@ -744,17 +745,17 @@ if (MSVC) ...@@ -744,17 +745,17 @@ if (MSVC)
COMPILE_FLAGS "/DZMQ_STATIC" COMPILE_FLAGS "/DZMQ_STATIC"
OUTPUT_NAME "libzmq") OUTPUT_NAME "libzmq")
else () else ()
add_library (libzmq SHARED ${sources} ${public_headers} ${html-docs} ${readme-docs} ${zmq-pkgconfig}) add_library (zmq-shared SHARED ${sources} ${public_headers} ${html-docs} ${readme-docs} ${zmq-pkgconfig})
# NOTE: the SOVERSION MUST be the same as the one generated by libtool! # NOTE: the SOVERSION MUST be the same as the one generated by libtool!
set_target_properties (libzmq PROPERTIES set_target_properties (zmq-shared PROPERTIES
COMPILE_DEFINITIONS "DLL_EXPORT" COMPILE_DEFINITIONS "DLL_EXPORT"
PUBLIC_HEADER "${public_headers}" PUBLIC_HEADER "${public_headers}"
VERSION ${ZMQ_VERSION} VERSION ${ZMQ_VERSION}
SOVERSION "5.1.3" SOVERSION "5.1.3"
OUTPUT_NAME "libzmq" OUTPUT_NAME "zmq"
PREFIX "") PREFIX "lib")
if (ZMQ_BUILD_FRAMEWORK) if (ZMQ_BUILD_FRAMEWORK)
set_target_properties (libzmq PROPERTIES set_target_properties (zmq-shared PROPERTIES
FRAMEWORK TRUE FRAMEWORK TRUE
MACOSX_FRAMEWORK_IDENTIFIER "org.zeromq.libzmq" MACOSX_FRAMEWORK_IDENTIFIER "org.zeromq.libzmq"
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${ZMQ_VERSION} MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${ZMQ_VERSION}
...@@ -766,15 +767,15 @@ else () ...@@ -766,15 +767,15 @@ else ()
set_source_files_properties (${zmq-pkgconfig} PROPERTIES set_source_files_properties (${zmq-pkgconfig} PROPERTIES
MACOSX_PACKAGE_LOCATION lib/pkgconfig) MACOSX_PACKAGE_LOCATION lib/pkgconfig)
endif () endif ()
add_library (libzmq-static STATIC ${sources} ${public_headers} ${html-docs} ${readme-docs} ${zmq-pkgconfig}) add_library (zmq-static STATIC ${sources} ${public_headers} ${html-docs} ${readme-docs} ${zmq-pkgconfig})
set_target_properties (libzmq-static PROPERTIES set_target_properties (zmq-static PROPERTIES
PUBLIC_HEADER "${public_headers}" PUBLIC_HEADER "${public_headers}"
COMPILE_DEFINITIONS "ZMQ_STATIC" COMPILE_DEFINITIONS "ZMQ_STATIC"
OUTPUT_NAME "libzmq" OUTPUT_NAME "zmq"
PREFIX "") PREFIX "lib")
endif () endif ()
foreach (target libzmq libzmq-static) foreach (target zmq-shared zmq-static)
target_include_directories (${target} target_include_directories (${target}
PUBLIC PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
...@@ -783,27 +784,27 @@ foreach (target libzmq libzmq-static) ...@@ -783,27 +784,27 @@ foreach (target libzmq libzmq-static)
) )
endforeach() endforeach()
target_link_libraries (libzmq ${CMAKE_THREAD_LIBS_INIT}) target_link_libraries (zmq-shared ${CMAKE_THREAD_LIBS_INIT})
if (SODIUM_FOUND) if (SODIUM_FOUND)
target_link_libraries (libzmq ${SODIUM_LIBRARIES}) target_link_libraries (zmq-shared ${SODIUM_LIBRARIES})
endif () endif ()
if (HAVE_WS2_32) if (HAVE_WS2_32)
target_link_libraries (libzmq ws2_32) target_link_libraries (zmq-shared ws2_32)
elseif (HAVE_WS2) elseif (HAVE_WS2)
target_link_libraries (libzmq ws2) target_link_libraries (zmq-shared ws2)
endif () endif ()
if (HAVE_RPCRT4) if (HAVE_RPCRT4)
target_link_libraries (libzmq rpcrt4) target_link_libraries (zmq-shared rpcrt4)
endif () endif ()
if (HAVE_IPHLAPI) if (HAVE_IPHLAPI)
target_link_libraries (libzmq iphlpapi) target_link_libraries (zmq-shared iphlpapi)
endif () endif ()
if (RT_LIBRARY) if (RT_LIBRARY)
target_link_libraries (libzmq ${RT_LIBRARY}) target_link_libraries (zmq-shared ${RT_LIBRARY})
endif () endif ()
set (perf-tools local_lat set (perf-tools local_lat
...@@ -822,7 +823,7 @@ endif () ...@@ -822,7 +823,7 @@ endif ()
if (WITH_PERF_TOOL) if (WITH_PERF_TOOL)
foreach (perf-tool ${perf-tools}) foreach (perf-tool ${perf-tools})
add_executable (${perf-tool} perf/${perf-tool}.cpp) add_executable (${perf-tool} perf/${perf-tool}.cpp)
target_link_libraries (${perf-tool} libzmq ${OPTIONAL_LIBRARIES}) target_link_libraries (${perf-tool} zmq-shared ${OPTIONAL_LIBRARIES})
if (RT_LIBRARY) if (RT_LIBRARY)
target_link_libraries (${perf-tool} ${RT_LIBRARY}) target_link_libraries (${perf-tool} ${RT_LIBRARY})
...@@ -831,7 +832,7 @@ if (WITH_PERF_TOOL) ...@@ -831,7 +832,7 @@ if (WITH_PERF_TOOL)
if (ZMQ_BUILD_FRAMEWORK) if (ZMQ_BUILD_FRAMEWORK)
# Copy perf-tools binaries into Framework # Copy perf-tools binaries into Framework
add_custom_command ( add_custom_command (
TARGET libzmq ${perf-tool} TARGET zmq-shared ${perf-tool}
POST_BUILD POST_BUILD
COMMAND ${CMAKE_COMMAND} COMMAND ${CMAKE_COMMAND}
ARGS -E copy "$<TARGET_FILE:${perf-tool}>" "${LIBRARY_OUTPUT_PATH}/ZeroMQ.framework/Versions/${ZMQ_VERSION_STRING}/MacOS/${perf-tool}" ARGS -E copy "$<TARGET_FILE:${perf-tool}>" "${LIBRARY_OUTPUT_PATH}/ZeroMQ.framework/Versions/${ZMQ_VERSION_STRING}/MacOS/${perf-tool}"
...@@ -861,14 +862,14 @@ endif () ...@@ -861,14 +862,14 @@ endif ()
include(GNUInstallDirs) include(GNUInstallDirs)
if (MSVC) if (MSVC)
install (TARGETS libzmq libzmq-static install (TARGETS zmq-shared zmq-static
EXPORT ${PROJECT_NAME}-targets EXPORT ${PROJECT_NAME}-targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
COMPONENT SDK) COMPONENT SDK)
if (CMAKE_BUILD_TYPE STREQUAL "Debug") if (CMAKE_BUILD_TYPE STREQUAL "Debug")
install (TARGETS libzmq libzmq-static install (TARGETS zmq-shared zmq-static
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
...@@ -878,13 +879,13 @@ if (MSVC) ...@@ -878,13 +879,13 @@ if (MSVC)
COMPONENT SDK) COMPONENT SDK)
endif () endif ()
else () else ()
install (TARGETS libzmq install (TARGETS zmq-shared
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
COMPONENT Runtime) COMPONENT Runtime)
endif () endif ()
else () else ()
install (TARGETS libzmq libzmq-static install (TARGETS zmq-shared zmq-static
EXPORT ${PROJECT_NAME}-targets EXPORT ${PROJECT_NAME}-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
......
...@@ -138,7 +138,7 @@ if(WIN32) ...@@ -138,7 +138,7 @@ if(WIN32)
endif() endif()
# add library and include dirs for all targets # add library and include dirs for all targets
link_libraries(libzmq ${OPTIONAL_LIBRARIES}) link_libraries(zmq-shared ${OPTIONAL_LIBRARIES})
include_directories("${CMAKE_SOURCE_DIR}/../include") include_directories("${CMAKE_SOURCE_DIR}/../include")
foreach(test ${tests}) foreach(test ${tests})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment