-------------------------------- CMakeLists.txt
--------------------------------
index 99e75c3d..d3722b1d 100644
@@ -35,6 +35,29 @@ if(COMPILER_SUPPORTS_C11)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11")
endif()
+SET(RUNTIME_TYPE)
+if(MSVC)
+ option(wxBUILD_USE_STATIC_RUNTIME "Link using the static runtime
library" OFF)
+
+ set(MSVC_RUNTIME_TYPE "-md")
+ if(DEFINED wxBUILD_USE_STATIC_RUNTIME AND wxBUILD_USE_STATIC_RUNTIME)
+ set(MSVC_RUNTIME_TYPE "-mt")
+ # Set MSVC runtime flags for all configurations
+ foreach(cfg "" ${CMAKE_CONFIGURATION_TYPES})
+ set(flag_var CMAKE_CXX_FLAGS)
+ if(cfg)
+ string(TOUPPER ${cfg} cfg_upper)
+ set(flag_var "${flag_var}_${cfg_upper}")
+ endif()
+ if(${flag_var} MATCHES "/MD")
+ string(REGEX REPLACE "/MD" "/MT" ${flag_var}
"${${flag_var}}")
+ endif()
+ endforeach()
+ endif()
+ SET(RUNTIME_TYPE ${MSVC_RUNTIME_TYPE})
+endif()
+
+
if(NOT MSVC)
# clang 6 has a warning that does not make sense on multi-platform code
CHECK_CXX_COMPILER_FLAG("-Wno-tautological-constant-compare"
CXX_HAS_TAUT_WARNING)
@@ -489,8 +512,8 @@ if (MSVC)
set (OPENPGM_INCLUDE_DIRS ${OPENPGM_ROOT}/include)
set (OPENPGM_LIBRARY_DIRS ${OPENPGM_ROOT}/lib)
set (OPENPGM_LIBRARIES
- optimized
libpgm${MSVC_TOOLSET}-mt-${OPENPGM_VERSION_MAJOR}_${OPENPGM_VERSION_MINOR}_${OPENPGM_VERSION_MICRO}.lib
- debug
libpgm${MSVC_TOOLSET}-mt-gd-${OPENPGM_VERSION_MAJOR}_${OPENPGM_VERSION_MINOR}_${OPENPGM_VERSION_MICRO}.lib)
+ optimized
libpgm${MSVC_TOOLSET}${RUNTIME_TYPE}-${OPENPGM_VERSION_MAJOR}_${OPENPGM_VERSION_MINOR}_${OPENPGM_VERSION_MICRO}.lib
+ debug
libpgm${MSVC_TOOLSET}${RUNTIME_TYPE}-gd-${OPENPGM_VERSION_MAJOR}_${OPENPGM_VERSION_MINOR}_${OPENPGM_VERSION_MICRO}.lib)
endif ()
else ()
if (WITH_OPENPGM)
@@ -983,7 +1006,7 @@ if (MSVC)
# of file content.
set( CMAKE_STATIC_LINKER_FLAGS /ignore:4221 )
set (PDB_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
- set (PDB_NAME
"libzmq${MSVC_TOOLSET}-mt-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}")
+ set (PDB_NAME
"libzmq${MSVC_TOOLSET}${RUNTIME_TYPE}-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}")
function(enable_vs_guideline_checker target)
set_target_properties(${target} PROPERTIES
VS_GLOBAL_EnableCppCoreCheck true
@@ -997,10 +1020,10 @@ if (MSVC)
endif()
set_target_properties (libzmq PROPERTIES
PUBLIC_HEADER "${public_headers}"
- 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}"
- MINSIZEREL_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}"
+ RELEASE_POSTFIX
"${MSVC_TOOLSET}${RUNTIME_TYPE}-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
+ RELWITHDEBINFO_POSTFIX
"${MSVC_TOOLSET}${RUNTIME_TYPE}-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
+ MINSIZEREL_POSTFIX
"${MSVC_TOOLSET}${RUNTIME_TYPE}-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
+ DEBUG_POSTFIX
"${MSVC_TOOLSET}${RUNTIME_TYPE}-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin"
COMPILE_DEFINITIONS "DLL_EXPORT"
OUTPUT_NAME "libzmq")
@@ -1010,10 +1033,10 @@ if (MSVC)
add_library (libzmq-static STATIC ${sources}
${CMAKE_CURRENT_BINARY_DIR}/version.rc)
set_target_properties (libzmq-static PROPERTIES
PUBLIC_HEADER "${public_headers}"
- 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}"
- MINSIZEREL_POSTFIX
"${MSVC_TOOLSET}-mt-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
- DEBUG_POSTFIX
"${MSVC_TOOLSET}-mt-sgd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
+ RELEASE_POSTFIX
"${MSVC_TOOLSET}${RUNTIME_TYPE}-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
+ RELWITHDEBINFO_POSTFIX
"${MSVC_TOOLSET}${RUNTIME_TYPE}-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
+ MINSIZEREL_POSTFIX
"${MSVC_TOOLSET}${RUNTIME_TYPE}-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
+ DEBUG_POSTFIX
"${MSVC_TOOLSET}${RUNTIME_TYPE}-sgd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
COMPILE_FLAGS "/DZMQ_STATIC"
OUTPUT_NAME "libzmq")
endif()
---------------------- builds/cmake/ZeroMQConfig.cmake.in
----------------------
index 21222ef1..6b916b36 100644
@@ -11,7 +11,8 @@
#
# ZeroMQ_FOUND - true if ZeroMQ found on the system
# ZeroMQ_INCLUDE_DIR - the directory containing ZeroMQ headers
-# ZeroMQ_LIBRARY -
+# ZeroMQ_LIBRARY - dynamic library
+# ZeroMQ_LIBRARIES - link libraries
# ZeroMQ_STATIC_LIBRARY
@PACKAGE_INIT@
@@ -21,5 +22,6 @@ if(NOT TARGET libzmq AND NOT TARGET libzmq-static)
get_target_property(@PROJECT_NAME@_INCLUDE_DIR libzmq
INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(@PROJECT_NAME@_LIBRARY libzmq LOCATION)
+ get_target_property(@PROJECT_NAME@_LIBRARIES libzmq IMPLIB)
get_target_property(@PROJECT_NAME@_STATIC_LIBRARY libzmq-static LOCATION)
endif()
_______________________________________________
zeromq-dev mailing list
[email protected]
https://lists.zeromq.org/mailman/listinfo/zeromq-dev