Merge commit 'e988fee1679536137b87d10e939eff5c1f27c8ab' as 'libs/libzmq'

This commit is contained in:
Henry Winkel
2022-10-22 14:31:55 +02:00
1118 changed files with 149390 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# Specify all build files that have to go into source packages.
# msvc directory does its own stuff.
EXTRA_DIST = \
cygwin/Makefile.cygwin \
zos/makelibzmq \
zos/cxxall \
zos/README.md \
zos/makeclean \
zos/platform.hpp \
zos/zc++ \
zos/test_fork.cpp \
zos/maketests \
zos/runtests \
cygwin/Makefile.cygwin \
mingw32/Makefile.mingw32 \
mingw32/platform.hpp \
cmake/ci_build.sh \
cmake/Modules \
cmake/NSIS.template32.in \
cmake/NSIS.template64.in \
cmake/ZeroMQConfig.cmake.in \
cmake/clang-format-check.sh.in \
cmake/platform.hpp.in \
valgrind/ci_build.sh \
valgrind/valgrind.supp \
valgrind/vg \
nuget/readme.nuget \
nuget/libzmq.autopkg \
android/Dockerfile \
android/README.md \
android/android_build_helper.sh \
android/ci_build.sh \
android/build.sh

14
libs/libzmq/builds/README Normal file
View File

@@ -0,0 +1,14 @@
This directory holds build tools, i.e. tools we use to build the current
code tree. Packaging tools (which take released tarballs or github code
repos) should go into /packaging.
Note: 'deprecated-msvc' contains deprecated prepared Visual Studio Solution
files for various Visual Studio versions. These are no longer maintained,
and may or may not work. Please use cmake instead to build with Visual
Studio. Rationale: The solution and project files are hard to maintain,
since there are different variants for each Visual Studio version.
The tests have never been included there for this reason, so they were
never usable for actual development of libzmq. If you encounter that
something that worked before does not work with CMake, please open as
issue at https://github.com/zeromq/libzmq/issues.

View File

@@ -0,0 +1,44 @@
#!/usr/bin/env bash
set -x
set -e
cd ../../
mkdir tmp
BUILD_PREFIX=$PWD/tmp
CONFIG_OPTS=()
CONFIG_OPTS+=("CFLAGS=-I${BUILD_PREFIX}/include -g -Og")
CONFIG_OPTS+=("CPPFLAGS=-I${BUILD_PREFIX}/include")
CONFIG_OPTS+=("CXXFLAGS=-I${BUILD_PREFIX}/include -g -Og")
CONFIG_OPTS+=("LDFLAGS=-L${BUILD_PREFIX}/lib")
CONFIG_OPTS+=("PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig")
CONFIG_OPTS+=("--prefix=${BUILD_PREFIX}")
CONFIG_OPTS+=("--enable-drafts=no")
function print_abi_api_breakages() {
echo "ABI breakages detected:"
cat compat_reports/libzmq/${LATEST_VERSION}_to_HEAD/abi_affected.txt | c++filt
echo "API breakages detected:"
cat compat_reports/libzmq/${LATEST_VERSION}_to_HEAD/src_affected.txt | c++filt
exit 1
}
git fetch --unshallow
git fetch --all --tags
LATEST_VERSION=$(git describe --abbrev=0 --tags)
./autogen.sh
./configure "${CONFIG_OPTS[@]}"
make VERBOSE=1 -j5
abi-dumper src/.libs/libzmq.so -o ${BUILD_PREFIX}/libzmq.head.dump -lver HEAD
git clone --depth 1 -b ${LATEST_VERSION} https://github.com/zeromq/libzmq.git latest_release
cd latest_release
./autogen.sh
./configure "${CONFIG_OPTS[@]}"
make VERBOSe=1 -j5
abi-dumper src/.libs/libzmq.so -o ${BUILD_PREFIX}/libzmq.latest.dump -lver ${LATEST_VERSION}
abi-compliance-checker -l libzmq -d1 ${BUILD_PREFIX}/libzmq.latest.dump -d2 ${BUILD_PREFIX}/libzmq.head.dump -list-affected || print_abi_api_breakages

View File

@@ -0,0 +1,22 @@
FROM ubuntu:14.04
MAINTAINER Benjamin Henrion <zoobab@gmail.com>
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y -q
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --force-yes tar git curl nano wget dialog net-tools build-essential vim emacs apt-utils file uuid-dev cmake asciidoc python autoconf automake libtool pkg-config xmlto sudo gettext apt-utils
RUN useradd -d /home/zmq -m -s /bin/bash zmq
RUN echo "zmq ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/zmq
RUN chmod 0440 /etc/sudoers.d/zmq
USER zmq
# install android-ndk
RUN cd ~ && wget -q http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin -O android-ndk-r10e-linux-x86_64.bin && chmod +x android-ndk-r10e-linux-x86_64.bin
RUN cd ~ && ./android-ndk-r10e-linux-x86_64.bin
ENV ANDROID_NDK_ROOT /home/zmq/android-ndk-r10e
ENV TOOLCHAIN_NAME arm-linux-androideabi-4.9
ENV TOOLCHAIN_HOST arm-linux-androideabi
ENV TOOLCHAIN_PATH ${ANDROID_NDK_ROOT}/toolchains/${TOOLCHAIN_NAME}/prebuilt/linux-x86_64/bin
ENV TOOLCHAIN_ARCH arm
# build libzmq for android
RUN cd ~ && git clone --depth 1 https://github.com/zeromq/libzmq.git
RUN cd ~/libzmq/builds/android && ./build.sh

View File

@@ -0,0 +1,33 @@
# Android Build
## Prerequisites
You need the Android Native Development Kit (NDK) installed. See
[here](https://developer.android.com/ndk) to download it.
This project is tested against Android NDK version r25.
If you installed version r25 all you have to do is to expose the NDK root
directory as environment variable, e.g:
export ANDROID_NDK_ROOT=$HOME/android-ndk-r25
If you installed another version you have to expose the NDK root directory as
well as the NDK version, e.g:
export ANDROID_NDK_ROOT=$HOME/android-ndk-r17c
export NDK_VERSION=android-ndk-r17c
To specify the minimum sdk version set the environment variable below:
export MIN_SDK_VERSION=21 # Default value if unset
To specify the prefix directory set the environment variable below:
export ANDROID_BUILD_DIR=./builds/android/prefix/<android_arch> # Default value if unset
## Build
In the android directory, run:
./build.sh [ arm | arm64 | x86 | x86_64 ]

View File

@@ -0,0 +1,468 @@
#!/usr/bin/env bash
#
# Copyright (c) 2014, Joe Eli McIlvain
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, 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.
#
###
#
# https://github.com/jemc/android_build_helper
# android_build_helper.sh
#
# The following is a helper script for setting up android builds for
# "native" libraries maintained with an autotools build system.
# It merely helps to create the proper cross-compile environment.
# It makes no attempt to wrap the library or make it accessible to Java code;
# the intention is to make the bare library available to other "native" code.
#
# To get the latest version of this script, please download from:
# https://github.com/jemc/android_build_helper
#
# You are free to modify this script, but if you add improvements,
# please consider submitting a pull request to the aforementioned upstream
# repository for the benefit of other users.
#
########################################################################
# Initialization
########################################################################
# Get directory of current script (if not already set)
# This directory is also the basis for the build directories the get created.
if [ -z "$ANDROID_BUILD_DIR" ]; then
ANDROID_BUILD_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
fi
# Set up a variable to hold the global failure reasons, separated by newlines
# (Empty string indicates no failure)
ANDROID_BUILD_FAIL=()
########################################################################
# Sanity checks
########################################################################
if [ -z "${NDK_VERSION}" ] ; then
echo "NDK_VERSION not set !"
exit 1
fi
case "${NDK_VERSION}" in
"android-ndk-r"[0-9][0-9] ) : ;;
"android-ndk-r"[0-9][0-9][a-z] ) : ;;
* ) echo "Invalid format for NDK_VERSION ('${NDK_VERSION}')" ; exit 1 ;;
esac
if [ -z "${ANDROID_NDK_ROOT}" ] ; then
echo "ANDROID_NDK_ROOT not set !"
exit 1
fi
########################################################################
# Compute NDK version into a numeric form:
# android-ndk-r21e -> 2105
# android-ndk-r25 -> 2500
########################################################################
export NDK_NUMBER="$(( $(echo "${NDK_VERSION}"|sed -e 's|android-ndk-r||g' -e 's|[a-z]||g') * 100 ))"
NDK_VERSION_LETTER="$(echo "${NDK_VERSION}"|sed -e 's|android-ndk-r[0-9][0-9]||g'|tr '[:lower:]' '[:upper:]')"
if [ -n "${NDK_VERSION_LETTER}" ] ; then
NDK_NUMBER=$(( $(( NDK_NUMBER + $(printf '%d' \'"${NDK_VERSION_LETTER}") )) - 64 ))
fi
echo "LIBZMQ - Configured NDK_VERSION: ${NDK_VERSION} ($NDK_NUMBER)."
function android_build_check_fail {
if [ ! ${#ANDROID_BUILD_FAIL[@]} -eq 0 ]; then
echo "Android (${TOOLCHAIN_ARCH}) build failed for the following reasons:"
for reason in "${ANDROID_BUILD_FAIL[@]}"; do
local formatted_reason=" ${reason}"
echo "${formatted_reason}"
done
exit 1
fi
}
function android_download_ndk {
if [ -d "${ANDROID_NDK_ROOT}" ] ; then
# NDK folder detected, let's assume it's valid ...
echo "LIBZMQ (${BUILD_ARCH}) - Using existing NDK folder '${ANDROID_NDK_ROOT}'."
return
fi
if [ ! -d "$(dirname "${ANDROID_NDK_ROOT}")" ] ; then
ANDROID_BUILD_FAIL+=("Cannot download NDK in a non existing folder")
ANDROID_BUILD_FAIL+=(" $(dirname "${ANDROID_NDK_ROOT}/")")
fi
if [ -z "${ANDROID_NDK_FILENAME}" ] ; then
ANDROID_BUILD_FAIL+=("Please set the ANDROID_NDK_FILENAME environment variable")
fi
android_build_check_fail
echo "LIBZMQ (${BUILD_ARCH}) - Downloading NDK '${NDK_VERSION}'..."
(
cd "$(dirname "${ANDROID_NDK_ROOT}")" \
&& rm -f "${ANDROID_NDK_FILENAME}" \
&& wget -q "http://dl.google.com/android/repository/${ANDROID_NDK_FILENAME}" -O "${ANDROID_NDK_FILENAME}" \
&& echo "LIBZMQ (${BUILD_ARCH}) - Extracting NDK '${ANDROID_NDK_FILENAME}'..." \
&& unzip -q "${ANDROID_NDK_FILENAME}" \
&& echo "LIBZMQ (${BUILD_ARCH}) - NDK extracted under '${ANDROID_NDK_ROOT}'."
) || {
ANDROID_BUILD_FAIL+=("Failed to install NDK ('${NDK_VERSION}')")
ANDROID_BUILD_FAIL+=(" ${ANDROID_NDK_FILENAME}")
}
android_build_check_fail
}
function android_build_set_env {
BUILD_ARCH=$1
platform="$(uname | tr '[:upper:]' '[:lower:]')"
case "${platform}" in
linux*)
if [ $NDK_NUMBER -ge 2300 ] ; then
# Since NDK 23, NDK archives are renamed.
export ANDROID_NDK_FILENAME=${NDK_VERSION}-linux.zip
else
export ANDROID_NDK_FILENAME=${NDK_VERSION}-linux-x86_64.zip
fi
export ANDROID_BUILD_PLATFORM=linux-x86_64
;;
darwin*)
if [ $NDK_NUMBER -ge 2300 ] ; then
# Since NDK 23, NDK archives are renamed.
export ANDROID_NDK_FILENAME=${NDK_VERSION}-darwin.zip
else
export ANDROID_NDK_FILENAME=${NDK_VERSION}-darwin-x86_64.zip
fi
export ANDROID_BUILD_PLATFORM=darwin-x86_64
;;
*) echo "LIBZMQ (${BUILD_ARCH}) - Unsupported platform ('${platform}')" ; exit 1 ;;
esac
export TOOLCHAIN_PATH="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${ANDROID_BUILD_PLATFORM}/bin"
# Set variables for each architecture
if [ "${BUILD_ARCH}" == "arm" ]; then
export TOOLCHAIN_HOST="arm-linux-androideabi"
export TOOLCHAIN_COMP="armv7a-linux-androideabi${MIN_SDK_VERSION}"
export TOOLCHAIN_ABI="armeabi-v7a"
export TOOLCHAIN_ARCH="arm"
elif [ "${BUILD_ARCH}" == "x86" ]; then
export TOOLCHAIN_HOST="i686-linux-android"
export TOOLCHAIN_COMP="i686-linux-android${MIN_SDK_VERSION}"
export TOOLCHAIN_ABI="x86"
export TOOLCHAIN_ARCH="x86"
elif [ "${BUILD_ARCH}" == "arm64" ]; then
export TOOLCHAIN_HOST="aarch64-linux-android"
export TOOLCHAIN_COMP="aarch64-linux-android${MIN_SDK_VERSION}"
export TOOLCHAIN_ABI="arm64-v8a"
export TOOLCHAIN_ARCH="arm64"
elif [ "${BUILD_ARCH}" == "x86_64" ]; then
export TOOLCHAIN_HOST="x86_64-linux-android"
export TOOLCHAIN_COMP="x86_64-linux-android${MIN_SDK_VERSION}"
export TOOLCHAIN_ABI="x86_64"
export TOOLCHAIN_ARCH="x86_64"
fi
# Since NDK r22 the "platforms" dir got removed
if [ -d "${ANDROID_NDK_ROOT}/platforms" ]; then
export ANDROID_BUILD_SYSROOT="${ANDROID_NDK_ROOT}/platforms/android-${MIN_SDK_VERSION}/arch-${TOOLCHAIN_ARCH}"
else
export ANDROID_BUILD_SYSROOT="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${ANDROID_BUILD_PLATFORM}/sysroot"
fi
export ANDROID_BUILD_PREFIX="${ANDROID_BUILD_DIR}/prefix/${TOOLCHAIN_ARCH}"
# Since NDK r25, libc++_shared.so is no more in 'sources/cxx-stl/...'
export ANDROID_STL="libc++_shared.so"
if [ -x "${ANDROID_NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/${TOOLCHAIN_ABI}/${ANDROID_STL}" ] ; then
export ANDROID_STL_ROOT="${ANDROID_NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/${TOOLCHAIN_ABI}"
else
export ANDROID_STL_ROOT="${ANDROID_BUILD_SYSROOT}/usr/lib/${TOOLCHAIN_HOST}"
# NDK 25 requires -L<path-to-libc.so> ...
# I don't understand why, but without it, ./configure fails to build a valid 'conftest'.
export ANDROID_LIBC_ROOT="${ANDROID_BUILD_SYSROOT}/usr/lib/${TOOLCHAIN_HOST}/${MIN_SDK_VERSION}"
fi
}
function android_build_env {
##
# Check that necessary environment variables are set
if [ -z "$ANDROID_NDK_ROOT" ]; then
ANDROID_BUILD_FAIL+=("Please set the ANDROID_NDK_ROOT environment variable")
ANDROID_BUILD_FAIL+=(" (eg. \"/home/user/android/android-ndk-r25\")")
fi
if [ -z "$TOOLCHAIN_PATH" ]; then
ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_PATH environment variable")
ANDROID_BUILD_FAIL+=(" (eg. \"/home/user/android/android-ndk-r25/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin\")")
fi
if [ -z "$TOOLCHAIN_HOST" ]; then
ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_HOST environment variable")
ANDROID_BUILD_FAIL+=(" (eg. \"arm-linux-androideabi\")")
fi
if [ -z "$TOOLCHAIN_COMP" ]; then
ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_COMP environment variable")
ANDROID_BUILD_FAIL+=(" (eg. \"armv7a-linux-androideabi\")")
fi
if [ -z "$TOOLCHAIN_ABI" ]; then
ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_ABI environment variable")
ANDROID_BUILD_FAIL+=(" (eg. \"armeabi-v7a\")")
fi
if [ -z "$TOOLCHAIN_ARCH" ]; then
ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_ARCH environment variable")
ANDROID_BUILD_FAIL+=(" (eg. \"arm\")")
fi
android_build_check_fail
##
# Check that directories given by environment variables exist
if [ ! -d "$ANDROID_NDK_ROOT" ]; then
ANDROID_BUILD_FAIL+=("The ANDROID_NDK_ROOT directory does not exist")
ANDROID_BUILD_FAIL+=(" ${ANDROID_NDK_ROOT}")
fi
if [ ! -d "$ANDROID_STL_ROOT" ]; then
ANDROID_BUILD_FAIL+=("The ANDROID_STL_ROOT directory does not exist")
ANDROID_BUILD_FAIL+=(" ${ANDROID_STL_ROOT}")
fi
if [ -n "${ANDROID_LIBC_ROOT}" ] && [ ! -d "${ANDROID_LIBC_ROOT}" ]; then
ANDROID_BUILD_FAIL+=("The ANDROID_LIBC_ROOT directory does not exist")
ANDROID_BUILD_FAIL+=(" ${ANDROID_LIBC_ROOT}")
fi
if [ ! -d "$TOOLCHAIN_PATH" ]; then
ANDROID_BUILD_FAIL+=("The TOOLCHAIN_PATH directory does not exist")
ANDROID_BUILD_FAIL+=(" ${TOOLCHAIN_PATH}")
fi
##
# Set up some local variables and check them
if [ ! -d "$ANDROID_BUILD_SYSROOT" ]; then
ANDROID_BUILD_FAIL+=("The ANDROID_BUILD_SYSROOT directory does not exist")
ANDROID_BUILD_FAIL+=(" ${ANDROID_BUILD_SYSROOT}")
fi
mkdir -p "$ANDROID_BUILD_PREFIX" || {
ANDROID_BUILD_FAIL+=("Failed to make ANDROID_BUILD_PREFIX directory")
ANDROID_BUILD_FAIL+=(" ${ANDROID_BUILD_PREFIX}")
}
android_build_check_fail
}
function _android_build_opts_process_binaries {
local TOOLCHAIN="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${ANDROID_BUILD_PLATFORM}"
local CC="${TOOLCHAIN_PATH}/${TOOLCHAIN_COMP}-clang"
local CXX="${TOOLCHAIN_PATH}/${TOOLCHAIN_COMP}-clang++"
# Since NDK r22 the "platforms" dir got removed and the default linker is LLD
if [ -d "${ANDROID_NDK_ROOT}/platforms" ]; then
local LD="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-ld"
else
local LD="${TOOLCHAIN_PATH}/ld"
fi
# Since NDK r24 this binary was removed due to LLVM being now the default
if [ ! -x "${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-as" ]; then
local AS="${TOOLCHAIN_PATH}/llvm-as"
else
local AS="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-as"
fi
# Since NDK r23 those binaries were removed due to LLVM being now the default
if [ ! -x "${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-ar" ]; then
local AR="${TOOLCHAIN_PATH}/llvm-ar"
local RANLIB="${TOOLCHAIN_PATH}/llvm-ranlib"
local STRIP="${TOOLCHAIN_PATH}/llvm-strip"
else
local AR="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-ar"
local RANLIB="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-ranlib"
local STRIP="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-strip"
fi
if [ ! -x "${CC}" ]; then
ANDROID_BUILD_FAIL+=("The CC binary does not exist or is not executable")
ANDROID_BUILD_FAIL+=(" ${CC}")
fi
if [ ! -x "${CXX}" ]; then
ANDROID_BUILD_FAIL+=("The CXX binary does not exist or is not executable")
ANDROID_BUILD_FAIL+=(" ${CXX}")
fi
if [ ! -x "${LD}" ]; then
ANDROID_BUILD_FAIL+=("The LD binary does not exist or is not executable")
ANDROID_BUILD_FAIL+=(" ${LD}")
fi
if [ ! -x "${AS}" ]; then
ANDROID_BUILD_FAIL+=("The AS binary does not exist or is not executable")
ANDROID_BUILD_FAIL+=(" ${AS}")
fi
if [ ! -x "${AR}" ]; then
ANDROID_BUILD_FAIL+=("The AR binary does not exist or is not executable")
ANDROID_BUILD_FAIL+=(" ${AR}")
fi
if [ ! -x "${RANLIB}" ]; then
ANDROID_BUILD_FAIL+=("The RANLIB binary does not exist or is not executable")
ANDROID_BUILD_FAIL+=(" ${RANLIB}")
fi
if [ ! -x "${STRIP}" ]; then
ANDROID_BUILD_FAIL+=("The STRIP binary does not exist or is not executable")
ANDROID_BUILD_FAIL+=(" ${STRIP}")
fi
ANDROID_BUILD_OPTS+=("TOOLCHAIN=${TOOLCHAIN}")
ANDROID_BUILD_OPTS+=("CC=${CC}")
ANDROID_BUILD_OPTS+=("CXX=${CXX}")
ANDROID_BUILD_OPTS+=("LD=${LD}")
ANDROID_BUILD_OPTS+=("AS=${AS}")
ANDROID_BUILD_OPTS+=("AR=${AR}")
ANDROID_BUILD_OPTS+=("RANLIB=${RANLIB}")
ANDROID_BUILD_OPTS+=("STRIP=${STRIP}")
android_build_check_fail
}
# Set the ANDROID_BUILD_OPTS variable to a bash array of configure options
function android_build_opts {
ANDROID_BUILD_OPTS=()
_android_build_opts_process_binaries
# Since NDK r23 we don't need -lgcc due to LLVM being now the default
if [ ! -x "${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-ar" ]; then
local LIBS="-lc -ldl -lm -llog -lc++_shared"
else
local LIBS="-lc -lgcc -ldl -lm -llog -lc++_shared"
fi
local LDFLAGS="-L${ANDROID_BUILD_PREFIX}/lib"
if [ -n "${ANDROID_LIBC_ROOT}" ] ; then
LDFLAGS+=" -L${ANDROID_LIBC_ROOT}"
fi
LDFLAGS+=" -L${ANDROID_STL_ROOT}"
CFLAGS+=" -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE"
CPPFLAGS+=" -I${ANDROID_BUILD_PREFIX}/include"
if [ ${NDK_NUMBER} -ge 2400 ] ; then
if [ "${BUILD_ARCH}" = "arm64" ] ; then
CXXFLAGS+=" -mno-outline-atomics"
fi
fi
ANDROID_BUILD_OPTS+=("CFLAGS=${CFLAGS} ${ANDROID_BUILD_EXTRA_CFLAGS}")
ANDROID_BUILD_OPTS+=("CPPFLAGS=${CPPFLAGS} ${ANDROID_BUILD_EXTRA_CPPFLAGS}")
ANDROID_BUILD_OPTS+=("CXXFLAGS=${CXXFLAGS} ${ANDROID_BUILD_EXTRA_CXXFLAGS}")
ANDROID_BUILD_OPTS+=("LDFLAGS=${LDFLAGS} ${ANDROID_BUILD_EXTRA_LDFLAGS}")
ANDROID_BUILD_OPTS+=("LIBS=${LIBS} ${ANDROID_BUILD_EXTRA_LIBS}")
ANDROID_BUILD_OPTS+=("PKG_CONFIG_LIBDIR=${ANDROID_NDK_ROOT}/prebuilt/${ANDROID_BUILD_PLATFORM}/lib/pkgconfig")
ANDROID_BUILD_OPTS+=("PKG_CONFIG_PATH=${ANDROID_BUILD_PREFIX}/lib/pkgconfig")
ANDROID_BUILD_OPTS+=("PKG_CONFIG_SYSROOT_DIR=${ANDROID_BUILD_SYSROOT}")
ANDROID_BUILD_OPTS+=("PKG_CONFIG_DIR=")
ANDROID_BUILD_OPTS+=("--with-sysroot=${ANDROID_BUILD_SYSROOT}")
ANDROID_BUILD_OPTS+=("--host=${TOOLCHAIN_HOST}")
ANDROID_BUILD_OPTS+=("--prefix=${ANDROID_BUILD_PREFIX}")
android_build_check_fail
}
# Parse readelf output to verify the correct linking of libraries.
# The first argument should be the soname of the newly built library.
# The rest of the arguments should be the sonames of dependencies.
# All sonames should be unversioned for android (no trailing numbers).
function android_build_verify_so {
local soname="$1"
shift # Get rid of first argument - the rest represent dependencies
local sofile="${ANDROID_BUILD_PREFIX}/lib/${soname}"
if [ ! -f "${sofile}" ]; then
ANDROID_BUILD_FAIL+=("Found no library named ${soname}")
ANDROID_BUILD_FAIL+=(" ${sofile}")
fi
android_build_check_fail
local READELF="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-readelf"
if command -v "${READELF}" >/dev/null 2>&1 ; then
local readelf_bin="${READELF}"
elif command -v readelf >/dev/null 2>&1 ; then
local readelf_bin="readelf"
elif command -v greadelf >/dev/null 2>&1 ; then
local readelf_bin="greadelf"
else
ANDROID_BUILD_FAIL+=("Could not find any of readelf, greadelf, or ${READELF}")
fi
android_build_check_fail
local elfoutput
elfoutput=$(LC_ALL=C $readelf_bin -d "${sofile}")
local soname_regexp='soname: \[([[:alnum:]\.]+)\]'
if [[ $elfoutput =~ $soname_regexp ]]; then
local parsed_soname="${BASH_REMATCH[1]}"
if [ "${parsed_soname}" != "${soname}" ]; then
ANDROID_BUILD_FAIL+=("Actual soname of library ${soname} is incorrect (or versioned):")
ANDROID_BUILD_FAIL+=(" ${parsed_soname}")
fi
else
ANDROID_BUILD_FAIL+=("Failed to meaningfully parse readelf output for library ${soname}:")
ANDROID_BUILD_FAIL+=(" ${elfoutput}")
fi
for dep_soname in "$@" ; do
local dep_sofile="${ANDROID_BUILD_PREFIX}/lib/${dep_soname}"
if [ ! -f "${dep_sofile}" ]; then
ANDROID_BUILD_FAIL+=("Found no library named ${dep_soname}")
ANDROID_BUILD_FAIL+=(" ${dep_sofile}")
elif [[ $elfoutput != *"library: [${dep_soname}]"* ]]; then
ANDROID_BUILD_FAIL+=("Library ${soname} was expected to be linked to library with soname:")
ANDROID_BUILD_FAIL+=(" ${dep_soname}")
fi
done
android_build_check_fail
}
function android_show_configure_opts {
local tag=$1
shift
echo "LIBZMQ (${BUILD_ARCH}) - ./configure options to build '${tag}':"
for opt in "$@"; do
echo " > ${opt}"
done
echo ""
}

View File

@@ -0,0 +1,157 @@
#!/usr/bin/env bash
set -e
# Use directory of current script as the working directory
cd "$( dirname "${BASH_SOURCE[0]}" )"
########################################################################
# Configuration & tuning options.
########################################################################
# Set default values used in ci builds
export NDK_VERSION="${NDK_VERSION:-android-ndk-r25}"
# Set default path to find Android NDK.
# Must be of the form <path>/${NDK_VERSION} !!
export ANDROID_NDK_ROOT="${ANDROID_NDK_ROOT:-/tmp/${NDK_VERSION}}"
# With NDK r22b, the minimum SDK version range is [16, 31].
# Since NDK r24, the minimum SDK version range is [19, 31].
# SDK version 21 is the minimum version for 64-bit builds.
export MIN_SDK_VERSION=${MIN_SDK_VERSION:-21}
# Use directory of current script as the build directory
# ${ANDROID_BUILD_DIR}/prefix/<build_arch>/lib will contain produced libraries
export ANDROID_BUILD_DIR="${ANDROID_BUILD_DIR:-${PWD}}"
# Clean before processing
export ANDROID_BUILD_CLEAN="${ANDROID_BUILD_CLEAN:-}"
# Select CURVE implementation:
# - "" # Do not use any CURVE implementation.
# - "libsodium" # Use LIBSODIUM implementation.
# - "tweetnacl" # Use internal TWEETNACL implementation.
export CURVE="${CURVE:-}"
########################################################################
# Utilities
########################################################################
function usage {
echo "LIBZMQ - Usage:"
echo " export XXX=yyy"
echo " ./build.sh [ arm | arm64 | x86 | x86_64 ]"
echo ""
echo "See this file (configuration & tuning options) for details"
echo "on variables XXX and their values xxx"
exit 1
}
########################################################################
# Sanity checks
########################################################################
BUILD_ARCH="$1"
[ -z "${BUILD_ARCH}" ] && usage
########################################################################
# Compilation
########################################################################
# Get access to android_build functions and variables
# Perform some sanity checks and calculate some variables.
source ./android_build_helper.sh
# Choose a C++ standard library implementation from the ndk
export ANDROID_BUILD_CXXSTL="gnustl_shared_49"
# Additional flags for LIBTOOL, for LIBZMQ and other dependencies.
export LIBTOOL_EXTRA_LDFLAGS='-avoid-version'
# Set up android build environment and set ANDROID_BUILD_OPTS array
android_build_set_env "${BUILD_ARCH}"
android_download_ndk
android_build_env
android_build_opts
# Use a temporary build directory
cache="/tmp/android_build/${TOOLCHAIN_ARCH}"
rm -rf "${cache}"
mkdir -p "${cache}"
# Check for environment variable to clear the prefix and do a clean build
if [[ $ANDROID_BUILD_CLEAN ]]; then
echo "LIBZMQ (${BUILD_ARCH}) - Doing a clean build (removing previous build and dependencies)..."
rm -rf "${ANDROID_BUILD_PREFIX:-android-build-prefix-not-set}"/*
# Called shells MUST not clean after ourselves !
export ANDROID_BUILD_CLEAN=""
fi
VERIFY=("libzmq.so")
if [ -z "${CURVE}" ]; then
CURVE="--disable-curve"
elif [ "${CURVE}" == "libsodium" ]; then
CURVE="--with-libsodium=yes"
VERIFY+=("libsodium.so")
##
# Build LIBSODIUM from latest STABLE branch
(android_build_verify_so "libsodium.so" &> /dev/null) || {
rm -rf "${cache}/libsodium"
(
echo "LIBZMQ (${BUILD_ARCH}) - Cloning 'https://github.com/jedisct1/libsodium.git' (branch 'stable') under '${cache}/libsodium}'." \
&& cd "${cache}" \
&& git clone --quiet -b stable --depth 1 https://github.com/jedisct1/libsodium.git \
&& cd "${cache}/libsodium" \
&& git log --oneline -n 1
) || exit 1
(
CONFIG_OPTS=()
CONFIG_OPTS+=("--quiet")
CONFIG_OPTS+=("${ANDROID_BUILD_OPTS[@]}")
CONFIG_OPTS+=("--disable-soname-versions")
cd "${cache}/libsodium" \
&& ./autogen.sh \
&& android_show_configure_opts "LIBSODIUM" "${CONFIG_OPTS[@]}" \
&& ./configure "${CONFIG_OPTS[@]}" \
&& make -j 4 \
&& make install
) || exit 1
}
elif [ $CURVE == "tweetnacl" ]; then
# Default
CURVE=""
fi
##
# Build libzmq from local source
(android_build_verify_so "${VERIFY[@]}" &> /dev/null) || {
rm -rf "${cache}/libzmq"
(cp -r ../.. "${cache}/libzmq" && cd "${cache}/libzmq" && ( make clean || : ))
(
CONFIG_OPTS=()
CONFIG_OPTS+=("--quiet")
CONFIG_OPTS+=("${ANDROID_BUILD_OPTS[@]}")
CONFIG_OPTS+=("${CURVE}")
CONFIG_OPTS+=("--without-docs")
cd "${cache}/libzmq" \
&& ./autogen.sh \
&& android_show_configure_opts "LIBZMQ" "${CONFIG_OPTS[@]}" \
&& ./configure "${CONFIG_OPTS[@]}" \
&& make -j 4 \
&& make install
) || exit 1
}
##
# Fetch the STL as well.
cp "${ANDROID_STL_ROOT}/${ANDROID_STL}" "${ANDROID_BUILD_PREFIX}/lib/."
##
# Verify shared libraries in prefix
android_build_verify_so "${VERIFY[@]}" "${ANDROID_STL}"
echo "LIBZMQ (${BUILD_ARCH}) - Android build successful"

View File

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
#
# Exit if any step fails
set -e
# Use directory of current script as the working directory
cd "$( dirname "${BASH_SOURCE[0]}" )"
# Configuration
export NDK_VERSION="${NDK_VERSION:-android-ndk-r25}"
export ANDROID_NDK_ROOT="${ANDROID_NDK_ROOT:-/tmp/${NDK_VERSION}}"
export MIN_SDK_VERSION=${MIN_SDK_VERSION:-21}
export ANDROID_BUILD_DIR="${ANDROID_BUILD_DIR:-${PWD}}"
# Cleanup.
rm -rf /tmp/android_build/
rm -rf "${PWD}/prefix"
rm -rf /tmp/tmp-deps
mkdir -p /tmp/tmp-deps
./build.sh "arm"
./build.sh "arm64"
./build.sh "x86"
./build.sh "x86_64"

View File

@@ -0,0 +1,41 @@
# additional target to perform clang-format run, requires clang-format
# get all project files
file(GLOB_RECURSE ALL_SOURCE_FILES
RELATIVE ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src/*.cpp ${CMAKE_SOURCE_DIR}/src/*.h ${CMAKE_SOURCE_DIR}/src/*.hpp
${CMAKE_SOURCE_DIR}/tests/*.cpp ${CMAKE_SOURCE_DIR}/tests/*.h ${CMAKE_SOURCE_DIR}/tests/*.hpp
${CMAKE_SOURCE_DIR}/perf/*.cpp ${CMAKE_SOURCE_DIR}/perf/*.h ${CMAKE_SOURCE_DIR}/perf/*.hpp
${CMAKE_SOURCE_DIR}/tools/*.cpp ${CMAKE_SOURCE_DIR}/tools/*.h ${CMAKE_SOURCE_DIR}/tools/*.hpp
${CMAKE_SOURCE_DIR}/include/*.h
)
if("${CLANG_FORMAT}" STREQUAL "")
set(CLANG_FORMAT "clang-format")
endif()
add_custom_target(
clang-format
COMMAND ${CLANG_FORMAT} -style=file -i ${ALL_SOURCE_FILES}
)
function(JOIN VALUES GLUE OUTPUT)
string (REPLACE ";" "${GLUE}" _TMP_STR "${VALUES}")
set (${OUTPUT} "${_TMP_STR}" PARENT_SCOPE)
endfunction()
configure_file(builds/cmake/clang-format-check.sh.in clang-format-check.sh @ONLY)
add_custom_target(
clang-format-check
COMMAND chmod +x clang-format-check.sh
COMMAND ./clang-format-check.sh
COMMENT "Checking correct formatting according to .clang-format file using ${CLANG_FORMAT}"
)
add_custom_target(
clang-format-diff
COMMAND ${CLANG_FORMAT} -style=file -i ${ALL_SOURCE_FILES}
COMMAND git diff ${ALL_SOURCE_FILES}
COMMENT "Formatting with clang-format (using ${CLANG_FORMAT}) and showing differences with latest commit"
)

View File

@@ -0,0 +1,26 @@
# - Find Asciidoc
# this module looks for asciidoc and a2x
#
# ASCIIDOC_EXECUTABLE - the full path to asciidoc
# ASCIIDOC_FOUND - If false, don't attempt to use asciidoc.
# A2X_EXECUTABLE - the full path to a2x
# A2X_FOUND - If false, don't attempt to use a2x.
set (PROGRAMFILESX86 "PROGRAMFILES(X86)")
find_program(ASCIIDOC_EXECUTABLE asciidoc asciidoc.py
PATHS "$ENV{ASCIIDOC_ROOT}"
"$ENV{PROGRAMW6432}/asciidoc"
"$ENV{PROGRAMFILES}/asciidoc"
"$ENV{${PROGRAMFILESX86}}/asciidoc")
find_program(A2X_EXECUTABLE a2x
PATHS "$ENV{ASCIIDOC_ROOT}"
"$ENV{PROGRAMW6432}/asciidoc"
"$ENV{PROGRAMFILES}/asciidoc"
"$ENV{${PROGRAMFILESX86}}/asciidoc")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_ARGS(AsciiDoc REQUIRED_VARS ASCIIDOC_EXECUTABLE)
mark_as_advanced(ASCIIDOC_EXECUTABLE A2X_EXECUTABLE)

View File

@@ -0,0 +1,8 @@
include(FindPackageHandleStandardArgs)
if (NOT MSVC)
find_package(PkgConfig REQUIRED)
pkg_check_modules(NSS3 "nss>=3.19")
find_package_handle_standard_args(NSS3 DEFAULT_MSG NSS3_LIBRARIES NSS3_CFLAGS)
endif()

View File

@@ -0,0 +1,48 @@
################################################################################
# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
# Please refer to the README for information about making permanent changes. #
################################################################################
if (NOT MSVC)
find_package(PkgConfig REQUIRED)
pkg_check_modules(PC_SODIUM "libsodium")
if (PC_SODIUM_FOUND)
set(pkg_config_names_private "${pkg_config_names_private} libsodium")
endif()
if (NOT PC_SODIUM_FOUND)
pkg_check_modules(PC_SODIUM "sodium")
if (PC_SODIUM_FOUND)
set(pkg_config_names_private "${pkg_config_names_private} sodium")
endif()
endif (NOT PC_SODIUM_FOUND)
if (PC_SODIUM_FOUND)
set(SODIUM_INCLUDE_HINTS ${PC_SODIUM_INCLUDE_DIRS} ${PC_SODIUM_INCLUDE_DIRS}/*)
set(SODIUM_LIBRARY_HINTS ${PC_SODIUM_LIBRARY_DIRS} ${PC_SODIUM_LIBRARY_DIRS}/*)
else()
set(pkg_config_libs_private "${pkg_config_libs_private} -lsodium")
endif()
endif (NOT MSVC)
# some libraries install the headers is a subdirectory of the include dir
# returned by pkg-config, so use a wildcard match to improve chances of finding
# headers and libraries.
find_path(
SODIUM_INCLUDE_DIRS
NAMES sodium.h
HINTS ${SODIUM_INCLUDE_HINTS}
)
find_library(
SODIUM_LIBRARIES
NAMES libsodium sodium
HINTS ${SODIUM_LIBRARY_HINTS}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(sodium DEFAULT_MSG SODIUM_LIBRARIES SODIUM_INCLUDE_DIRS)
mark_as_advanced(SODIUM_FOUND SODIUM_LIBRARIES SODIUM_INCLUDE_DIRS)
################################################################################
# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
# Please refer to the README for information about making permanent changes. #
################################################################################

View File

@@ -0,0 +1,8 @@
file(READ "${PROJECT_SOURCE_DIR}/include/zmq.h" _ZMQ_H_CONTENTS)
string(REGEX REPLACE ".*#define ZMQ_VERSION_MAJOR ([0-9]+).*" "\\1" ZMQ_VERSION_MAJOR "${_ZMQ_H_CONTENTS}")
string(REGEX REPLACE ".*#define ZMQ_VERSION_MINOR ([0-9]+).*" "\\1" ZMQ_VERSION_MINOR "${_ZMQ_H_CONTENTS}")
string(REGEX REPLACE ".*#define ZMQ_VERSION_PATCH ([0-9]+).*" "\\1" ZMQ_VERSION_PATCH "${_ZMQ_H_CONTENTS}")
set(ZMQ_VERSION "${ZMQ_VERSION_MAJOR}.${ZMQ_VERSION_MINOR}.${ZMQ_VERSION_PATCH}")
message(STATUS "Detected ZMQ Version - ${ZMQ_VERSION}")

View File

@@ -0,0 +1,332 @@
macro(zmq_check_sock_cloexec)
message(STATUS "Checking whether SOCK_CLOEXEC is supported")
check_c_source_runs(
"
#include <sys/types.h>
#include <sys/socket.h>
int main(int argc, char *argv [])
{
int s = socket(PF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);
return(s == -1);
}
"
ZMQ_HAVE_SOCK_CLOEXEC)
endmacro()
macro(zmq_check_efd_cloexec)
message(STATUS "Checking whether EFD_CLOEXEC is supported")
check_c_source_runs(
"
#include <sys/eventfd.h>
int main(int argc, char *argv [])
{
int s = eventfd (0, EFD_CLOEXEC);
return(s == -1);
}
"
ZMQ_HAVE_EVENTFD_CLOEXEC)
endmacro()
macro(zmq_check_o_cloexec)
message(STATUS "Checking whether O_CLOEXEC is supported")
check_c_source_runs(
"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, char *argv [])
{
int s = open (\"/dev/null\", O_CLOEXEC | O_RDONLY);
return s == -1;
}
"
ZMQ_HAVE_O_CLOEXEC)
endmacro()
macro(zmq_check_so_bindtodevice)
message(STATUS "Checking whether SO_BINDTODEVICE is supported")
check_c_source_runs(
"
#include <sys/socket.h>
int main(int argc, char *argv [])
{
/* Actually making the setsockopt() call requires CAP_NET_RAW */
#ifndef SO_BINDTODEVICE
return 1;
#else
return 0;
#endif
}
"
ZMQ_HAVE_SO_BINDTODEVICE)
endmacro()
# TCP keep-alives Checks.
macro(zmq_check_so_keepalive)
message(STATUS "Checking whether SO_KEEPALIVE is supported")
check_c_source_runs(
"
#include <sys/types.h>
#include <sys/socket.h>
int main(int argc, char *argv [])
{
int s, rc, opt = 1;
return(
((s = socket(PF_INET, SOCK_STREAM, 0)) == -1) ||
((rc = setsockopt(s, SOL_SOCKET, SO_KEEPALIVE,(char*) &opt, sizeof(int))) == -1)
);
}
"
ZMQ_HAVE_SO_KEEPALIVE)
endmacro()
macro(zmq_check_tcp_keepcnt)
message(STATUS "Checking whether TCP_KEEPCNT is supported")
check_c_source_runs(
"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
int main(int argc, char *argv [])
{
int s, rc, opt = 1;
return(
((s = socket(PF_INET, SOCK_STREAM, 0)) == -1) ||
((rc = setsockopt(s, SOL_SOCKET, SO_KEEPALIVE,(char*) &opt, sizeof(int))) == -1) ||
((rc = setsockopt(s, IPPROTO_TCP, TCP_KEEPCNT,(char*) &opt, sizeof(int))) == -1)
);
}
"
ZMQ_HAVE_TCP_KEEPCNT)
endmacro()
macro(zmq_check_tcp_keepidle)
message(STATUS "Checking whether TCP_KEEPIDLE is supported")
check_c_source_runs(
"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
int main(int argc, char *argv [])
{
int s, rc, opt = 1;
return(
((s = socket(PF_INET, SOCK_STREAM, 0)) == -1) ||
((rc = setsockopt(s, SOL_SOCKET, SO_KEEPALIVE,(char*) &opt, sizeof(int))) == -1) ||
((rc = setsockopt(s, IPPROTO_TCP, TCP_KEEPIDLE,(char*) &opt, sizeof(int))) == -1)
);
}
"
ZMQ_HAVE_TCP_KEEPIDLE)
endmacro()
macro(zmq_check_tcp_keepintvl)
message(STATUS "Checking whether TCP_KEEPINTVL is supported")
check_c_source_runs(
"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
int main(int argc, char *argv [])
{
int s, rc, opt = 1;
return(
((s = socket(PF_INET, SOCK_STREAM, 0)) == -1) ||
((rc = setsockopt(s, SOL_SOCKET, SO_KEEPALIVE,(char*) &opt, sizeof(int))) == -1) ||
((rc = setsockopt(s, IPPROTO_TCP, TCP_KEEPINTVL,(char*) &opt, sizeof(int))) == -1)
);
}
"
ZMQ_HAVE_TCP_KEEPINTVL)
endmacro()
macro(zmq_check_tcp_keepalive)
message(STATUS "Checking whether TCP_KEEPALIVE is supported")
check_c_source_runs(
"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
int main(int argc, char *argv [])
{
int s, rc, opt = 1;
return(
((s = socket(PF_INET, SOCK_STREAM, 0)) == -1) ||
((rc = setsockopt(s, SOL_SOCKET, SO_KEEPALIVE,(char*) &opt, sizeof(int))) == -1) ||
((rc = setsockopt(s, IPPROTO_TCP, TCP_KEEPALIVE,(char*) &opt, sizeof(int))) == -1)
);
}
"
ZMQ_HAVE_TCP_KEEPALIVE)
endmacro()
macro(zmq_check_tcp_tipc)
message(STATUS "Checking whether TIPC is supported")
check_c_source_runs(
"
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/socket.h>
#include <linux/tipc.h>
int main(int argc, char *argv [])
{
struct sockaddr_tipc topsrv;
int sd = socket(AF_TIPC, SOCK_SEQPACKET, 0);
memset(&topsrv, 0, sizeof(topsrv));
topsrv.family = AF_TIPC;
topsrv.addrtype = TIPC_ADDR_NAME;
topsrv.addr.name.name.type = TIPC_TOP_SRV;
topsrv.addr.name.name.instance = TIPC_TOP_SRV;
fcntl(sd, F_SETFL, O_NONBLOCK);
}
"
ZMQ_HAVE_TIPC)
endmacro()
macro(zmq_check_pthread_setname)
message(STATUS "Checking pthread_setname signature")
set(SAVE_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
set(CMAKE_REQUIRED_FLAGS "-D_GNU_SOURCE -Werror -pthread")
check_c_source_runs(
"
#include <pthread.h>
int main(int argc, char *argv [])
{
pthread_setname_np (\"foo\");
return 0;
}
"
ZMQ_HAVE_PTHREAD_SETNAME_1)
check_c_source_runs(
"
#include <pthread.h>
int main(int argc, char *argv [])
{
pthread_setname_np (pthread_self(), \"foo\");
return 0;
}
"
ZMQ_HAVE_PTHREAD_SETNAME_2)
check_c_source_runs(
"
#include <pthread.h>
int main(int argc, char *argv [])
{
pthread_setname_np (pthread_self(), \"foo\", (void *)0);
return 0;
}
"
ZMQ_HAVE_PTHREAD_SETNAME_3)
check_c_source_runs(
"
#include <pthread.h>
int main(int argc, char *argv [])
{
pthread_set_name_np (pthread_self(), \"foo\");
return 0;
}
"
ZMQ_HAVE_PTHREAD_SET_NAME)
set(CMAKE_REQUIRED_FLAGS ${SAVE_CMAKE_REQUIRED_FLAGS})
endmacro()
macro(zmq_check_pthread_setaffinity)
message(STATUS "Checking pthread_setaffinity signature")
set(SAVE_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
set(CMAKE_REQUIRED_FLAGS "-D_GNU_SOURCE -Werror -pthread")
check_c_source_runs(
"
#include <pthread.h>
int main(int argc, char *argv [])
{
cpu_set_t test;
pthread_setaffinity_np (pthread_self(), sizeof(cpu_set_t), &test);
return 0;
}
"
ZMQ_HAVE_PTHREAD_SET_AFFINITY)
set(CMAKE_REQUIRED_FLAGS ${SAVE_CMAKE_REQUIRED_FLAGS})
endmacro()
macro(zmq_check_getrandom)
message(STATUS "Checking whether getrandom is supported")
check_c_source_runs(
"
#include <sys/random.h>
int main (int argc, char *argv [])
{
char buf[4];
int rc = getrandom(buf, 4, 0);
return rc == -1 ? 1 : 0;
}
"
ZMQ_HAVE_GETRANDOM)
endmacro()
macro(zmq_check_noexcept)
message(STATUS "Checking whether noexcept is supported")
check_cxx_source_compiles(
"
struct X
{
X(int i) noexcept {}
};
int main(int argc, char *argv [])
{
X x(5);
return 0;
}
"
ZMQ_HAVE_NOEXCEPT)
endmacro()
macro(zmq_check_so_priority)
message(STATUS "Checking whether SO_PRIORITY is supported")
check_c_source_runs(
"
#include <sys/types.h>
#include <sys/socket.h>
int main (int argc, char *argv [])
{
int s, rc, opt = 1;
return (
((s = socket (PF_INET, SOCK_STREAM, 0)) == -1) ||
((rc = setsockopt (s, SOL_SOCKET, SO_PRIORITY, (char*) &opt, sizeof (int))) == -1)
);
}
"
ZMQ_HAVE_SO_PRIORITY)
endmacro()

View File

@@ -0,0 +1,5 @@
macro (zmq_set_with_default var value)
if (NOT ${var})
set(${var} "${value}")
endif ()
endmacro ()

View File

@@ -0,0 +1,952 @@
; CPack install script designed for a nmake build
;--------------------------------
; You must define these values
!define VERSION "@CPACK_PACKAGE_VERSION@"
!define PATCH "@CPACK_PACKAGE_VERSION_PATCH@"
!define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
;--------------------------------
;Variables
Var MUI_TEMP
Var STARTMENU_FOLDER
Var SV_ALLUSERS
Var START_MENU
Var DO_NOT_ADD_TO_PATH
Var ADD_TO_PATH_ALL_USERS
Var ADD_TO_PATH_CURRENT_USER
Var INSTALL_DESKTOP
Var IS_DEFAULT_INSTALLDIR
;--------------------------------
;Include Modern UI
!include "MUI.nsh"
;Default installation folder
InstallDir "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
;InstallDir "$PROGRAMFILES64\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
;--------------------------------
;General
;Name and file
Name "@CPACK_NSIS_PACKAGE_NAME@"
OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
;Set compression
SetCompressor @CPACK_NSIS_COMPRESSOR@
@CPACK_NSIS_DEFINES@
!include Sections.nsh
;--- Component support macros: ---
; The code for the add/remove functionality is from:
; http://nsis.sourceforge.net/Add/Remove_Functionality
; It has been modified slightly and extended to provide
; inter-component dependencies.
Var AR_SecFlags
Var AR_RegFlags
@CPACK_NSIS_SECTION_SELECTED_VARS@
; Loads the "selected" flag for the section named SecName into the
; variable VarName.
!macro LoadSectionSelectedIntoVar SecName VarName
SectionGetFlags ${${SecName}} $${VarName}
IntOp $${VarName} $${VarName} & ${SF_SELECTED} ;Turn off all other bits
!macroend
; Loads the value of a variable... can we get around this?
!macro LoadVar VarName
IntOp $R0 0 + $${VarName}
!macroend
; Sets the value of a variable
!macro StoreVar VarName IntValue
IntOp $${VarName} 0 + ${IntValue}
!macroend
!macro InitSection SecName
; This macro reads component installed flag from the registry and
;changes checked state of the section on the components page.
;Input: section index constant name specified in Section command.
ClearErrors
;Reading component status from registry
ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@\Components\${SecName}" "Installed"
IfErrors "default_${SecName}"
;Status will stay default if registry value not found
;(component was never installed)
IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits
SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading default section flags
IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE ;Turn lowest (enabled) bit off
IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags ;Change lowest bit
; Note whether this component was installed before
!insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags
IntOp $R0 $AR_RegFlags & $AR_RegFlags
;Writing modified flags
SectionSetFlags ${${SecName}} $AR_SecFlags
"default_${SecName}:"
!insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
!macroend
!macro FinishSection SecName
; This macro reads section flag set by user and removes the section
;if it is not selected.
;Then it writes component installed flag to registry
;Input: section index constant name specified in Section command.
SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading section flags
;Checking lowest bit:
IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED}
IntCmp $AR_SecFlags 1 "leave_${SecName}"
;Section is not selected:
;Calling Section uninstall macro and writing zero installed flag
!insertmacro "Remove_${${SecName}}"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@\Components\${SecName}" \
"Installed" 0
Goto "exit_${SecName}"
"leave_${SecName}:"
;Section is selected:
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@\Components\${SecName}" \
"Installed" 1
"exit_${SecName}:"
!macroend
!macro RemoveSection SecName
; This macro is used to call section's Remove_... macro
;from the uninstaller.
;Input: section index constant name specified in Section command.
!insertmacro "Remove_${${SecName}}"
!macroend
; Determine whether the selection of SecName changed
!macro MaybeSelectionChanged SecName
!insertmacro LoadVar ${SecName}_selected
SectionGetFlags ${${SecName}} $R1
IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits
; See if the status has changed:
IntCmp $R0 $R1 "${SecName}_unchanged"
!insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected"
!insertmacro "Deselect_required_by_${SecName}"
goto "${SecName}_unchanged"
"${SecName}_was_selected:"
!insertmacro "Select_${SecName}_depends"
"${SecName}_unchanged:"
!macroend
;--- End of Add/Remove macros ---
;--------------------------------
;Interface Settings
!define MUI_HEADERIMAGE
!define MUI_ABORTWARNING
;--------------------------------
; path functions
!verbose 3
!include "WinMessages.NSH"
!verbose 4
;----------------------------------------
; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
;----------------------------------------
!verbose 3
!include "WinMessages.NSH"
!verbose 4
;====================================================
; get_NT_environment
; Returns: the selected environment
; Output : head of the stack
;====================================================
!macro select_NT_profile UN
Function ${UN}select_NT_profile
StrCmp $ADD_TO_PATH_ALL_USERS "1" 0 environment_single
DetailPrint "Selected environment for all users"
Push "all"
Return
environment_single:
DetailPrint "Selected environment for current user only."
Push "current"
Return
FunctionEnd
!macroend
!insertmacro select_NT_profile ""
!insertmacro select_NT_profile "un."
;----------------------------------------------------
!define NT_current_env 'HKCU "Environment"'
!define NT_all_env 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
!ifndef WriteEnvStr_RegKey
!ifdef ALL_USERS
!define WriteEnvStr_RegKey \
'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
!else
!define WriteEnvStr_RegKey 'HKCU "Environment"'
!endif
!endif
; AddToPath - Adds the given dir to the search path.
; Input - head of the stack
; Note - Win9x systems requires reboot
Function AddToPath
Exch $0
Push $1
Push $2
Push $3
# don't add if the path doesn't exist
IfFileExists "$0\*.*" "" AddToPath_done
ReadEnvStr $1 PATH
; if the path is too long for a NSIS variable NSIS will return a 0
; length string. If we find that, then warn and skip any path
; modification as it will trash the existing path.
StrLen $2 $1
IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done
CheckPathLength_ShowPathWarning:
Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!"
Goto AddToPath_done
CheckPathLength_Done:
Push "$1;"
Push "$0;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Push "$1;"
Push "$0\;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
GetFullPathName /SHORT $3 $0
Push "$1;"
Push "$3;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Push "$1;"
Push "$3\;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Call IsNT
Pop $1
StrCmp $1 1 AddToPath_NT
; Not on NT
StrCpy $1 $WINDIR 2
FileOpen $1 "$1\autoexec.bat" a
FileSeek $1 -1 END
FileReadByte $1 $2
IntCmp $2 26 0 +2 +2 # DOS EOF
FileSeek $1 -1 END # write over EOF
FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
FileClose $1
SetRebootFlag true
Goto AddToPath_done
AddToPath_NT:
StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey
ReadRegStr $1 ${NT_current_env} "PATH"
Goto DoTrim
ReadAllKey:
ReadRegStr $1 ${NT_all_env} "PATH"
DoTrim:
StrCmp $1 "" AddToPath_NTdoIt
Push $1
Call Trim
Pop $1
StrCpy $0 "$1;$0"
AddToPath_NTdoIt:
StrCmp $ADD_TO_PATH_ALL_USERS "1" WriteAllKey
WriteRegExpandStr ${NT_current_env} "PATH" $0
Goto DoSend
WriteAllKey:
WriteRegExpandStr ${NT_all_env} "PATH" $0
DoSend:
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
AddToPath_done:
Pop $3
Pop $2
Pop $1
Pop $0
FunctionEnd
; RemoveFromPath - Remove a given dir from the path
; Input: head of the stack
Function un.RemoveFromPath
Exch $0
Push $1
Push $2
Push $3
Push $4
Push $5
Push $6
IntFmt $6 "%c" 26 # DOS EOF
Call un.IsNT
Pop $1
StrCmp $1 1 unRemoveFromPath_NT
; Not on NT
StrCpy $1 $WINDIR 2
FileOpen $1 "$1\autoexec.bat" r
GetTempFileName $4
FileOpen $2 $4 w
GetFullPathName /SHORT $0 $0
StrCpy $0 "SET PATH=%PATH%;$0"
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoop:
FileRead $1 $3
StrCpy $5 $3 1 -1 # read last char
StrCmp $5 $6 0 +2 # if DOS EOF
StrCpy $3 $3 -1 # remove DOS EOF so we can compare
StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "" unRemoveFromPath_dosLoopEnd
FileWrite $2 $3
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoopRemoveLine:
SetRebootFlag true
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoopEnd:
FileClose $2
FileClose $1
StrCpy $1 $WINDIR 2
Delete "$1\autoexec.bat"
CopyFiles /SILENT $4 "$1\autoexec.bat"
Delete $4
Goto unRemoveFromPath_done
unRemoveFromPath_NT:
StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey
ReadRegStr $1 ${NT_current_env} "PATH"
Goto unDoTrim
unReadAllKey:
ReadRegStr $1 ${NT_all_env} "PATH"
unDoTrim:
StrCpy $5 $1 1 -1 # copy last char
StrCmp $5 ";" +2 # if last char != ;
StrCpy $1 "$1;" # append ;
Push $1
Push "$0;"
Call un.StrStr ; Find `$0;` in $1
Pop $2 ; pos of our dir
StrCmp $2 "" unRemoveFromPath_done
; else, it is in path
# $0 - path to add
# $1 - path var
StrLen $3 "$0;"
StrLen $4 $2
StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
StrCpy $3 $5$6
StrCpy $5 $3 1 -1 # copy last char
StrCmp $5 ";" 0 +2 # if last char == ;
StrCpy $3 $3 -1 # remove last char
StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey
WriteRegExpandStr ${NT_current_env} "PATH" $3
Goto unDoSend
unWriteAllKey:
WriteRegExpandStr ${NT_all_env} "PATH" $3
unDoSend:
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
unRemoveFromPath_done:
Pop $6
Pop $5
Pop $4
Pop $3
Pop $2
Pop $1
Pop $0
FunctionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Uninstall sutff
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
###########################################
# Utility Functions #
###########################################
;====================================================
; IsNT - Returns 1 if the current system is NT, 0
; otherwise.
; Output: head of the stack
;====================================================
; IsNT
; no input
; output, top of the stack = 1 if NT or 0 if not
;
; Usage:
; Call IsNT
; Pop $R0
; ($R0 at this point is 1 or 0)
!macro IsNT un
Function ${un}IsNT
Push $0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
StrCmp $0 "" 0 IsNT_yes
; we are not NT.
Pop $0
Push 0
Return
IsNT_yes:
; NT!!!
Pop $0
Push 1
FunctionEnd
!macroend
!insertmacro IsNT ""
!insertmacro IsNT "un."
; StrStr
; input, top of stack = string to search for
; top of stack-1 = string to search in
; output, top of stack (replaces with the portion of the string remaining)
; modifies no other variables.
;
; Usage:
; Push "this is a long ass string"
; Push "ass"
; Call StrStr
; Pop $R0
; ($R0 at this point is "ass string")
!macro StrStr un
Function ${un}StrStr
Exch $R1 ; st=haystack,old$R1, $R1=needle
Exch ; st=old$R1,haystack
Exch $R2 ; st=old$R1,old$R2, $R2=haystack
Push $R3
Push $R4
Push $R5
StrLen $R3 $R1
StrCpy $R4 0
; $R1=needle
; $R2=haystack
; $R3=len(needle)
; $R4=cnt
; $R5=tmp
loop:
StrCpy $R5 $R2 $R3 $R4
StrCmp $R5 $R1 done
StrCmp $R5 "" done
IntOp $R4 $R4 + 1
Goto loop
done:
StrCpy $R1 $R2 "" $R4
Pop $R5
Pop $R4
Pop $R3
Pop $R2
Exch $R1
FunctionEnd
!macroend
!insertmacro StrStr ""
!insertmacro StrStr "un."
Function Trim ; Added by Pelaca
Exch $R1
Push $R2
Loop:
StrCpy $R2 "$R1" 1 -1
StrCmp "$R2" " " RTrim
StrCmp "$R2" "$\n" RTrim
StrCmp "$R2" "$\r" RTrim
StrCmp "$R2" ";" RTrim
GoTo Done
RTrim:
StrCpy $R1 "$R1" -1
Goto Loop
Done:
Pop $R2
Exch $R1
FunctionEnd
Function ConditionalAddToRegisty
Pop $0
Pop $1
StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" \
"$1" "$0"
;MessageBox MB_OK "Set Registry: '$1' to '$0'"
DetailPrint "Set install registry entry: '$1' to '$0'"
ConditionalAddToRegisty_EmptyString:
FunctionEnd
;--------------------------------
!ifdef CPACK_USES_DOWNLOAD
Function DownloadFile
IfFileExists $INSTDIR\* +2
CreateDirectory $INSTDIR
Pop $0
; Skip if already downloaded
IfFileExists $INSTDIR\$0 0 +2
Return
StrCpy $1 "@CPACK_DOWNLOAD_SITE@"
try_again:
NSISdl::download "$1/$0" "$INSTDIR\$0"
Pop $1
StrCmp $1 "success" success
StrCmp $1 "Cancelled" cancel
MessageBox MB_OK "Download failed: $1"
cancel:
Return
success:
FunctionEnd
!endif
;--------------------------------
; Installation types
@CPACK_NSIS_INSTALLATION_TYPES@
;--------------------------------
; Component sections
@CPACK_NSIS_COMPONENT_SECTIONS@
;--------------------------------
; Define some macro setting for the gui
@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
@CPACK_NSIS_INSTALLER_ICON_CODE@
@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
;--------------------------------
;Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
Page custom InstallOptionsPage
!insertmacro MUI_PAGE_DIRECTORY
;Start Menu Folder Page Configuration
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt"
@CPACK_NSIS_PAGE_COMPONENTS@
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
!insertmacro MUI_LANGUAGE "Albanian"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Basque"
!insertmacro MUI_LANGUAGE "Belarusian"
!insertmacro MUI_LANGUAGE "Bosnian"
!insertmacro MUI_LANGUAGE "Breton"
!insertmacro MUI_LANGUAGE "Bulgarian"
!insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Estonian"
!insertmacro MUI_LANGUAGE "Farsi"
!insertmacro MUI_LANGUAGE "Finnish"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Icelandic"
!insertmacro MUI_LANGUAGE "Indonesian"
!insertmacro MUI_LANGUAGE "Irish"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Kurdish"
!insertmacro MUI_LANGUAGE "Latvian"
!insertmacro MUI_LANGUAGE "Lithuanian"
!insertmacro MUI_LANGUAGE "Luxembourgish"
!insertmacro MUI_LANGUAGE "Macedonian"
!insertmacro MUI_LANGUAGE "Malay"
!insertmacro MUI_LANGUAGE "Mongolian"
!insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Serbian"
!insertmacro MUI_LANGUAGE "SerbianLatin"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Thai"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "Welsh"
;--------------------------------
;Reserve Files
;These files should be inserted before other files in the data block
;Keep these lines before any File command
;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
ReserveFile "NSIS.InstallOptions.ini"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
;--------------------------------
;Installer Sections
Section "-Core installation"
;Use the entire tree produced by the INSTALL target. Keep the
;list of directories here in sync with the RMDir commands below.
SetOutPath "$INSTDIR"
@CPACK_NSIS_FULL_INSTALL@
;Store installation folder
WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
Push "DisplayName"
Push "@CPACK_NSIS_DISPLAY_NAME@"
Call ConditionalAddToRegisty
Push "DisplayVersion"
Push "@CPACK_PACKAGE_VERSION@"
Call ConditionalAddToRegisty
Push "Publisher"
Push "@CPACK_PACKAGE_VENDOR@"
Call ConditionalAddToRegisty
Push "UninstallString"
Push "$INSTDIR\Uninstall.exe"
Call ConditionalAddToRegisty
Push "NoRepair"
Push "1"
Call ConditionalAddToRegisty
!ifdef CPACK_NSIS_ADD_REMOVE
;Create add/remove functionality
Push "ModifyPath"
Push "$INSTDIR\AddRemove.exe"
Call ConditionalAddToRegisty
!else
Push "NoModify"
Push "1"
Call ConditionalAddToRegisty
!endif
; Optional registration
Push "DisplayIcon"
Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
Call ConditionalAddToRegisty
Push "HelpLink"
Push "@CPACK_NSIS_HELP_LINK@"
Call ConditionalAddToRegisty
Push "URLInfoAbout"
Push "@CPACK_NSIS_URL_INFO_ABOUT@"
Call ConditionalAddToRegisty
Push "Contact"
Push "@CPACK_NSIS_CONTACT@"
Call ConditionalAddToRegisty
!insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
;Create shortcuts
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
@CPACK_NSIS_CREATE_ICONS@
@CPACK_NSIS_CREATE_ICONS_EXTRA@
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
;Read a value from an InstallOptions INI file
!insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
; Write special uninstall registry entries
Push "StartMenu"
Push "$STARTMENU_FOLDER"
Call ConditionalAddToRegisty
Push "DoNotAddToPath"
Push "$DO_NOT_ADD_TO_PATH"
Call ConditionalAddToRegisty
Push "AddToPathAllUsers"
Push "$ADD_TO_PATH_ALL_USERS"
Call ConditionalAddToRegisty
Push "AddToPathCurrentUser"
Push "$ADD_TO_PATH_CURRENT_USER"
Call ConditionalAddToRegisty
Push "InstallToDesktop"
Push "$INSTALL_DESKTOP"
Call ConditionalAddToRegisty
!insertmacro MUI_STARTMENU_WRITE_END
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
SectionEnd
Section "-Add to path"
Push $INSTDIR\bin
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
Call AddToPath
doNotAddToPath:
SectionEnd
;--------------------------------
; Create custom pages
Function InstallOptionsPage
!insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing @CPACK_NSIS_PACKAGE_NAME@"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
FunctionEnd
;--------------------------------
; determine admin versus local install
Function un.onInit
ClearErrors
UserInfo::GetName
IfErrors noLM
Pop $0
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Admin group'
Goto done
StrCmp $1 "Power" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Power Users group'
Goto done
noLM:
;Get installation folder from registry if available
done:
FunctionEnd
;--- Add/Remove callback functions: ---
!macro SectionList MacroName
;This macro used to perform operation on multiple sections.
;List all of your components in following manner here.
@CPACK_NSIS_COMPONENT_SECTION_LIST@
!macroend
Section -FinishComponents
;Removes unselected components and writes component status to registry
!insertmacro SectionList "FinishSection"
!ifdef CPACK_NSIS_ADD_REMOVE
; Get the name of the installer executable
System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
StrCpy $R3 $R0
; Strip off the last 13 characters, to see if we have AddRemove.exe
StrLen $R1 $R0
IntOp $R1 $R0 - 13
StrCpy $R2 $R0 13 $R1
StrCmp $R2 "AddRemove.exe" addremove_installed
; We're not running AddRemove.exe, so install it
CopyFiles $R3 $INSTDIR\AddRemove.exe
addremove_installed:
!endif
SectionEnd
;--- End of Add/Remove callback functions ---
;--------------------------------
; Component dependencies
Function .onSelChange
!insertmacro SectionList MaybeSelectionChanged
FunctionEnd
;--------------------------------
;Uninstaller Section
Section "Uninstall"
ReadRegStr $START_MENU SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "StartMenu"
;MessageBox MB_OK "Start menu is in: $START_MENU"
ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "DoNotAddToPath"
ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "AddToPathAllUsers"
ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "AddToPathCurrentUser"
;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
ReadRegStr $INSTALL_DESKTOP SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "InstallToDesktop"
;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP "
@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
;Remove files we installed.
;Keep the list of directories here in sync with the File commands above.
@CPACK_NSIS_DELETE_FILES@
@CPACK_NSIS_DELETE_DIRECTORIES@
!ifdef CPACK_NSIS_ADD_REMOVE
;Remove the add/remove program
Delete "$INSTDIR\AddRemove.exe"
!endif
;Remove the uninstaller itself.
Delete "$INSTDIR\Uninstall.exe"
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@"
;Remove the installation directory if it is empty.
RMDir "$INSTDIR"
; Remove the registry entries.
DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
; Removes all optional components
!insertmacro SectionList "RemoveSection"
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS@
@CPACK_NSIS_DELETE_ICONS_EXTRA@
;Delete empty start menu parent directories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
startMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
IfErrors startMenuDeleteLoopDone
StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
; If the user changed the shortcut, then untinstall may not work. This should
; try to fix it.
StrCpy $MUI_TEMP "$START_MENU"
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS_EXTRA@
;Delete empty start menu parent directories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
secondStartMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
IfErrors secondStartMenuDeleteLoopDone
StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop
secondStartMenuDeleteLoopDone:
DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
Push $INSTDIR\bin
StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0
Call un.RemoveFromPath
doNotRemoveFromPath:
SectionEnd
;--------------------------------
; determine admin versus local install
; Is install for "AllUsers" or "JustMe"?
; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
; This function is used for the very first "custom page" of the installer.
; This custom page does not show up visibly, but it executes prior to the
; first visible page and sets up $INSTDIR properly...
; Choose different default installation folder based on SV_ALLUSERS...
; "Program Files" for AllUsers, "My Documents" for JustMe...
Function .onInit
; Reads components status for registry
!insertmacro SectionList "InitSection"
; check to see if /D has been used to change
; the install directory by comparing it to the
; install directory that is expected to be the
; default
StrCpy $IS_DEFAULT_INSTALLDIR 0
StrCmp "$INSTDIR" "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
StrCpy $IS_DEFAULT_INSTALLDIR 1
StrCpy $SV_ALLUSERS "JustMe"
; if default install dir then change the default
; if it is installed for JustMe
StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
ClearErrors
UserInfo::GetName
IfErrors noLM
Pop $0
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Admin group'
StrCpy $SV_ALLUSERS "AllUsers"
Goto done
StrCmp $1 "Power" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Power Users group'
StrCpy $SV_ALLUSERS "AllUsers"
Goto done
noLM:
StrCpy $SV_ALLUSERS "AllUsers"
;Get installation folder from registry if available
done:
StrCmp $SV_ALLUSERS "AllUsers" 0 +3
StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
StrCpy $INSTDIR "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
noOptionsPage:
FunctionEnd

View File

@@ -0,0 +1,960 @@
; CPack install script designed for a nmake build
;--------------------------------
; You must define these values
!define VERSION "@CPACK_PACKAGE_VERSION@"
!define PATCH "@CPACK_PACKAGE_VERSION_PATCH@"
!define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
;--------------------------------
;Variables
Var MUI_TEMP
Var STARTMENU_FOLDER
Var SV_ALLUSERS
Var START_MENU
Var DO_NOT_ADD_TO_PATH
Var ADD_TO_PATH_ALL_USERS
Var ADD_TO_PATH_CURRENT_USER
Var INSTALL_DESKTOP
Var IS_DEFAULT_INSTALLDIR
;--------------------------------
;Include Modern UI
!include "MUI.nsh"
;Default installation folder
;InstallDir "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
InstallDir "$PROGRAMFILES64\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
;--------------------------------
;General
;Name and file
Name "@CPACK_NSIS_PACKAGE_NAME@"
OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
;Set compression
SetCompressor @CPACK_NSIS_COMPRESSOR@
@CPACK_NSIS_DEFINES@
!include Sections.nsh
;--- Component support macros: ---
; The code for the add/remove functionality is from:
; http://nsis.sourceforge.net/Add/Remove_Functionality
; It has been modified slightly and extended to provide
; inter-component dependencies.
Var AR_SecFlags
Var AR_RegFlags
@CPACK_NSIS_SECTION_SELECTED_VARS@
; Loads the "selected" flag for the section named SecName into the
; variable VarName.
!macro LoadSectionSelectedIntoVar SecName VarName
SectionGetFlags ${${SecName}} $${VarName}
IntOp $${VarName} $${VarName} & ${SF_SELECTED} ;Turn off all other bits
!macroend
; Loads the value of a variable... can we get around this?
!macro LoadVar VarName
IntOp $R0 0 + $${VarName}
!macroend
; Sets the value of a variable
!macro StoreVar VarName IntValue
IntOp $${VarName} 0 + ${IntValue}
!macroend
!macro InitSection SecName
; This macro reads component installed flag from the registry and
;changes checked state of the section on the components page.
;Input: section index constant name specified in Section command.
ClearErrors
;Reading component status from registry
ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)\Components\${SecName}" "Installed"
IfErrors "default_${SecName}"
;Status will stay default if registry value not found
;(component was never installed)
IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits
SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading default section flags
IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE ;Turn lowest (enabled) bit off
IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags ;Change lowest bit
; Note whether this component was installed before
!insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags
IntOp $R0 $AR_RegFlags & $AR_RegFlags
;Writing modified flags
SectionSetFlags ${${SecName}} $AR_SecFlags
"default_${SecName}:"
!insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
!macroend
!macro FinishSection SecName
; This macro reads section flag set by user and removes the section
;if it is not selected.
;Then it writes component installed flag to registry
;Input: section index constant name specified in Section command.
SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading section flags
;Checking lowest bit:
IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED}
IntCmp $AR_SecFlags 1 "leave_${SecName}"
;Section is not selected:
;Calling Section uninstall macro and writing zero installed flag
!insertmacro "Remove_${${SecName}}"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)\Components\${SecName}" \
"Installed" 0
Goto "exit_${SecName}"
"leave_${SecName}:"
;Section is selected:
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)\Components\${SecName}" \
"Installed" 1
"exit_${SecName}:"
!macroend
!macro RemoveSection SecName
; This macro is used to call section's Remove_... macro
;from the uninstaller.
;Input: section index constant name specified in Section command.
!insertmacro "Remove_${${SecName}}"
!macroend
; Determine whether the selection of SecName changed
!macro MaybeSelectionChanged SecName
!insertmacro LoadVar ${SecName}_selected
SectionGetFlags ${${SecName}} $R1
IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits
; See if the status has changed:
IntCmp $R0 $R1 "${SecName}_unchanged"
!insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected"
!insertmacro "Deselect_required_by_${SecName}"
goto "${SecName}_unchanged"
"${SecName}_was_selected:"
!insertmacro "Select_${SecName}_depends"
"${SecName}_unchanged:"
!macroend
;--- End of Add/Remove macros ---
;--------------------------------
;Interface Settings
!define MUI_HEADERIMAGE
!define MUI_ABORTWARNING
;--------------------------------
; path functions
!verbose 3
!include "WinMessages.NSH"
!verbose 4
;----------------------------------------
; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
;----------------------------------------
!verbose 3
!include "WinMessages.NSH"
!verbose 4
;====================================================
; get_NT_environment
; Returns: the selected environment
; Output : head of the stack
;====================================================
!macro select_NT_profile UN
Function ${UN}select_NT_profile
StrCmp $ADD_TO_PATH_ALL_USERS "1" 0 environment_single
DetailPrint "Selected environment for all users"
Push "all"
Return
environment_single:
DetailPrint "Selected environment for current user only."
Push "current"
Return
FunctionEnd
!macroend
!insertmacro select_NT_profile ""
!insertmacro select_NT_profile "un."
;----------------------------------------------------
!define NT_current_env 'HKCU "Environment"'
!define NT_all_env 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
!ifndef WriteEnvStr_RegKey
!ifdef ALL_USERS
!define WriteEnvStr_RegKey \
'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
!else
!define WriteEnvStr_RegKey 'HKCU "Environment"'
!endif
!endif
; AddToPath - Adds the given dir to the search path.
; Input - head of the stack
; Note - Win9x systems requires reboot
Function AddToPath
Exch $0
Push $1
Push $2
Push $3
# don't add if the path doesn't exist
IfFileExists "$0\*.*" "" AddToPath_done
ReadEnvStr $1 PATH
; if the path is too long for a NSIS variable NSIS will return a 0
; length string. If we find that, then warn and skip any path
; modification as it will trash the existing path.
StrLen $2 $1
IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done
CheckPathLength_ShowPathWarning:
Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!"
Goto AddToPath_done
CheckPathLength_Done:
Push "$1;"
Push "$0;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Push "$1;"
Push "$0\;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
GetFullPathName /SHORT $3 $0
Push "$1;"
Push "$3;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Push "$1;"
Push "$3\;"
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
Call IsNT
Pop $1
StrCmp $1 1 AddToPath_NT
; Not on NT
StrCpy $1 $WINDIR 2
FileOpen $1 "$1\autoexec.bat" a
FileSeek $1 -1 END
FileReadByte $1 $2
IntCmp $2 26 0 +2 +2 # DOS EOF
FileSeek $1 -1 END # write over EOF
FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
FileClose $1
SetRebootFlag true
Goto AddToPath_done
AddToPath_NT:
StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey
ReadRegStr $1 ${NT_current_env} "PATH"
Goto DoTrim
ReadAllKey:
ReadRegStr $1 ${NT_all_env} "PATH"
DoTrim:
StrCmp $1 "" AddToPath_NTdoIt
Push $1
Call Trim
Pop $1
StrCpy $0 "$1;$0"
AddToPath_NTdoIt:
StrCmp $ADD_TO_PATH_ALL_USERS "1" WriteAllKey
WriteRegExpandStr ${NT_current_env} "PATH" $0
Goto DoSend
WriteAllKey:
WriteRegExpandStr ${NT_all_env} "PATH" $0
DoSend:
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
AddToPath_done:
Pop $3
Pop $2
Pop $1
Pop $0
FunctionEnd
; RemoveFromPath - Remove a given dir from the path
; Input: head of the stack
Function un.RemoveFromPath
Exch $0
Push $1
Push $2
Push $3
Push $4
Push $5
Push $6
IntFmt $6 "%c" 26 # DOS EOF
Call un.IsNT
Pop $1
StrCmp $1 1 unRemoveFromPath_NT
; Not on NT
StrCpy $1 $WINDIR 2
FileOpen $1 "$1\autoexec.bat" r
GetTempFileName $4
FileOpen $2 $4 w
GetFullPathName /SHORT $0 $0
StrCpy $0 "SET PATH=%PATH%;$0"
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoop:
FileRead $1 $3
StrCpy $5 $3 1 -1 # read last char
StrCmp $5 $6 0 +2 # if DOS EOF
StrCpy $3 $3 -1 # remove DOS EOF so we can compare
StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
StrCmp $3 "" unRemoveFromPath_dosLoopEnd
FileWrite $2 $3
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoopRemoveLine:
SetRebootFlag true
Goto unRemoveFromPath_dosLoop
unRemoveFromPath_dosLoopEnd:
FileClose $2
FileClose $1
StrCpy $1 $WINDIR 2
Delete "$1\autoexec.bat"
CopyFiles /SILENT $4 "$1\autoexec.bat"
Delete $4
Goto unRemoveFromPath_done
unRemoveFromPath_NT:
StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey
ReadRegStr $1 ${NT_current_env} "PATH"
Goto unDoTrim
unReadAllKey:
ReadRegStr $1 ${NT_all_env} "PATH"
unDoTrim:
StrCpy $5 $1 1 -1 # copy last char
StrCmp $5 ";" +2 # if last char != ;
StrCpy $1 "$1;" # append ;
Push $1
Push "$0;"
Call un.StrStr ; Find `$0;` in $1
Pop $2 ; pos of our dir
StrCmp $2 "" unRemoveFromPath_done
; else, it is in path
# $0 - path to add
# $1 - path var
StrLen $3 "$0;"
StrLen $4 $2
StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
StrCpy $3 $5$6
StrCpy $5 $3 1 -1 # copy last char
StrCmp $5 ";" 0 +2 # if last char == ;
StrCpy $3 $3 -1 # remove last char
StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey
WriteRegExpandStr ${NT_current_env} "PATH" $3
Goto unDoSend
unWriteAllKey:
WriteRegExpandStr ${NT_all_env} "PATH" $3
unDoSend:
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
unRemoveFromPath_done:
Pop $6
Pop $5
Pop $4
Pop $3
Pop $2
Pop $1
Pop $0
FunctionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Uninstall sutff
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
###########################################
# Utility Functions #
###########################################
;====================================================
; IsNT - Returns 1 if the current system is NT, 0
; otherwise.
; Output: head of the stack
;====================================================
; IsNT
; no input
; output, top of the stack = 1 if NT or 0 if not
;
; Usage:
; Call IsNT
; Pop $R0
; ($R0 at this point is 1 or 0)
!macro IsNT un
Function ${un}IsNT
Push $0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
StrCmp $0 "" 0 IsNT_yes
; we are not NT.
Pop $0
Push 0
Return
IsNT_yes:
; NT!!!
Pop $0
Push 1
FunctionEnd
!macroend
!insertmacro IsNT ""
!insertmacro IsNT "un."
; StrStr
; input, top of stack = string to search for
; top of stack-1 = string to search in
; output, top of stack (replaces with the portion of the string remaining)
; modifies no other variables.
;
; Usage:
; Push "this is a long ass string"
; Push "ass"
; Call StrStr
; Pop $R0
; ($R0 at this point is "ass string")
!macro StrStr un
Function ${un}StrStr
Exch $R1 ; st=haystack,old$R1, $R1=needle
Exch ; st=old$R1,haystack
Exch $R2 ; st=old$R1,old$R2, $R2=haystack
Push $R3
Push $R4
Push $R5
StrLen $R3 $R1
StrCpy $R4 0
; $R1=needle
; $R2=haystack
; $R3=len(needle)
; $R4=cnt
; $R5=tmp
loop:
StrCpy $R5 $R2 $R3 $R4
StrCmp $R5 $R1 done
StrCmp $R5 "" done
IntOp $R4 $R4 + 1
Goto loop
done:
StrCpy $R1 $R2 "" $R4
Pop $R5
Pop $R4
Pop $R3
Pop $R2
Exch $R1
FunctionEnd
!macroend
!insertmacro StrStr ""
!insertmacro StrStr "un."
Function Trim ; Added by Pelaca
Exch $R1
Push $R2
Loop:
StrCpy $R2 "$R1" 1 -1
StrCmp "$R2" " " RTrim
StrCmp "$R2" "$\n" RTrim
StrCmp "$R2" "$\r" RTrim
StrCmp "$R2" ";" RTrim
GoTo Done
RTrim:
StrCpy $R1 "$R1" -1
Goto Loop
Done:
Pop $R2
Exch $R1
FunctionEnd
Function ConditionalAddToRegisty
Pop $0
Pop $1
StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" \
"$1" "$0"
;MessageBox MB_OK "Set Registry: '$1' to '$0'"
DetailPrint "Set install registry entry: '$1' to '$0'"
ConditionalAddToRegisty_EmptyString:
FunctionEnd
;--------------------------------
!ifdef CPACK_USES_DOWNLOAD
Function DownloadFile
IfFileExists $INSTDIR\* +2
CreateDirectory $INSTDIR
Pop $0
; Skip if already downloaded
IfFileExists $INSTDIR\$0 0 +2
Return
StrCpy $1 "@CPACK_DOWNLOAD_SITE@"
try_again:
NSISdl::download "$1/$0" "$INSTDIR\$0"
Pop $1
StrCmp $1 "success" success
StrCmp $1 "Cancelled" cancel
MessageBox MB_OK "Download failed: $1"
cancel:
Return
success:
FunctionEnd
!endif
;--------------------------------
; Installation types
@CPACK_NSIS_INSTALLATION_TYPES@
;--------------------------------
; Component sections
@CPACK_NSIS_COMPONENT_SECTIONS@
;--------------------------------
; Define some macro setting for the gui
@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
@CPACK_NSIS_INSTALLER_ICON_CODE@
@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
;--------------------------------
;Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
Page custom InstallOptionsPage
!insertmacro MUI_PAGE_DIRECTORY
;Start Menu Folder Page Configuration
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt"
@CPACK_NSIS_PAGE_COMPONENTS@
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
!insertmacro MUI_LANGUAGE "Albanian"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Basque"
!insertmacro MUI_LANGUAGE "Belarusian"
!insertmacro MUI_LANGUAGE "Bosnian"
!insertmacro MUI_LANGUAGE "Breton"
!insertmacro MUI_LANGUAGE "Bulgarian"
!insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Estonian"
!insertmacro MUI_LANGUAGE "Farsi"
!insertmacro MUI_LANGUAGE "Finnish"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Icelandic"
!insertmacro MUI_LANGUAGE "Indonesian"
!insertmacro MUI_LANGUAGE "Irish"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Kurdish"
!insertmacro MUI_LANGUAGE "Latvian"
!insertmacro MUI_LANGUAGE "Lithuanian"
!insertmacro MUI_LANGUAGE "Luxembourgish"
!insertmacro MUI_LANGUAGE "Macedonian"
!insertmacro MUI_LANGUAGE "Malay"
!insertmacro MUI_LANGUAGE "Mongolian"
!insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Serbian"
!insertmacro MUI_LANGUAGE "SerbianLatin"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Thai"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "Welsh"
;--------------------------------
;Reserve Files
;These files should be inserted before other files in the data block
;Keep these lines before any File command
;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
ReserveFile "NSIS.InstallOptions.ini"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
;--------------------------------
;Installer Sections
Section "-Core installation"
;Use the entire tree produced by the INSTALL target. Keep the
;list of directories here in sync with the RMDir commands below.
SetOutPath "$INSTDIR"
@CPACK_NSIS_FULL_INSTALL@
;Store installation folder
WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
Push "DisplayName"
Push "@CPACK_NSIS_DISPLAY_NAME@"
Call ConditionalAddToRegisty
Push "DisplayVersion"
Push "@CPACK_PACKAGE_VERSION@"
Call ConditionalAddToRegisty
Push "Publisher"
Push "@CPACK_PACKAGE_VENDOR@"
Call ConditionalAddToRegisty
Push "UninstallString"
Push "$INSTDIR\Uninstall.exe"
Call ConditionalAddToRegisty
Push "NoRepair"
Push "1"
Call ConditionalAddToRegisty
!ifdef CPACK_NSIS_ADD_REMOVE
;Create add/remove functionality
Push "ModifyPath"
Push "$INSTDIR\AddRemove.exe"
Call ConditionalAddToRegisty
!else
Push "NoModify"
Push "1"
Call ConditionalAddToRegisty
!endif
; Optional registration
Push "DisplayIcon"
Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
Call ConditionalAddToRegisty
Push "HelpLink"
Push "@CPACK_NSIS_HELP_LINK@"
Call ConditionalAddToRegisty
Push "URLInfoAbout"
Push "@CPACK_NSIS_URL_INFO_ABOUT@"
Call ConditionalAddToRegisty
Push "Contact"
Push "@CPACK_NSIS_CONTACT@"
Call ConditionalAddToRegisty
!insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
;Create shortcuts
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
@CPACK_NSIS_CREATE_ICONS@
@CPACK_NSIS_CREATE_ICONS_EXTRA@
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
;Read a value from an InstallOptions INI file
!insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
; Write special uninstall registry entries
Push "StartMenu"
Push "$STARTMENU_FOLDER"
Call ConditionalAddToRegisty
Push "DoNotAddToPath"
Push "$DO_NOT_ADD_TO_PATH"
Call ConditionalAddToRegisty
Push "AddToPathAllUsers"
Push "$ADD_TO_PATH_ALL_USERS"
Call ConditionalAddToRegisty
Push "AddToPathCurrentUser"
Push "$ADD_TO_PATH_CURRENT_USER"
Call ConditionalAddToRegisty
Push "InstallToDesktop"
Push "$INSTALL_DESKTOP"
Call ConditionalAddToRegisty
!insertmacro MUI_STARTMENU_WRITE_END
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
SectionEnd
Section "-Add to path"
Push $INSTDIR\bin
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
Call AddToPath
doNotAddToPath:
SectionEnd
;--------------------------------
; Create custom pages
Function InstallOptionsPage
!insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing @CPACK_NSIS_PACKAGE_NAME@"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
FunctionEnd
;--------------------------------
; determine admin versus local install
Function un.onInit
ClearErrors
UserInfo::GetName
IfErrors noLM
Pop $0
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Admin group'
Goto done
StrCmp $1 "Power" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Power Users group'
Goto done
noLM:
;Get installation folder from registry if available
done:
;Disable WoW64 redirection
SetRegView 64
FunctionEnd
;--- Add/Remove callback functions: ---
!macro SectionList MacroName
;This macro used to perform operation on multiple sections.
;List all of your components in following manner here.
@CPACK_NSIS_COMPONENT_SECTION_LIST@
!macroend
Section -FinishComponents
;Removes unselected components and writes component status to registry
!insertmacro SectionList "FinishSection"
!ifdef CPACK_NSIS_ADD_REMOVE
; Get the name of the installer executable
System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
StrCpy $R3 $R0
; Strip off the last 13 characters, to see if we have AddRemove.exe
StrLen $R1 $R0
IntOp $R1 $R0 - 13
StrCpy $R2 $R0 13 $R1
StrCmp $R2 "AddRemove.exe" addremove_installed
; We're not running AddRemove.exe, so install it
CopyFiles $R3 $INSTDIR\AddRemove.exe
addremove_installed:
!endif
SectionEnd
;--- End of Add/Remove callback functions ---
;--------------------------------
; Component dependencies
Function .onSelChange
!insertmacro SectionList MaybeSelectionChanged
FunctionEnd
;--------------------------------
;Uninstaller Section
Section "Uninstall"
ReadRegStr $START_MENU SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "StartMenu"
;MessageBox MB_OK "Start menu is in: $START_MENU"
ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "DoNotAddToPath"
ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "AddToPathAllUsers"
ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "AddToPathCurrentUser"
;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
ReadRegStr $INSTALL_DESKTOP SHCTX \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)" "InstallToDesktop"
;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP "
@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
;Remove files we installed.
;Keep the list of directories here in sync with the File commands above.
@CPACK_NSIS_DELETE_FILES@
@CPACK_NSIS_DELETE_DIRECTORIES@
!ifdef CPACK_NSIS_ADD_REMOVE
;Remove the add/remove program
Delete "$INSTDIR\AddRemove.exe"
!endif
;Remove the uninstaller itself.
Delete "$INSTDIR\Uninstall.exe"
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@ (x64)"
;Remove the installation directory if it is empty.
RMDir "$INSTDIR"
; Remove the registry entries.
DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
; Removes all optional components
!insertmacro SectionList "RemoveSection"
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS@
@CPACK_NSIS_DELETE_ICONS_EXTRA@
;Delete empty start menu parent directories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
startMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
IfErrors startMenuDeleteLoopDone
StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
; If the user changed the shortcut, then untinstall may not work. This should
; try to fix it.
StrCpy $MUI_TEMP "$START_MENU"
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS_EXTRA@
;Delete empty start menu parent directories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
secondStartMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
IfErrors secondStartMenuDeleteLoopDone
StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop
secondStartMenuDeleteLoopDone:
DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
Push $INSTDIR\bin
StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0
Call un.RemoveFromPath
doNotRemoveFromPath:
SectionEnd
;--------------------------------
; determine admin versus local install
; Is install for "AllUsers" or "JustMe"?
; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
; This function is used for the very first "custom page" of the installer.
; This custom page does not show up visibly, but it executes prior to the
; first visible page and sets up $INSTDIR properly...
; Choose different default installation folder based on SV_ALLUSERS...
; "Program Files" for AllUsers, "My Documents" for JustMe...
Function .onInit
; Reads components status for registry
!insertmacro SectionList "InitSection"
; check to see if /D has been used to change
; the install directory by comparing it to the
; install directory that is expected to be the
; default
StrCpy $IS_DEFAULT_INSTALLDIR 0
;StrCmp "$INSTDIR" "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
StrCmp "$INSTDIR" "$PROGRAMFILES64\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
StrCpy $IS_DEFAULT_INSTALLDIR 1
StrCpy $SV_ALLUSERS "JustMe"
; if default install dir then change the default
; if it is installed for JustMe
StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
;Disable WoW64 redirection
SetRegView 64
ClearErrors
UserInfo::GetName
IfErrors noLM
Pop $0
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Admin group'
StrCpy $SV_ALLUSERS "AllUsers"
Goto done
StrCmp $1 "Power" 0 +3
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Power Users group'
StrCpy $SV_ALLUSERS "AllUsers"
Goto done
noLM:
StrCpy $SV_ALLUSERS "AllUsers"
;Get installation folder from registry if available
done:
StrCmp $SV_ALLUSERS "AllUsers" 0 +3
StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
;StrCpy $INSTDIR "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
StrCpy $INSTDIR "$PROGRAMFILES64\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
noOptionsPage:
FunctionEnd

View File

@@ -0,0 +1,34 @@
# ZeroMQ cmake module
#
# The following import targets are created
#
# ::
#
# libzmq-static
# libzmq
#
# This module sets the following variables in your project::
#
# ZeroMQ_FOUND - true if ZeroMQ found on the system
# ZeroMQ_INCLUDE_DIR - the directory containing ZeroMQ headers
# ZeroMQ_LIBRARY -
# ZeroMQ_STATIC_LIBRARY
@PACKAGE_INIT@
if(NOT TARGET libzmq AND NOT TARGET libzmq-static)
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
if (TARGET libzmq)
get_target_property(@PROJECT_NAME@_INCLUDE_DIR libzmq INTERFACE_INCLUDE_DIRECTORIES)
else ()
get_target_property(@PROJECT_NAME@_INCLUDE_DIR libzmq-static INTERFACE_INCLUDE_DIRECTORIES)
endif()
if (TARGET libzmq)
get_target_property(@PROJECT_NAME@_LIBRARY libzmq LOCATION)
endif()
if (TARGET libzmq-static)
get_target_property(@PROJECT_NAME@_STATIC_LIBRARY libzmq-static LOCATION)
endif()
endif()

View File

@@ -0,0 +1,121 @@
#!/usr/bin/env bash
set -x -e
cd ../..
# always install custom builds from dist
# to make sure that `make dist` doesn't omit any files required to build & test
if [ -z "$DO_CLANG_FORMAT_CHECK" -a -z "$CLANG_TIDY" ]; then
./autogen.sh
./configure
make -j5 dist-gzip
V=$(./version.sh)
tar -xzf zeromq-$V.tar.gz
cd zeromq-$V
fi
mkdir tmp || true
BUILD_PREFIX=$PWD/tmp
CONFIG_OPTS=()
CONFIG_OPTS+=("CFLAGS=-I${BUILD_PREFIX}/include")
CONFIG_OPTS+=("CPPFLAGS=-I${BUILD_PREFIX}/include")
CONFIG_OPTS+=("CXXFLAGS=-I${BUILD_PREFIX}/include")
CONFIG_OPTS+=("LDFLAGS=-L${BUILD_PREFIX}/lib")
CONFIG_OPTS+=("PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig")
CMAKE_OPTS=()
CMAKE_OPTS+=("-DCMAKE_INSTALL_PREFIX:PATH=${BUILD_PREFIX}")
CMAKE_OPTS+=("-DCMAKE_PREFIX_PATH:PATH=${BUILD_PREFIX}")
CMAKE_OPTS+=("-DCMAKE_LIBRARY_PATH:PATH=${BUILD_PREFIX}/lib")
CMAKE_OPTS+=("-DCMAKE_INCLUDE_PATH:PATH=${BUILD_PREFIX}/include")
CMAKE_OPTS+=("-DENABLE_CAPSH=ON")
CMAKE_OPTS+=("-DBUILD_TESTS=ON")
if [ "$CLANG_FORMAT" != "" ] ; then
CMAKE_OPTS+=("-DCLANG_FORMAT=${CLANG_FORMAT}")
fi
if [ -z $CURVE ]; then
CMAKE_OPTS+=("-DENABLE_CURVE=OFF")
elif [ $CURVE == "libsodium" ]; then
CMAKE_OPTS+=("-DWITH_LIBSODIUM=ON")
if ! ((command -v dpkg-query >/dev/null 2>&1 && dpkg-query --list libsodium-dev >/dev/null 2>&1) || \
(command -v brew >/dev/null 2>&1 && brew ls --versions libsodium >/dev/null 2>&1)); then
git clone --depth 1 -b stable https://github.com/jedisct1/libsodium.git
( cd libsodium; ./autogen.sh; ./configure --prefix=$BUILD_PREFIX; make install)
fi
fi
CMAKE_PREFIXES=()
MAKE_PREFIXES=()
PARALLEL_MAKE_OPT="-j5"
if [ -n "$CLANG_TIDY" ] ; then
# To allow sonar to process history information, unshallow clone first.
git fetch --unshallow
curl -L https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip -o build-wrapper-linux-x86.zip
unzip build-wrapper-linux-x86.zip
export SONARCLOUD_BUILD_WRAPPER_PATH="${PWD}/build-wrapper-linux-x86/"
curl -L https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip -o sonar-scanner-cli.zip
unzip sonar-scanner-cli.zip
export SONAR_SCANNER_CLI_PATH="${PWD}/sonar-scanner-4.2.0.1873-linux/bin/"
CMAKE_OPTS+=("-DCMAKE_BUILD_TYPE=Debug") # do a debug build to avoid unused variable warnings with assertions, and to speed up build
CMAKE_OPTS+=("-DCMAKE_CXX_CLANG_TIDY:STRING=${CLANG_TIDY}")
if [ -n ${SONARCLOUD_BUILD_WRAPPER_PATH} ] ; then
MAKE_PREFIXES+=("${SONARCLOUD_BUILD_WRAPPER_PATH}build-wrapper-linux-x86-64")
MAKE_PREFIXES+=("--out-dir")
MAKE_PREFIXES+=("${TRAVIS_BUILD_DIR}/bw-output")
fi
CMAKE_PREFIXES+=("scan-build-10")
MAKE_PREFIXES+=("scan-build-10")
MAKE_PREFIXES+=("-plist-html")
SCAN_BUILD_OUTPUT="$(pwd)/scan-build-report"
MAKE_PREFIXES+=("-o ${SCAN_BUILD_OUTPUT}")
# TODO this does not work with sonarcloud.io as it misses the sonar-cxx plugin
#MAKE_PREFIXES+=("-plist")
IFS="/" read -ra GITHUB_USER <<< "${TRAVIS_REPO_SLUG}"
PARALLEL_MAKE_OPT=""
fi
# Build, check, and install from local source
mkdir build_cmake
cd build_cmake
if [ "$DO_CLANG_FORMAT_CHECK" = "1" ] ; then
if ! ( PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig cmake "${CMAKE_OPTS[@]}" .. && make clang-format-check) ; then
make clang-format-diff
exit 1
fi
else
if [ -n "$CLANG_TIDY" ] ; then
${CLANG_TIDY} -explain-config
fi
export CTEST_OUTPUT_ON_FAILURE=1
PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig ${CMAKE_PREFIXES[@]} cmake "${CMAKE_OPTS[@]}" ..
${MAKE_PREFIXES[@]} make ${PARALLEL_MAKE_OPT} all VERBOSE=1 | tee clang-tidy-report
if [ -n "${SONAR_SCANNER_CLI_PATH}" ] ; then
find ${SCAN_BUILD_OUTPUT} || echo "WARNING: ${SCAN_BUILD_OUTPUT} does not exist"
${SONAR_SCANNER_CLI_PATH}sonar-scanner \
-Dsonar.projectKey=${GITHUB_USER}-libzmq \
-Dsonar.organization=${GITHUB_USER}-github \
-Dsonar.projectBaseDir=.. \
-Dsonar.sources=${TRAVIS_BUILD_DIR}/include,${TRAVIS_BUILD_DIR}/src,${TRAVIS_BUILD_DIR}/tests,${TRAVIS_BUILD_DIR}/unittests \
-Dsonar.cfamily.build-wrapper-output=${TRAVIS_BUILD_DIR}/bw-output \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.login=${SONARQUBE_TOKEN}
# TODO this does not work with sonarcloud.io as it misses the sonar-cxx plugin
# -Dsonar.cxx.clangtidy.reportPath=clang-tidy-report \
# -Dsonar.cxx.clangsa.reportPath=*.plist \
fi
make install
make ${PARALLEL_MAKE_OPT} test ARGS="-V"
fi

View File

@@ -0,0 +1,14 @@
#!/bin/sh
FAILED=0
IFS=";"
FILES="@ALL_SOURCE_FILES@"
IDS=$(echo -en "\n\b")
for FILE in $FILES
do
@CLANG_FORMAT@ -style=file -output-replacements-xml "$FILE" | grep "<replacement " >/dev/null &&
{
echo "$FILE is not correctly formatted"
FAILED=1
}
done
if [ "$FAILED" -eq "1" ] ; then exit 1 ; fi

View File

@@ -0,0 +1,144 @@
#ifndef __ZMQ_PLATFORM_HPP_INCLUDED__
#define __ZMQ_PLATFORM_HPP_INCLUDED__
#cmakedefine ZMQ_USE_CV_IMPL_STL11
#cmakedefine ZMQ_USE_CV_IMPL_WIN32API
#cmakedefine ZMQ_USE_CV_IMPL_PTHREADS
#cmakedefine ZMQ_USE_CV_IMPL_NONE
#cmakedefine ZMQ_IOTHREAD_POLLER_USE_KQUEUE
#cmakedefine ZMQ_IOTHREAD_POLLER_USE_EPOLL
#cmakedefine ZMQ_IOTHREAD_POLLER_USE_EPOLL_CLOEXEC
#cmakedefine ZMQ_IOTHREAD_POLLER_USE_DEVPOLL
#cmakedefine ZMQ_IOTHREAD_POLLER_USE_POLL
#cmakedefine ZMQ_IOTHREAD_POLLER_USE_SELECT
#cmakedefine ZMQ_HAVE_PPOLL
#cmakedefine ZMQ_POLL_BASED_ON_SELECT
#cmakedefine ZMQ_POLL_BASED_ON_POLL
#cmakedefine HAVE_POSIX_MEMALIGN @HAVE_POSIX_MEMALIGN@
#cmakedefine ZMQ_CACHELINE_SIZE @ZMQ_CACHELINE_SIZE@
#cmakedefine ZMQ_FORCE_MUTEXES
#cmakedefine HAVE_FORK
#cmakedefine HAVE_CLOCK_GETTIME
#cmakedefine HAVE_GETHRTIME
#cmakedefine HAVE_MKDTEMP
#cmakedefine ZMQ_HAVE_UIO
#cmakedefine ZMQ_HAVE_NOEXCEPT
#cmakedefine ZMQ_HAVE_EVENTFD
#cmakedefine ZMQ_HAVE_EVENTFD_CLOEXEC
#cmakedefine ZMQ_HAVE_IFADDRS
#cmakedefine ZMQ_HAVE_SO_BINDTODEVICE
#cmakedefine ZMQ_HAVE_SO_PEERCRED
#cmakedefine ZMQ_HAVE_LOCAL_PEERCRED
#cmakedefine ZMQ_HAVE_BUSY_POLL
#cmakedefine ZMQ_HAVE_O_CLOEXEC
#cmakedefine ZMQ_HAVE_SOCK_CLOEXEC
#cmakedefine ZMQ_HAVE_SO_KEEPALIVE
#cmakedefine ZMQ_HAVE_SO_PRIORITY
#cmakedefine ZMQ_HAVE_TCP_KEEPCNT
#cmakedefine ZMQ_HAVE_TCP_KEEPIDLE
#cmakedefine ZMQ_HAVE_TCP_KEEPINTVL
#cmakedefine ZMQ_HAVE_TCP_KEEPALIVE
#cmakedefine ZMQ_HAVE_PTHREAD_SETNAME_1
#cmakedefine ZMQ_HAVE_PTHREAD_SETNAME_2
#cmakedefine ZMQ_HAVE_PTHREAD_SETNAME_3
#cmakedefine ZMQ_HAVE_PTHREAD_SET_NAME
#cmakedefine ZMQ_HAVE_PTHREAD_SET_AFFINITY
#cmakedefine HAVE_ACCEPT4
#cmakedefine HAVE_STRNLEN
#cmakedefine ZMQ_HAVE_STRLCPY
#cmakedefine ZMQ_HAVE_LIBBSD
#cmakedefine ZMQ_HAVE_IPC
#cmakedefine ZMQ_HAVE_STRUCT_SOCKADDR_UN
#cmakedefine ZMQ_USE_BUILTIN_SHA1
#cmakedefine ZMQ_USE_NSS
#cmakedefine ZMQ_HAVE_WS
#cmakedefine ZMQ_HAVE_WSS
#cmakedefine ZMQ_HAVE_TIPC
#cmakedefine ZMQ_HAVE_OPENPGM
#cmakedefine ZMQ_HAVE_NORM
#cmakedefine ZMQ_MAKE_VALGRIND_HAPPY
#cmakedefine ZMQ_HAVE_CURVE
#cmakedefine ZMQ_USE_TWEETNACL
#cmakedefine ZMQ_USE_LIBSODIUM
#cmakedefine SODIUM_STATIC
#cmakedefine ZMQ_USE_GNUTLS
#cmakedefine ZMQ_USE_RADIX_TREE
#cmakedefine HAVE_IF_NAMETOINDEX
#ifdef _AIX
#define ZMQ_HAVE_AIX
#endif
#if defined __ANDROID__
#define ZMQ_HAVE_ANDROID
#endif
#if defined __CYGWIN__
#define ZMQ_HAVE_CYGWIN
#endif
#if defined __MINGW32__
#define ZMQ_HAVE_MINGW32
#endif
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#define ZMQ_HAVE_FREEBSD
#endif
#if defined(__DragonFly__)
#define ZMQ_HAVE_FREEBSD
#define ZMQ_HAVE_DRAGONFLY
#endif
#if defined __hpux
#define ZMQ_HAVE_HPUX
#endif
#if defined __linux__
#define ZMQ_HAVE_LINUX
#endif
#if defined __NetBSD__
#define ZMQ_HAVE_NETBSD
#endif
#if defined __OpenBSD__
#define ZMQ_HAVE_OPENBSD
#endif
// TODO better move OS-specific defines to the automake files, and check for availability of IPC with an explicit test there
#if defined __VMS
#define ZMQ_HAVE_OPENVMS
#undef ZMQ_HAVE_IPC
#endif
#if defined __APPLE__
#define ZMQ_HAVE_OSX
#endif
#if defined __QNXNTO__
#define ZMQ_HAVE_QNXNTO
#endif
#if defined(sun) || defined(__sun)
#define ZMQ_HAVE_SOLARIS
#endif
#cmakedefine ZMQ_HAVE_WINDOWS
#cmakedefine ZMQ_HAVE_WINDOWS_UWP
#endif

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -x
mkdir tmp
BUILD_PREFIX=$PWD/tmp
source ../../config.sh
set_config_opts
CONFIG_OPTS+=("--enable-code-coverage")
# Build, check, and install from local source
( cd ../..; ./autogen.sh && ./configure "${CONFIG_OPTS[@]}" && make VERBOSE=1 -j5 check-code-coverage CODE_COVERAGE_OUTPUT_FILE=lcov.info CODE_COVERAGE_OUTPUT_DIRECTORY=coverage) || exit 1

View File

@@ -0,0 +1,48 @@
CC=gcc
CFLAGS=-Wall -Os -g -DDLL_EXPORT -DFD_SETSIZE=16384 -DZMQ_USE_SELECT -I.
LIBS=-lws2_32
OBJS = ctx.o reaper.o dist.o err.o \
clock.o metadata.o random.o \
object.o own.o \
io_object.o io_thread.o \
lb.o fq.o \
address.o tcp_address.o ipc_address.o \
ipc_connecter.o ipc_listener.o \
tcp_connecter.o tcp_listener.o \
mailbox.o msg.o mtrie.o \
pipe.o precompiled.o proxy.o \
signaler.o stream_engine.o \
thread.o trie.o \
ip.o tcp.o \
pgm_socket.o pgm_receiver.o pgm_sender.o \
raw_decoder.o raw_encoder.o \
v1_decoder.o v1_encoder.o v2_decoder.o v2_encoder.o \
udp_address.o upd_engine.o radio.o dish.o \
socket_base.o session_base.o options.o \
req.o rep.o push.o pull.o pub.o sub.o pair.o \
dealer.o router.o xpub.o xsub.o stream.o \
poller_base.o select.o poll.o epoll.o kqueue.o devpoll.o \
curve_client.o curve_server.o \
mechanism.o null_mechanism.o plain_client.o plain_server.o \
zmq.o zmq_utils.o
%.o: ../../src/%.cpp
$(CC) -c -o $@ $< $(CFLAGS)
%.o: ../../perf/%.cpp
$(CC) -c -o $@ $< $(CFLAGS)
all: libzmq.dll
perf: inproc_lat.exe inproc_thr.exe local_lat.exe local_thr.exe remote_lat.exe remote_thr.exe
libzmq.dll: $(OBJS)
g++ -shared -o $@ $^ -Wl,--out-implib,-Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive $@.a -Wl,--no-whole-archive $(LIBS)
%.exe: %.o libzmq.dll
g++ -o $@ $^
clean:
del *.o *.a *.dll *.exe

View File

@@ -0,0 +1,256 @@
## Visual Studio 2015 experimental Visual C/C++ Intellisense database
*.VC.db
## From https://github.com/github/gitignore
##
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml

View File

@@ -0,0 +1,94 @@
LIBZMQ_DIST = vs2008/libzmq.sln \
vs2008/libzmq/libzmq.vcproj \
vs2010/libzmq.sln \
vs2010/libzmq/libzmq.vcxproj \
vs2010/libzmq/libzmq.vcxproj.filters \
vs2012/libzmq.sln \
vs2012/libzmq/libzmq.vcxproj \
vs2012/libzmq/libzmq.vcxproj.filters \
vs2013/libzmq.sln \
vs2013/libzmq/libzmq.vcxproj \
vs2013/libzmq/libzmq.vcxproj.filters \
vs2015/libzmq.sln \
vs2015/libzmq/libzmq.vcxproj \
vs2015/libzmq/libzmq.vcxproj.filters \
vs2015/libzmq/libzmq.props \
vs2015/libzmq/libzmq.xml \
vs2015/libzmq.import.props \
vs2015/libzmq.import.xml \
errno.cpp \
errno.hpp \
platform.hpp \
resource.h \
resource.rc
PERF_DIST = vs2008/local_lat/local_lat.vcproj \
vs2008/local_thr/local_thr.vcproj \
vs2008/remote_lat/remote_lat.vcproj \
vs2008/remote_thr/remote_thr.vcproj \
vs2008/inproc_lat/inproc_lat.vcproj \
vs2008/inproc_thr/inproc_thr.vcproj \
vs2010/local_lat/local_lat.vcxproj \
vs2010/local_thr/local_thr.vcxproj \
vs2010/remote_lat/remote_lat.vcxproj \
vs2010/remote_thr/remote_thr.vcxproj \
vs2010/inproc_lat/inproc_lat.vcxproj \
vs2010/inproc_thr/inproc_thr.vcxproj \
vs2012/local_lat/local_lat.vcxproj \
vs2012/local_thr/local_thr.vcxproj \
vs2012/remote_lat/remote_lat.vcxproj \
vs2012/remote_thr/remote_thr.vcxproj \
vs2012/inproc_lat/inproc_lat.vcxproj \
vs2012/inproc_thr/inproc_thr.vcxproj \
vs2013/local_lat/local_lat.vcxproj \
vs2013/local_thr/local_thr.vcxproj \
vs2013/remote_lat/remote_lat.vcxproj \
vs2013/remote_thr/remote_thr.vcxproj \
vs2013/inproc_lat/inproc_lat.vcxproj \
vs2013/inproc_thr/inproc_thr.vcxproj \
vs2015/local_lat/local_lat.vcxproj \
vs2015/local_lat/local_lat.props \
vs2015/local_thr/local_thr.vcxproj \
vs2015/local_thr/local_thr.props \
vs2015/remote_lat/remote_lat.vcxproj \
vs2015/remote_lat/remote_lat.props \
vs2015/remote_thr/remote_thr.vcxproj \
vs2015/remote_thr/remote_thr.props \
vs2015/inproc_lat/inproc_lat.vcxproj \
vs2015/inproc_lat/inproc_lat.props \
vs2015/inproc_thr/inproc_thr.vcxproj \
vs2015/inproc_thr/inproc_thr.props
PROPERTIES_DIST = properties/Common.props \
properties/Debug.props \
properties/DebugDEXE.props \
properties/DebugDLL.props \
properties/DebugLEXE.props \
properties/DebugLIB.props \
properties/DebugLTCG.props \
properties/DebugSEXE.props \
properties/DLL.props \
properties/EXE.props \
properties/LIB.props \
properties/Link.props \
properties/LTCG.props \
properties/Messages.props \
properties/Output.props \
properties/Release.props \
properties/ReleaseDEXE.props \
properties/ReleaseDLL.props \
properties/ReleaseLEXE.props \
properties/ReleaseLIB.props \
properties/ReleaseLTCG.props \
properties/ReleaseSEXE.props \
properties/Win32.props \
properties/x64.props
PRECOMPILED_DIST = ../../src/precompiled.hpp \
../../src/precompiled.cpp
BUILD_DIST = build/build.bat \
build/buildall.bat \
build/buildbase.bat
EXTRA_DIST = $(LIBZMQ_DIST) $(PERF_DIST) $(PROPERTIES_DIST) $(PRECOMPILED_DIST) $(BUILD_DIST)

View File

@@ -0,0 +1,33 @@
@ECHO OFF
:: Usage: build.bat [Clean]
@setlocal
:: validate environment
if "%VSINSTALLDIR%" == "" @echo Error: Attempt to build without proper DevStudio environment.&@goto :done
:: record starting time
set STARTTIME=%DATE% %TIME%
@echo Start Time: %STARTTIME%
:: validate optional argument (and make sure it is spelled "Clean")
set MAKECLEAN=%%1
if NOT "%%1" == "" if /I "%%1" == "clean" set MAKECLEAN=Clean
::
:: uses the environment from the DevStudio CMD window to figure out which version to build
::
set VSVER=%VSINSTALLDIR:~-5,2%
set DIRVER=%VSVER%
if %VSVER% gtr 10 set /a DIRVER = DIRVER + 1
CALL buildbase.bat ..\vs20%DIRVER%\libzmq.sln %VSVER% %MAKECLEAN%
set STOPTIME=%DATE% %TIME%
@echo Stop Time: %STOPTIME%
@echo Start Time: %STARTTIME%
:done
@endlocal

View File

@@ -0,0 +1,16 @@
@ECHO OFF
:: Usage: buildall.bat
:: Build all configurations for all solutions.
call buildbase.bat ..\vs2017\libzmq.sln 15
ECHO.
CALL buildbase.bat ..\vs2015\libzmq.sln 14
ECHO.
CALL buildbase.bat ..\vs2013\libzmq.sln 12
ECHO.
CALL buildbase.bat ..\vs2012\libzmq.sln 11
ECHO.
CALL buildbase.bat ..\vs2010\libzmq.sln 10
ECHO.
PAUSE

View File

@@ -0,0 +1,73 @@
@ECHO OFF
@setlocal
REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12 [Clean]]
SET solution=%1
SET version=%2
:: supports passing in Clean as third argument if "make clean" behavior is desired
SET target=%3
SET ACTION=Building
if NOT "%target%" == "" set target=/t:%target%&set ACTION=Cleaning
SET log=build_%version%.log
SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat
if "%version%" == "15" SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
SET environment="%programfiles(x86)%\%tools%"
IF NOT EXIST %environment% SET environment="%programfiles%\%tools%"
IF NOT EXIST %environment% GOTO no_tools
@ECHO %ACTION% %solution%
SET __CURRENT_DIR__=%CD%
CALL %environment% x86 >%SystemDrive%\nul 2>&1
ECHO Platform=x86 2> %log%
CD /D %__CURRENT_DIR__%
SET __CURRENT_DIR__=
ECHO Configuration=DynDebug
msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=Win32 %solution% %target%>> %log% || GOTO error
ECHO Configuration=DynRelease
msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=Win32 %solution% %target%>> %log% || GOTO error
ECHO Configuration=LtcgDebug
msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=Win32 %solution% %target%>> %log% || GOTO error
ECHO Configuration=LtcgRelease
msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=Win32 %solution% %target%>> %log% || GOTO error
ECHO Configuration=StaticDebug
msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% %target%>> %log% || GOTO error
ECHO Configuration=StaticRelease
msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% %target%>> %log% || GOTO error
SET __CURRENT_DIR__=%CD%
CALL %environment% x86_amd64 >%SystemDrive%\nul 2>&1
ECHO Platform=x64
CD /D %__CURRENT_DIR__%
SET __CURRENT_DIR__=
ECHO Configuration=DynDebug
msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=x64 %solution% %target%>> %log% || GOTO error
ECHO Configuration=DynRelease
msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=x64 %solution% %target%>> %log% || GOTO error
ECHO Configuration=LtcgDebug
msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=x64 %solution% %target%>> %log% || GOTO error
ECHO Configuration=LtcgRelease
msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=x64 %solution% %target%>> %log% || GOTO error
ECHO Configuration=StaticDebug
msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% %target%>> %log% || GOTO error
ECHO Configuration=StaticRelease
msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% %target%>> %log% || GOTO error
ECHO %ACTION% complete: %solution%
GOTO end
:error
ECHO *** ERROR, build terminated early, see: %log%
GOTO end
:no_tools
ECHO *** ERROR, build tools not found: %tools%
:end
@endlocal

View File

@@ -0,0 +1,32 @@
#if defined _WIN32_WCE
//#include "..\..\include\zmq.h"
#include "..\..\src\err.hpp"
int errno;
int _doserrno;
int _sys_nerr;
char* error_desc_buff = NULL;
char* strerror(int errno)
{
if (NULL != error_desc_buff)
{
LocalFree(error_desc_buff);
error_desc_buff = NULL;
}
FormatMessage(
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_ALLOCATE_BUFFER,
NULL,
errno,
0,
(LPTSTR)&error_desc_buff,
1024,
NULL
);
return error_desc_buff;
}
#endif

View File

@@ -0,0 +1,56 @@
#ifndef ERRNO_H
#define ERRNO_H 1
//#define EPERM 1
//#define ENOENT 2
//#define ESRCH 3
#define EINTR 4
//#define EIO 5
//#define ENXIO 6
//#define E2BIG 7
//#define ENOEXEC 8
#define EBADF 9
//#define ECHILD 10
#define EAGAIN 11
//#define ENOMEM 12
#define EACCES 13
#define EFAULT 14
//#define EOSERR 15 // rk
//#define EBUSY 16
//#define EEXIST 17
//#define EXDEV 18
//#define ENODEV 19
//#define ENOTDIR 20
//#define EISDIR 21
#define EINVAL 22
//#define ENFILE 23
#define EMFILE 24
//#define ENOTTY 25
//#define EFBIG 27
//#define ENOSPC 28
//#define ESPIPE 29
//#define EROFS 30
//#define EMLINK 31
//#define EPIPE 32
//#define EDOM 33
//#define ERANGE 34
//#define EDEADLK 36
//#define ENOSYS 37
#ifdef __cplusplus
extern "C" {
#endif
extern int errno;
extern int _doserrno;
extern int _sys_nerr;
char* strerror(int errno);
#define sys_nerr _sys_nerr
#ifdef __cplusplus
};
#endif
#endif

View File

@@ -0,0 +1,14 @@
#ifndef __PLATFORM_HPP_INCLUDED__
#define __PLATFORM_HPP_INCLUDED__
#define ZMQ_HAVE_WINDOWS
// MSVC build configuration is controlled via options exposed in the Visual
// Studio user interface. The option to use libsodium is not exposed in the
// user interface unless a sibling `libsodium` directory to that of this
// repository exists and contains the following files:
//
// \builds\msvc\vs2015\libsodium.import.props
// \builds\msvc\vs2015\libsodium.import.xml
#endif

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Common Settings</_PropertySheetDisplayName>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(Platform).props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Dynamic Library</_PropertySheetDisplayName>
<DefaultLinkage>dynamic</DefaultLinkage>
<TargetExt>.dll</TargetExt>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_DLL;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Common.props" />
</ImportGroup>
<PropertyGroup>
<_PropertySheetDisplayName>Debug Settings</_PropertySheetDisplayName>
<DebugOrRelease>Debug</DebugOrRelease>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Console Debug Dynamic</_PropertySheetDisplayName>
<DefaultLinkage>dynamic</DefaultLinkage>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Debug.props" />
<Import Project="EXE.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<LinkIncremental>true</LinkIncremental>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Dynamic Debug Library</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Debug.props" />
<Import Project="DLL.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<LinkIncremental>true</LinkIncremental>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Console Debug Link Time Code Generation</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Debug.props" />
<Import Project="Link.props" />
<Import Project="EXE.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Static Debug Library</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Debug.props" />
<Import Project="LIB.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<DebugInformationFormat>OldStyle</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LinkIncremental>true</LinkIncremental>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Static Debug Link Time Code Generation Library</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Debug.props" />
<Import Project="LTCG.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<DebugInformationFormat>OldStyle</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Console Debug Static</_PropertySheetDisplayName>
<DefaultLinkage>static</DefaultLinkage>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Debug.props" />
<Import Project="EXE.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<LinkIncremental>true</LinkIncremental>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Console Application</_PropertySheetDisplayName>
<IsExe>true</IsExe>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Static Library</_PropertySheetDisplayName>
<DefaultLinkage>static</DefaultLinkage>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Link Time Code Generation Library</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="LIB.props" />
<Import Project="Link.props" />
</ImportGroup>
</Project>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Link Time Code Generation Settings</_PropertySheetDisplayName>
<DefaultLinkage>ltcg</DefaultLinkage>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<WholeProgramOptimization>true</WholeProgramOptimization>
</ClCompile>
<Link>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Build Messages</_PropertySheetDisplayName>
</PropertyGroup>
<Target Name="ConfigInfo" BeforeTargets="PrepareForBuild">
<Message Text="ConfigurationType : $(ConfigurationType)" Importance="high"/>
<Message Text="Configuration : $(Configuration)" Importance="high"/>
<Message Text="PlatformToolset : $(PlatformToolset)" Importance="high"/>
<Message Text="TargetPath : $(TargetPath)" Importance="high"/>
</Target>
</Project>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Output Settings</_PropertySheetDisplayName>
<!-- BuildRoot, RepoRoot, SourceRoot, DebugOrRelease and DefaultLinkage are custom props and should therefore not be referenced from *.import.props or nuget target files. -->
<BuildRoot>$(ProjectDir)..\..\</BuildRoot>
<RepoRoot>$(ProjectDir)..\..\..\..\</RepoRoot>
<SourceRoot>$(ProjectDir)..\..\..\..\..\</SourceRoot>
<OutDir>$(ProjectDir)..\..\..\..\bin\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\</OutDir>
<IntDir>$(ProjectDir)..\..\..\..\obj\$(TargetName)\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\</IntDir>
<TargetDir>$(OutDir)</TargetDir>
<TargetName>$(TargetName)</TargetName>
<TargetPath>$(TargetDir)$(TargetName)$(TargetExt)</TargetPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link>
<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
</Link>
<BuildLog>
<Path>$(OutDir)$(TargetName).log</Path>
</BuildLog>
</ItemDefinitionGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Messages.props" />
</ImportGroup>
</Project>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="Common.props" />
</ImportGroup>
<PropertyGroup>
<_PropertySheetDisplayName>Release Settings</_PropertySheetDisplayName>
<DebugOrRelease>Release</DebugOrRelease>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalOptions>/Oy- %(AdditionalOptions)</AdditionalOptions>
<!--<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>-->
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<MinimalRebuild>false</MinimalRebuild>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<!--<GenerateDebugInformation>true</GenerateDebugInformation>-->
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Processor)' == 'x86'">
<ClCompile>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Console Release Dynamic</_PropertySheetDisplayName>
<DefaultLinkage>dynamic</DefaultLinkage>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Release.props" />
<Import Project="EXE.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Dynamic Release Library</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Release.props" />
<Import Project="DLL.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Console Release Link Time Code Generation</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Release.props" />
<Import Project="Link.props" />
<Import Project="EXE.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Static Release Library</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Release.props" />
<Import Project="LIB.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Static Release Link Time Code Generation Library</_PropertySheetDisplayName>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Release.props" />
<Import Project="LTCG.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Console Release Static</_PropertySheetDisplayName>
<DefaultLinkage>static</DefaultLinkage>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Release.props" />
<Import Project="EXE.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>x86 Settings</_PropertySheetDisplayName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>WIN32;_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<Lib>
<AdditionalOptions>/MACHINE:X86 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>x64 Settings</_PropertySheetDisplayName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<!-- Note that Win64 defines may cause WIN32 to become defined when using windows headers,
but _WIN32 implies Windows 32 bit or above. If the standard headers are not included
these are sometimes required even for 64 bit builds and should never cause harm there.-->
<PreprocessorDefinitions>WIN32;_WIN32;WIN64;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<Lib>
<AdditionalOptions>/MACHINE:X64 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,27 @@
For building on Windows, use:
cd build
./build.bat
This requires that the CMD.EXE be created using the DevStudio Tools link to create a CMD.EXE window. Also, make sure that the name of the project folder is libzmq (not e.g. libzmq-master) as this is required for correct linking.
Visual Studio product and C++ compiler Versions:
Visual C++ 2008 => Visual C++ 9
Visual C++ 2010 => Visual C++ 10
Visual C++ 2012 => Visual C++ 11
Visual C++ 2013 => Visual C++ 12
Visual C++ 2015 => Visual C++ 14
Visual C++ 2017 => Visual C++ 15
Note that solution file icons reflect the compiler version ([9], [10], [11], [12], [14], [15]), not the product version.
The vs2017/vs2015/vs2013/vs2012/vs2010 solution and project files differ only in versioning.
More info here:
http://en.wikipedia.org/wiki/Visual_C%2B%2B
If multiple DevStudio versions are installed, you can run build.bat in separate windows each created by the desired DevStudio target.
To build for all versions of Visual Studio (excluding vs2008), you can run buildall.bat. This is generally a maintainer task.

View File

@@ -0,0 +1,14 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by resource.rc
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

Binary file not shown.

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++" Version="9,00" Name="inproc_lat" ProjectGUID="{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}" RootNamespace="inproc_lat" TargetFrameworkVersion="196613">
<Platforms>
<Platform Name="Win32" />
</Platforms>
<ToolFiles />
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="0" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" WarningLevel="3" DebugInformationFormat="4" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/inproc_lat.exe" GenerateDebugInformation="true" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="2" EnableIntrinsicFunctions="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/inproc_lat.exe" GenerateDebugInformation="true" OptimizeReferences="2" EnableCOMDATFolding="2" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
</Configurations>
<References />
<Files>
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File RelativePath="..\..\..\..\perf\inproc_lat.cpp" />
</Filter>
</Files>
<Globals />
</VisualStudioProject>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++" Version="9,00" Name="inproc_thr" ProjectGUID="{1077E977-95DD-4E73-A692-74647DD0CC1E}" RootNamespace="inproc_thr" TargetFrameworkVersion="196613">
<Platforms>
<Platform Name="Win32" />
</Platforms>
<ToolFiles />
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="0" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" WarningLevel="3" DebugInformationFormat="4" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/inproc_thr.exe" GenerateDebugInformation="true" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="2" EnableIntrinsicFunctions="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/inproc_thr.exe" GenerateDebugInformation="true" OptimizeReferences="2" EnableCOMDATFolding="2" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
</Configurations>
<References />
<Files>
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File RelativePath="..\..\..\..\perf\inproc_thr.cpp" />
</Filter>
</Files>
<Globals />
</VisualStudioProject>

View File

@@ -0,0 +1,95 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzmq", "libzmq\libzmq.vcproj", "{641C5F36-32EE-4323-B740-992B651CF9D6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "local_lat", "local_lat\local_lat.vcproj", "{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}"
ProjectSection(ProjectDependencies) = postProject
{641C5F36-32EE-4323-B740-992B651CF9D6} = {641C5F36-32EE-4323-B740-992B651CF9D6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remote_lat", "remote_lat\remote_lat.vcproj", "{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}"
ProjectSection(ProjectDependencies) = postProject
{641C5F36-32EE-4323-B740-992B651CF9D6} = {641C5F36-32EE-4323-B740-992B651CF9D6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "local_thr", "local_thr\local_thr.vcproj", "{8EF2DF6B-6646-460F-8032-913B70FE0E94}"
ProjectSection(ProjectDependencies) = postProject
{641C5F36-32EE-4323-B740-992B651CF9D6} = {641C5F36-32EE-4323-B740-992B651CF9D6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remote_thr", "remote_thr\remote_thr.vcproj", "{B15E059C-0CBB-4A82-8C42-6567FB650802}"
ProjectSection(ProjectDependencies) = postProject
{641C5F36-32EE-4323-B740-992B651CF9D6} = {641C5F36-32EE-4323-B740-992B651CF9D6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inproc_lat", "inproc_lat\inproc_lat.vcproj", "{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}"
ProjectSection(ProjectDependencies) = postProject
{641C5F36-32EE-4323-B740-992B651CF9D6} = {641C5F36-32EE-4323-B740-992B651CF9D6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inproc_thr", "inproc_thr\inproc_thr.vcproj", "{1077E977-95DD-4E73-A692-74647DD0CC1E}"
ProjectSection(ProjectDependencies) = postProject
{641C5F36-32EE-4323-B740-992B651CF9D6} = {641C5F36-32EE-4323-B740-992B651CF9D6}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
StaticDebug|Win32 = StaticDebug|Win32
StaticRelease|Win32 = StaticRelease|Win32
WithOpenPGM|Win32 = WithOpenPGM|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{641C5F36-32EE-4323-B740-992B651CF9D6}.Debug|Win32.ActiveCfg = Debug|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.Debug|Win32.Build.0 = Debug|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.Release|Win32.ActiveCfg = Release|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.Release|Win32.Build.0 = Release|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|Win32.ActiveCfg = StaticDebug|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|Win32.Build.0 = StaticDebug|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|Win32.ActiveCfg = StaticRelease|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|Win32.Build.0 = StaticRelease|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.WithOpenPGM|Win32.ActiveCfg = WithOpenPGM|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.WithOpenPGM|Win32.Build.0 = WithOpenPGM|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.Debug|Win32.ActiveCfg = Debug|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.Debug|Win32.Build.0 = Debug|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.Release|Win32.ActiveCfg = Release|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.Release|Win32.Build.0 = Release|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.WithOpenPGM|Win32.ActiveCfg = Release|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.WithOpenPGM|Win32.Build.0 = Release|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.Debug|Win32.ActiveCfg = Debug|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.Debug|Win32.Build.0 = Debug|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.Release|Win32.ActiveCfg = Release|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.Release|Win32.Build.0 = Release|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.WithOpenPGM|Win32.ActiveCfg = Release|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.WithOpenPGM|Win32.Build.0 = Release|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.Debug|Win32.ActiveCfg = Debug|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.Debug|Win32.Build.0 = Debug|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.Release|Win32.ActiveCfg = Release|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.Release|Win32.Build.0 = Release|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.WithOpenPGM|Win32.ActiveCfg = Release|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.WithOpenPGM|Win32.Build.0 = Release|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.Debug|Win32.ActiveCfg = Debug|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.Debug|Win32.Build.0 = Debug|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.Release|Win32.ActiveCfg = Release|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.Release|Win32.Build.0 = Release|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.WithOpenPGM|Win32.ActiveCfg = Release|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.WithOpenPGM|Win32.Build.0 = Release|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.Debug|Win32.ActiveCfg = Debug|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.Debug|Win32.Build.0 = Debug|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.Release|Win32.ActiveCfg = Release|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.Release|Win32.Build.0 = Release|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.WithOpenPGM|Win32.ActiveCfg = Release|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.WithOpenPGM|Win32.Build.0 = Release|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.Debug|Win32.ActiveCfg = Debug|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.Debug|Win32.Build.0 = Debug|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.Release|Win32.ActiveCfg = Release|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.Release|Win32.Build.0 = Release|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.WithOpenPGM|Win32.ActiveCfg = Release|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.WithOpenPGM|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,338 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++" Version="9,00" Name="libzmq" ProjectGUID="{641C5F36-32EE-4323-B740-992B651CF9D6}" RootNamespace="libzmq" TargetFrameworkVersion="196613">
<Platforms>
<Platform Name="Win32" />
</Platforms>
<ToolFiles />
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" CharacterSet="2">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCWebServiceProxyGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" AdditionalOptions="-DDLL_EXPORT -DFD_SETSIZE=16384 -DZMQ_USE_SELECT -D_CRT_SECURE_NO_WARNINGS" Optimization="0" PreprocessorDefinitions="NOMINMAX" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" WarningLevel="3" DebugInformationFormat="4" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" AdditionalDependencies="Ws2_32.lib Rpcrt4.lib Advapi32.lib Iphlpapi.lib" OutputFile="../../../../lib/libzmq.dll" LinkDLL="true" GenerateDebugInformation="true" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCWebServiceProxyGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" AdditionalOptions="-DDLL_EXPORT -DFD_SETSIZE=16384 -DZMQ_USE_SELECT -D_CRT_SECURE_NO_WARNINGS" Optimization="2" EnableIntrinsicFunctions="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" AdditionalDependencies="Ws2_32.lib Rpcrt4.lib Advapi32.lib Iphlpapi.lib" OutputFile="../../../../lib/libzmq.dll" LinkDLL="true" GenerateDebugInformation="true" OptimizeReferences="2" EnableCOMDATFolding="2" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="StaticDebug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="4" CharacterSet="2">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCWebServiceProxyGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" AdditionalOptions="-DZMQ_STATIC -DFD_SETSIZE=16384 -DZMQ_USE_SELECT -D_CRT_SECURE_NO_WARNINGS" Optimization="0" PreprocessorDefinitions="NOMINMAX" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" WarningLevel="3" DebugInformationFormat="4" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLibrarianTool" AdditionalOptions="/ignore:4006" AdditionalDependencies="Ws2_32.lib Rpcrt4.lib Advapi32.lib Iphlpapi.lib" OutputFile="../../../../lib/libzmq_d.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="StaticRelease|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="4" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCWebServiceProxyGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" AdditionalOptions="-DZMQ_STATIC -DFD_SETSIZE=16384 -DZMQ_USE_SELECT -D_CRT_SECURE_NO_WARNINGS" Optimization="2" EnableIntrinsicFunctions="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLibrarianTool" AdditionalOptions="/ignore:4006" AdditionalDependencies="Ws2_32.lib Rpcrt4.lib Advapi32.lib Iphlpapi.lib" OutputFile="../../../../lib/libzmq.lib" />
<Tool Name="VCALinkTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="WithOpenPGM|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCWebServiceProxyGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" AdditionalOptions="-DDLL_EXPORT -DFD_SETSIZE=16384 -DZMQ_USE_SELECT -D_CRT_SECURE_NO_WARNINGS" Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="../../../../OpenPGM/include" PreprocessorDefinitions="ZMQ_HAVE_OPENPGM" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" AdditionalDependencies="Ws2_32.lib Rpcrt4.lib Advapi32.lib Iphlpapi.lib libpgm.lib" OutputFile="../../../../lib/libzmq.dll" AdditionalLibraryDirectories="../../../../../OpenPGM/lib" LinkDLL="true" GenerateDebugInformation="true" OptimizeReferences="2" EnableCOMDATFolding="2" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
</Configurations>
<References />
<Files>
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File RelativePath="..\..\errno.cpp" />
<File RelativePath="..\..\..\..\src\address.cpp" />
<File RelativePath="..\..\..\..\src\client.cpp" />
<File RelativePath="..\..\..\..\src\clock.cpp" />
<File RelativePath="..\..\..\..\src\ctx.cpp" />
<File RelativePath="..\..\..\..\src\curve_client.cpp" />
<File RelativePath="..\..\..\..\src\curve_mechanism_base.cpp" />
<File RelativePath="..\..\..\..\src\curve_server.cpp" />
<File RelativePath="..\..\..\..\src\dealer.cpp" />
<File RelativePath="..\..\..\..\src\decoder_allocators.cpp" />
<File RelativePath="..\..\..\..\src\devpoll.cpp" />
<File RelativePath="..\..\..\..\src\dgram.cpp" />
<File RelativePath="..\..\..\..\src\dish.cpp" />
<File RelativePath="..\..\..\..\src\dist.cpp" />
<File RelativePath="..\..\..\..\src\epoll.cpp" />
<File RelativePath="..\..\..\..\src\err.cpp" />
<File RelativePath="..\..\..\..\src\fq.cpp" />
<File RelativePath="..\..\..\..\src\gather.cpp" />
<File RelativePath="..\..\..\..\src\gssapi_client.cpp" />
<File RelativePath="..\..\..\..\src\gssapi_mechanism_base.cpp" />
<File RelativePath="..\..\..\..\src\gssapi_server.cpp" />
<File RelativePath="..\..\..\..\src\io_object.cpp" />
<File RelativePath="..\..\..\..\src\io_thread.cpp" />
<File RelativePath="..\..\..\..\src\ipc_address.cpp" />
<File RelativePath="..\..\..\..\src\ipc_connecter.cpp" />
<File RelativePath="..\..\..\..\src\ipc_listener.cpp" />
<File RelativePath="..\..\..\..\src\ip.cpp" />
<File RelativePath="..\..\..\..\src\kqueue.cpp" />
<File RelativePath="..\..\..\..\src\lb.cpp" />
<File RelativePath="..\..\..\..\src\mailbox.cpp" />
<File RelativePath="..\..\..\..\src\mailbox_safe.cpp" />
<File RelativePath="..\..\..\..\src\mechanism_base.cpp" />
<File RelativePath="..\..\..\..\src\mechanism.cpp" />
<File RelativePath="..\..\..\..\src\metadata.cpp" />
<File RelativePath="..\..\..\..\src\msg.cpp" />
<File RelativePath="..\..\..\..\src\mtrie.cpp" />
<File RelativePath="..\..\..\..\src\norm_engine.cpp" />
<File RelativePath="..\..\..\..\src\null_mechanism.cpp" />
<File RelativePath="..\..\..\..\src\object.cpp" />
<File RelativePath="..\..\..\..\src\options.cpp" />
<File RelativePath="..\..\..\..\src\own.cpp" />
<File RelativePath="..\..\..\..\src\pair.cpp" />
<File RelativePath="..\..\..\..\src\pgm_receiver.cpp" />
<File RelativePath="..\..\..\..\src\pgm_sender.cpp" />
<File RelativePath="..\..\..\..\src\pgm_socket.cpp" />
<File RelativePath="..\..\..\..\src\pipe.cpp" />
<File RelativePath="..\..\..\..\src\plain_client.cpp" />
<File RelativePath="..\..\..\..\src\plain_server.cpp" />
<File RelativePath="..\..\..\..\src\poll.cpp" />
<File RelativePath="..\..\..\..\src\poller_base.cpp" />
<File RelativePath="..\..\..\..\src\pollset.cpp" />
<File RelativePath="..\..\..\..\src\precompiled.cpp" />
<File RelativePath="..\..\..\..\src\proxy.cpp" />
<File RelativePath="..\..\..\..\src\pub.cpp" />
<File RelativePath="..\..\..\..\src\pull.cpp" />
<File RelativePath="..\..\..\..\src\push.cpp" />
<File RelativePath="..\..\..\..\src\radio.cpp" />
<File RelativePath="..\..\..\..\src\random.cpp" />
<File RelativePath="..\..\..\..\src\raw_decoder.cpp" />
<File RelativePath="..\..\..\..\src\raw_encoder.cpp" />
<File RelativePath="..\..\..\..\src\reaper.cpp" />
<File RelativePath="..\..\..\..\src\rep.cpp" />
<File RelativePath="..\..\..\..\src\req.cpp" />
<File RelativePath="..\..\..\..\src\router.cpp" />
<File RelativePath="..\..\..\..\src\scatter.cpp" />
<File RelativePath="..\..\..\..\src\select.cpp" />
<File RelativePath="..\..\..\..\src\server.cpp" />
<File RelativePath="..\..\..\..\src\session_base.cpp" />
<File RelativePath="..\..\..\..\src\signaler.cpp" />
<File RelativePath="..\..\..\..\src\socket_base.cpp" />
<File RelativePath="..\..\..\..\src\socket_poller.cpp" />
<File RelativePath="..\..\..\..\src\socks_connecter.cpp" />
<File RelativePath="..\..\..\..\src\socks.cpp" />
<File RelativePath="..\..\..\..\src\stream.cpp" />
<File RelativePath="..\..\..\..\src\stream_engine.cpp" />
<File RelativePath="..\..\..\..\src\sub.cpp" />
<File RelativePath="..\..\..\..\src\tcp_address.cpp" />
<File RelativePath="..\..\..\..\src\tcp_connecter.cpp" />
<File RelativePath="..\..\..\..\src\tcp.cpp" />
<File RelativePath="..\..\..\..\src\tcp_listener.cpp" />
<File RelativePath="..\..\..\..\src\thread.cpp" />
<File RelativePath="..\..\..\..\src\timers.cpp" />
<File RelativePath="..\..\..\..\src\tipc_address.cpp" />
<File RelativePath="..\..\..\..\src\tipc_connecter.cpp" />
<File RelativePath="..\..\..\..\src\tipc_listener.cpp" />
<File RelativePath="..\..\..\..\src\trie.cpp" />
<File RelativePath="..\..\..\..\src\udp_address.cpp" />
<File RelativePath="..\..\..\..\src\udp_engine.cpp" />
<File RelativePath="..\..\..\..\src\v1_decoder.cpp" />
<File RelativePath="..\..\..\..\src\v1_encoder.cpp" />
<File RelativePath="..\..\..\..\src\v2_decoder.cpp" />
<File RelativePath="..\..\..\..\src\v2_encoder.cpp" />
<File RelativePath="..\..\..\..\src\vmci_address.cpp" />
<File RelativePath="..\..\..\..\src\vmci_connecter.cpp" />
<File RelativePath="..\..\..\..\src\vmci.cpp" />
<File RelativePath="..\..\..\..\src\vmci_listener.cpp" />
<File RelativePath="..\..\..\..\src\xpub.cpp" />
<File RelativePath="..\..\..\..\src\xsub.cpp" />
<File RelativePath="..\..\..\..\src\zap_client.cpp" />
<File RelativePath="..\..\..\..\src\zmq.cpp" />
<File RelativePath="..\..\..\..\src\zmq_utils.cpp" />
</Filter>
<Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File RelativePath="..\..\errno.hpp" />
<File RelativePath="..\..\..\..\src\address.hpp" />
<File RelativePath="..\..\..\..\src\array.hpp" />
<File RelativePath="..\..\..\..\src\atomic_counter.hpp" />
<File RelativePath="..\..\..\..\src\atomic_ptr.hpp" />
<File RelativePath="..\..\..\..\src\blob.hpp" />
<File RelativePath="..\..\..\..\src\client.hpp" />
<File RelativePath="..\..\..\..\src\clock.hpp" />
<File RelativePath="..\..\..\..\src\command.hpp" />
<File RelativePath="..\..\..\..\src\condition_variable.hpp" />
<File RelativePath="..\..\..\..\src\config.hpp" />
<File RelativePath="..\..\..\..\src\ctx.hpp" />
<File RelativePath="..\..\..\..\src\curve_client.hpp" />
<File RelativePath="..\..\..\..\src\curve_client_tools.hpp" />
<File RelativePath="..\..\..\..\src\curve_mechanism_base.hpp" />
<File RelativePath="..\..\..\..\src\curve_server.hpp" />
<File RelativePath="..\..\..\..\src\dbuffer.hpp" />
<File RelativePath="..\..\..\..\src\dealer.hpp" />
<File RelativePath="..\..\..\..\src\decoder_allocators.hpp" />
<File RelativePath="..\..\..\..\src\decoder.hpp" />
<File RelativePath="..\..\..\..\src\devpoll.hpp" />
<File RelativePath="..\..\..\..\src\dgram.hpp" />
<File RelativePath="..\..\..\..\src\dish.hpp" />
<File RelativePath="..\..\..\..\src\dist.hpp" />
<File RelativePath="..\..\..\..\src\encoder.hpp" />
<File RelativePath="..\..\..\..\src\epoll.hpp" />
<File RelativePath="..\..\..\..\src\err.hpp" />
<File RelativePath="..\..\..\..\src\fd.hpp" />
<File RelativePath="..\..\..\..\src\fq.hpp" />
<File RelativePath="..\..\..\..\src\gather.hpp" />
<File RelativePath="..\..\..\..\src\gssapi_client.hpp" />
<File RelativePath="..\..\..\..\src\gssapi_mechanism_base.hpp" />
<File RelativePath="..\..\..\..\src\gssapi_server.hpp" />
<File RelativePath="..\..\..\..\src\i_decoder.hpp" />
<File RelativePath="..\..\..\..\src\i_encoder.hpp" />
<File RelativePath="..\..\..\..\src\i_engine.hpp" />
<File RelativePath="..\..\..\..\src\i_mailbox.hpp" />
<File RelativePath="..\..\..\..\src\io_object.hpp" />
<File RelativePath="..\..\..\..\src\io_thread.hpp" />
<File RelativePath="..\..\..\..\src\ipc_address.hpp" />
<File RelativePath="..\..\..\..\src\ipc_connecter.hpp" />
<File RelativePath="..\..\..\..\src\ipc_listener.hpp" />
<File RelativePath="..\..\..\..\src\ip.hpp" />
<File RelativePath="..\..\..\..\src\i_poll_events.hpp" />
<File RelativePath="..\..\..\..\src\kqueue.hpp" />
<File RelativePath="..\..\..\..\src\lb.hpp" />
<File RelativePath="..\..\..\..\src\likely.hpp" />
<File RelativePath="..\..\..\..\src\macros.hpp" />
<File RelativePath="..\..\..\..\src\mailbox.hpp" />
<File RelativePath="..\..\..\..\src\mailbox_safe.hpp" />
<File RelativePath="..\..\..\..\src\mechanism_base.hpp" />
<File RelativePath="..\..\..\..\src\mechanism.hpp" />
<File RelativePath="..\..\..\..\src\metadata.hpp" />
<File RelativePath="..\..\..\..\src\msg.hpp" />
<File RelativePath="..\..\..\..\src\mtrie.hpp" />
<File RelativePath="..\..\..\..\src\mutex.hpp" />
<File RelativePath="..\..\..\..\src\norm_engine.hpp" />
<File RelativePath="..\..\..\..\src\null_mechanism.hpp" />
<File RelativePath="..\..\..\..\src\object.hpp" />
<File RelativePath="..\..\..\..\src\options.hpp" />
<File RelativePath="..\..\..\..\src\own.hpp" />
<File RelativePath="..\..\..\..\src\pair.hpp" />
<File RelativePath="..\..\..\..\src\pgm_receiver.hpp" />
<File RelativePath="..\..\..\..\src\pgm_sender.hpp" />
<File RelativePath="..\..\..\..\src\pgm_socket.hpp" />
<File RelativePath="..\..\..\..\src\pipe.hpp" />
<File RelativePath="..\..\..\..\src\plain_client.hpp" />
<File RelativePath="..\..\..\..\src\plain_server.hpp" />
<File RelativePath="..\..\..\..\src\platform.hpp" />
<File RelativePath="..\..\..\..\src\poller_base.hpp" />
<File RelativePath="..\..\..\..\src\poller.hpp" />
<File RelativePath="..\..\..\..\src\poll.hpp" />
<File RelativePath="..\..\..\..\src\pollset.hpp" />
<File RelativePath="..\..\..\..\src\precompiled.hpp" />
<File RelativePath="..\..\..\..\src\proxy.hpp" />
<File RelativePath="..\..\..\..\src\pub.hpp" />
<File RelativePath="..\..\..\..\src\pull.hpp" />
<File RelativePath="..\..\..\..\src\push.hpp" />
<File RelativePath="..\..\..\..\src\radio.hpp" />
<File RelativePath="..\..\..\..\src\random.hpp" />
<File RelativePath="..\..\..\..\src\raw_decoder.hpp" />
<File RelativePath="..\..\..\..\src\raw_encoder.hpp" />
<File RelativePath="..\..\..\..\src\reaper.hpp" />
<File RelativePath="..\..\..\..\src\rep.hpp" />
<File RelativePath="..\..\..\..\src\req.hpp" />
<File RelativePath="..\..\..\..\src\router.hpp" />
<File RelativePath="..\..\..\..\src\scatter.hpp" />
<File RelativePath="..\..\..\..\src\select.hpp" />
<File RelativePath="..\..\..\..\src\server.hpp" />
<File RelativePath="..\..\..\..\src\session_base.hpp" />
<File RelativePath="..\..\..\..\src\signaler.hpp" />
<File RelativePath="..\..\..\..\src\socket_base.hpp" />
<File RelativePath="..\..\..\..\src\socket_poller.hpp" />
<File RelativePath="..\..\..\..\src\socks_connecter.hpp" />
<File RelativePath="..\..\..\..\src\socks.hpp" />
<File RelativePath="..\..\..\..\src\stdint.hpp" />
<File RelativePath="..\..\..\..\src\stream_engine.hpp" />
<File RelativePath="..\..\..\..\src\stream.hpp" />
<File RelativePath="..\..\..\..\src\sub.hpp" />
<File RelativePath="..\..\..\..\src\tcp_address.hpp" />
<File RelativePath="..\..\..\..\src\tcp_connecter.hpp" />
<File RelativePath="..\..\..\..\src\tcp.hpp" />
<File RelativePath="..\..\..\..\src\tcp_listener.hpp" />
<File RelativePath="..\..\..\..\src\thread.hpp" />
<File RelativePath="..\..\..\..\src\timers.hpp" />
<File RelativePath="..\..\..\..\src\tipc_address.hpp" />
<File RelativePath="..\..\..\..\src\tipc_connecter.hpp" />
<File RelativePath="..\..\..\..\src\tipc_listener.hpp" />
<File RelativePath="..\..\..\..\src\trie.hpp" />
<File RelativePath="..\..\..\..\src\udp_address.hpp" />
<File RelativePath="..\..\..\..\src\udp_engine.hpp" />
<File RelativePath="..\..\..\..\src\v1_decoder.hpp" />
<File RelativePath="..\..\..\..\src\v1_encoder.hpp" />
<File RelativePath="..\..\..\..\src\v2_decoder.hpp" />
<File RelativePath="..\..\..\..\src\v2_encoder.hpp" />
<File RelativePath="..\..\..\..\src\v2_protocol.hpp" />
<File RelativePath="..\..\..\..\src\vmci_address.hpp" />
<File RelativePath="..\..\..\..\src\vmci_connecter.hpp" />
<File RelativePath="..\..\..\..\src\vmci.hpp" />
<File RelativePath="..\..\..\..\src\vmci_listener.hpp" />
<File RelativePath="..\..\..\..\src\windows.hpp" />
<File RelativePath="..\..\..\..\src\wire.hpp" />
<File RelativePath="..\..\..\..\src\xpub.hpp" />
<File RelativePath="..\..\..\..\src\xsub.hpp" />
<File RelativePath="..\..\..\..\src\ypipe_base.hpp" />
<File RelativePath="..\..\..\..\src\ypipe_conflate.hpp" />
<File RelativePath="..\..\..\..\src\ypipe.hpp" />
<File RelativePath="..\..\..\..\src\yqueue.hpp" />
<File RelativePath="..\..\..\..\src\zap_client.hpp" />
</Filter>
</Files>
<Globals />
</VisualStudioProject>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="local_lat" ProjectGUID="{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}" RootNamespace="local_lat" TargetFrameworkVersion="196613">
<Platforms>
<Platform Name="Win32" />
</Platforms>
<ToolFiles />
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2">
<Tool Name="VCPreBuildEventTool" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="../../../../bindings/c" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" WarningLevel="3" DebugInformationFormat="4" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/local_lat.exe" GenerateDebugInformation="true" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="../../../../bindings/c" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/local_lat.exe" GenerateDebugInformation="true" OptimizeReferences="2" EnableCOMDATFolding="2" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
</Configurations>
<References />
<Files>
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File RelativePath="..\..\..\..\perf\local_lat.cpp" />
</Filter>
</Files>
<Globals />
</VisualStudioProject>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="local_thr" ProjectGUID="{8EF2DF6B-6646-460F-8032-913B70FE0E94}" RootNamespace="local_thr" TargetFrameworkVersion="196613">
<Platforms>
<Platform Name="Win32" />
</Platforms>
<ToolFiles />
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="../../../../bindings/c" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" WarningLevel="3" DebugInformationFormat="4" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/local_thr.exe" GenerateDebugInformation="true" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="../../../../bindings/c" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/local_thr.exe" GenerateDebugInformation="true" OptimizeReferences="2" EnableCOMDATFolding="2" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
</Configurations>
<References />
<Files>
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File RelativePath="..\..\..\..\perf\local_thr.cpp" />
</Filter>
</Files>
<Globals />
</VisualStudioProject>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="remote_lat" ProjectGUID="{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}" RootNamespace="remote_lat" TargetFrameworkVersion="196613">
<Platforms>
<Platform Name="Win32" />
</Platforms>
<ToolFiles />
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2">
<Tool Name="VCPreBuildEventTool" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="../../../../bindings/c" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" WarningLevel="3" DebugInformationFormat="4" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/remote_lat.exe" GenerateDebugInformation="true" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="../../../../bindings/c" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/remote_lat.exe" GenerateDebugInformation="true" OptimizeReferences="2" EnableCOMDATFolding="2" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
</Configurations>
<References />
<Files>
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File RelativePath="..\..\..\..\perf\remote_lat.cpp" />
</Filter>
</Files>
<Globals />
</VisualStudioProject>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="remote_thr" ProjectGUID="{B15E059C-0CBB-4A82-8C42-6567FB650802}" RootNamespace="remote_thr" TargetFrameworkVersion="196613">
<Platforms>
<Platform Name="Win32" />
</Platforms>
<ToolFiles />
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="../../../../bindings/c" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" WarningLevel="3" DebugInformationFormat="4" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/remote_thr.exe" GenerateDebugInformation="true" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2" WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool" CommandLine="copy ..\..\platform.hpp ..\..\..\..\src" />
<Tool Name="VCCustomBuildTool" />
<Tool Name="VCXMLDataGeneratorTool" />
<Tool Name="VCMIDLTool" />
<Tool Name="VCCLCompilerTool" Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="../../../../bindings/c" RuntimeLibrary="2" EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" />
<Tool Name="VCManagedResourceCompilerTool" />
<Tool Name="VCResourceCompilerTool" />
<Tool Name="VCPreLinkEventTool" />
<Tool Name="VCLinkerTool" OutputFile="../../../../bin/remote_thr.exe" GenerateDebugInformation="true" OptimizeReferences="2" EnableCOMDATFolding="2" TargetMachine="1" />
<Tool Name="VCALinkTool" />
<Tool Name="VCManifestTool" />
<Tool Name="VCXDCMakeTool" />
<Tool Name="VCBscMakeTool" />
<Tool Name="VCFxCopTool" />
<Tool Name="VCAppVerifierTool" />
<Tool Name="VCPostBuildEventTool" />
</Configuration>
</Configurations>
<References />
<Files>
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File RelativePath="..\..\..\..\perf\remote_thr.cpp" />
</Filter>
</Files>
<Globals />
</VisualStudioProject>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ inproc_lat Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Rpcrt4.lib;Ws2_32.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="..\libzmq.import.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libzmq>dynamic</Linkage-libzmq>
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libzmq>ltcg</Linkage-libzmq>
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libzmq>static</Linkage-libzmq>
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(HAVE_LIBSODIUM)'=='1'"/>
</Target>
</Project>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}</ProjectGuid>
<ProjectName>inproc_lat</ProjectName>
<PlatformToolset>v100</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|Win32">
<Configuration>DebugDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|Win32">
<Configuration>ReleaseDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|x64">
<Configuration>DebugDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|x64">
<Configuration>ReleaseDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|Win32">
<Configuration>DebugLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|Win32">
<Configuration>ReleaseLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|x64">
<Configuration>DebugLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|x64">
<Configuration>ReleaseLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|Win32">
<Configuration>DebugSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|Win32">
<Configuration>ReleaseSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|x64">
<Configuration>DebugSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|x64">
<Configuration>ReleaseSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\perf\inproc_lat.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemGroup>
<ProjectReference Include="..\libzmq\libzmq.vcxproj">
<Project>{641c5f36-32ee-4323-b740-992b651cf9d6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ inproc_thr Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Rpcrt4.lib;Ws2_32.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="..\libzmq.import.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libzmq>dynamic</Linkage-libzmq>
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libzmq>ltcg</Linkage-libzmq>
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libzmq>static</Linkage-libzmq>
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(HAVE_LIBSODIUM)'=='1'"/>
</Target>
</Project>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{1077E977-95DD-4E73-A692-74647DD0CC1E}</ProjectGuid>
<ProjectName>inproc_thr</ProjectName>
<PlatformToolset>v100</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|Win32">
<Configuration>DebugDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|Win32">
<Configuration>ReleaseDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|x64">
<Configuration>DebugDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|x64">
<Configuration>ReleaseDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|Win32">
<Configuration>DebugLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|Win32">
<Configuration>ReleaseLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|x64">
<Configuration>DebugLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|x64">
<Configuration>ReleaseLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|Win32">
<Configuration>DebugSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|Win32">
<Configuration>ReleaseSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|x64">
<Configuration>DebugSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|x64">
<Configuration>ReleaseSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\perf\inproc_thr.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemGroup>
<ProjectReference Include="..\libzmq\libzmq.vcxproj">
<Project>{641c5f36-32ee-4323-b740-992b651cf9d6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<_PropertySheetDisplayName>Libsodium Import Settings</_PropertySheetDisplayName>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libsodium.import.xml" />
</ItemGroup>
<!-- Linkage -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Linkage-libsodium)' == 'static' Or '$(Linkage-libsodium)' == 'ltcg'">SODIUM_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies Condition="'$(Linkage-libsodium)' != ''">advapi32.lib;libsodium.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<!-- Copy -->
<Target Name="Linkage-libsodium-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libsodium)' == 'dynamic'">
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libsodium.dll"
DestinationFiles="$(TargetDir)libsodium.dll"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libsodium.pdb"
DestinationFiles="$(TargetDir)libsodium.pdb"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libsodium.dll"
DestinationFiles="$(TargetDir)libsodium.dll"
SkipUnchangedFiles="true" />
</Target>
<!-- Messages -->
<Target Name="libsodium-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libsodium)' == 'dynamic'">
<Message Text="Copying libsodium.dll -&gt; $(TargetDir)libsodium.dll" Importance="high"/>
<Message Text="Copying libsodium.pdb -&gt; $(TargetDir)libsodium.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
</Target>
</Project>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libsodium-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="libsodium" DisplayName="libsodium" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Linkage-libsodium" DisplayName="Linkage" Description="How libsodium will be linked into the output of this project" Category="libsodium">
<EnumValue Name="" DisplayName="Not linked" />
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
<EnumValue Name="static" DisplayName="Static (LIB)" />
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<_PropertySheetDisplayName>ZMQ Import Settings</_PropertySheetDisplayName>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libzmq.import.xml" />
</ItemGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions Condition="'$(Option-tweet)' == 'true'">ZMQ_USE_TWEETNACL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-sodium)' == 'true'">ZMQ_USE_LIBSODIUM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-openpgm)' == 'true'">ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-gssapi)' == 'true'">HAVE_LIBGSSAPI_KRB5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-draftapi)' == 'true'">ZMQ_BUILD_DRAFT_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Linkage -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libzmq\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Linkage-libzmq)' == 'static' Or '$(Linkage-libzmq)' == 'ltcg'">ZMQ_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies Condition="'$(Linkage-libzmq)' != ''">libzmq.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<!-- Copy -->
<Target Name="Linkage-libzmq-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.dll"
DestinationFiles="$(TargetDir)libzmq.dll"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.pdb"
DestinationFiles="$(TargetDir)libzmq.pdb"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libzmq.dll"
DestinationFiles="$(TargetDir)libzmq.dll"
SkipUnchangedFiles="true" />
</Target>
<!-- Messages -->
<Target Name="libzmq-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
<Message Text="Copying libzmq.dll -&gt; $(TargetDir)libzmq.dll" Importance="high"/>
<Message Text="Copying libzmq.pdb -&gt; $(TargetDir)libzmq.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
</Target>
</Project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libzmq-options-uiextension" PageTemplate="tool" DisplayName="ZMQ Options" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="tweet" DisplayName="tweet" />
<Category Name="sodium" DisplayName="sodium" />
<Category Name="openpgm" DisplayName="openpgm" />
<Category Name="gssapi" DisplayName="gssapi" />
<Category Name="draftapi" DisplayName="draftapi" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Option-tweet" DisplayName="Enable Tweet NaCl" Description="Enable the Tweet NaCl build option" Category="tweet">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-sodium" DisplayName="Enable Sodium" Description="Enable the Sodium build option" Category="sodium">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-openpgm" DisplayName="Enable OpenPGM" Description="Enable the OpenPGM build option" Category="openpgm">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-gssapi" DisplayName="Enable GSS API" Description="Enable the GSS API build option" Category="gssapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-draftapi" DisplayName="Enable Draft API" Description="Enable Draft API build option" Category="draftapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
</Rule>
<Rule Name="libzmq-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="libzmq" DisplayName="libzmq" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Linkage-libzmq" DisplayName="Linkage" Description="How libzmq will be linked into the output of this project" Category="libzmq">
<EnumValue Name="" DisplayName="Not linked" />
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
<EnumValue Name="static" DisplayName="Static (LIB)" />
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

View File

@@ -0,0 +1,206 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzmq", "libzmq\libzmq.vcxproj", "{641C5F36-32EE-4323-B740-992B651CF9D6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inproc_thr", "inproc_thr\inproc_thr.vcxproj", "{1077E977-95DD-4E73-A692-74647DD0CC1E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inproc_lat", "inproc_lat\inproc_lat.vcxproj", "{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remote_thr", "remote_thr\remote_thr.vcxproj", "{B15E059C-0CBB-4A82-8C42-6567FB650802}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remote_lat", "remote_lat\remote_lat.vcxproj", "{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "local_thr", "local_thr\local_thr.vcxproj", "{8EF2DF6B-6646-460F-8032-913B70FE0E94}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "local_lat", "local_lat\local_lat.vcxproj", "{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
DynDebug|Win32 = DynDebug|Win32
DynDebug|x64 = DynDebug|x64
DynRelease|Win32 = DynRelease|Win32
DynRelease|x64 = DynRelease|x64
LtcgDebug|Win32 = LtcgDebug|Win32
LtcgDebug|x64 = LtcgDebug|x64
LtcgRelease|Win32 = LtcgRelease|Win32
LtcgRelease|x64 = LtcgRelease|x64
StaticDebug|Win32 = StaticDebug|Win32
StaticDebug|x64 = StaticDebug|x64
StaticRelease|Win32 = StaticRelease|Win32
StaticRelease|x64 = StaticRelease|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|Win32.Build.0 = DebugDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|x64.ActiveCfg = DebugDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|x64.Build.0 = DebugDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|x64.Build.0 = ReleaseDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|x64.Build.0 = DebugLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|Win32.Build.0 = DebugLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|x64.ActiveCfg = DebugLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|x64.Build.0 = DebugLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|x64.Build.0 = ReleaseLIB|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|x64.Build.0 = DebugDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|x64.Build.0 = DebugDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|x64.Build.0 = DebugDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|x64.Build.0 = DebugDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|x64.Build.0 = DebugDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|x64.Build.0 = DebugDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ Library Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(ProjectName).xml" />
</ItemGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;$(ProjectDir)..\..\..\..\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnablePREfast>false</EnablePREfast>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>precompiled.hpp</PrecompiledHeaderFile>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;FD_SETSIZE=16384;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-tweet)' == 'true'">ZMQ_USE_TWEETNACL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-sodium)' == 'true'">ZMQ_USE_LIBSODIUM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-tweet)' == 'true' Or '$(Option-sodium)' == 'true'">ZMQ_HAVE_CURVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-openpgm)' == 'true'">ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-gssapi)' == 'true'">HAVE_LIBGSSAPI_KRB5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-draftapi)' == 'true'">ZMQ_BUILD_DRAFT_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-usepoll)' == 'true'">ZMQ_USE_POLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-usepoll)' != 'true'">ZMQ_USE_SELECT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ConfigurationType)' == 'StaticLibrary'">ZMQ_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ConfigurationType)' == 'DynamicLibrary'">DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Ws2_32.lib;Rpcrt4.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib Condition="'$(ConfigurationType)'=='StaticLibrary'">
<AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="OptionInfo" BeforeTargets="PrepareForBuild">
<Message Text="Option-tweet : $(Option-tweet)" Importance="high"/>
<Message Text="Option-sodium : $(Option-sodium)" Importance="high"/>
<Message Text="Option-openpgm : $(Option-openpgm)" Importance="high"/>
<Message Text="Option-gssapi : $(Option-gssapi)" Importance="high"/>
<Message Text="Option-draftapi : $(Option-draftapi)" Importance="high"/>
<Message Text="Option-usepoll : $(Option-usepoll)" Importance="high"/>
</Target>
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(Option-sodium)' == 'true'"/>
</Target>
</Project>

View File

@@ -0,0 +1,289 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{641C5F36-32EE-4323-B740-992B651CF9D6}</ProjectGuid>
<ProjectName>libzmq</ProjectName>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDLL|Win32">
<Configuration>DebugDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|Win32">
<Configuration>ReleaseDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDLL|x64">
<Configuration>DebugDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|x64">
<Configuration>ReleaseDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|Win32">
<Configuration>DebugLTCG</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|Win32">
<Configuration>ReleaseLTCG</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|x64">
<Configuration>DebugLTCG</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|x64">
<Configuration>ReleaseLTCG</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|Win32">
<Configuration>DebugLIB</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|Win32">
<Configuration>ReleaseLIB</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|x64">
<Configuration>DebugLIB</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|x64">
<Configuration>ReleaseLIB</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) == -1">StaticLibrary</ConfigurationType>
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) != -1">DynamicLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
<ClInclude Include="..\..\resource.h" />
<ClInclude Include="..\..\..\..\include\zmq.h" />
<ClInclude Include="..\..\..\..\src\zmq_draft.h" />
<ClInclude Include="..\..\..\..\src\address.hpp" />
<ClInclude Include="..\..\..\..\src\array.hpp" />
<ClInclude Include="..\..\..\..\src\atomic_counter.hpp" />
<ClInclude Include="..\..\..\..\src\atomic_ptr.hpp" />
<ClInclude Include="..\..\..\..\src\blob.hpp" />
<ClInclude Include="..\..\..\..\src\client.hpp" />
<ClInclude Include="..\..\..\..\src\clock.hpp" />
<ClInclude Include="..\..\..\..\src\command.hpp" />
<ClInclude Include="..\..\..\..\src\condition_variable.hpp" />
<ClInclude Include="..\..\..\..\src\config.hpp" />
<ClInclude Include="..\..\..\..\src\ctx.hpp" />
<ClInclude Include="..\..\..\..\src\curve_client.hpp" />
<ClInclude Include="..\..\..\..\src\curve_server.hpp" />
<ClInclude Include="..\..\..\..\src\decoder.hpp" />
<ClInclude Include="..\..\..\..\src\decoder_allocators.hpp" />
<ClInclude Include="..\..\..\..\src\devpoll.hpp" />
<ClInclude Include="..\..\..\..\src\dgram.hpp" />
<ClInclude Include="..\..\..\..\src\dish.hpp" />
<ClInclude Include="..\..\..\..\src\dist.hpp" />
<ClInclude Include="..\..\..\..\src\encoder.hpp" />
<ClInclude Include="..\..\..\..\src\epoll.hpp" />
<ClInclude Include="..\..\..\..\src\err.hpp" />
<ClInclude Include="..\..\..\..\src\fd.hpp" />
<ClInclude Include="..\..\..\..\src\fq.hpp" />
<ClInclude Include="..\..\..\..\src\gather.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_client.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_mechanism_base.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_server.hpp" />
<ClInclude Include="..\..\..\..\src\i_engine.hpp" />
<ClInclude Include="..\..\..\..\src\i_poll_events.hpp" />
<ClInclude Include="..\..\..\..\src\io_object.hpp" />
<ClInclude Include="..\..\..\..\src\io_thread.hpp" />
<ClInclude Include="..\..\..\..\src\ip.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_address.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_connecter.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_listener.hpp" />
<ClInclude Include="..\..\..\..\src\kqueue.hpp" />
<ClInclude Include="..\..\..\..\src\lb.hpp" />
<ClInclude Include="..\..\..\..\src\likely.hpp" />
<ClInclude Include="..\..\..\..\src\mailbox.hpp" />
<ClInclude Include="..\..\..\..\src\mailbox_safe.hpp" />
<ClInclude Include="..\..\..\..\src\msg.hpp" />
<ClInclude Include="..\..\..\..\src\mtrie.hpp" />
<ClInclude Include="..\..\..\..\src\mutex.hpp" />
<ClInclude Include="..\..\..\..\src\object.hpp" />
<ClInclude Include="..\..\..\..\src\options.hpp" />
<ClInclude Include="..\..\..\..\src\own.hpp" />
<ClInclude Include="..\..\..\..\src\pair.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_receiver.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_sender.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_socket.hpp" />
<ClInclude Include="..\..\..\..\src\pipe.hpp" />
<ClInclude Include="..\..\..\..\src\server.hpp" />
<ClInclude Include="..\..\..\..\src\socks.hpp" />
<ClInclude Include="..\..\..\..\src\socks_connecter.hpp" />
<ClInclude Include="..\..\..\..\src\poll.hpp" />
<ClInclude Include="..\..\..\..\src\poller.hpp" />
<ClInclude Include="..\..\..\..\src\poller_base.hpp" />
<ClInclude Include="..\..\..\..\src\precompiled.hpp" />
<ClInclude Include="..\..\..\..\src\proxy.hpp" />
<ClInclude Include="..\..\..\..\src\pub.hpp" />
<ClInclude Include="..\..\..\..\src\pull.hpp" />
<ClInclude Include="..\..\..\..\src\push.hpp" />
<ClInclude Include="..\..\..\..\src\radio.hpp" />
<ClInclude Include="..\..\..\..\src\random.hpp" />
<ClInclude Include="..\..\..\..\src\raw_decoder.hpp" />
<ClInclude Include="..\..\..\..\src\raw_encoder.hpp" />
<ClInclude Include="..\..\..\..\src\reaper.hpp" />
<ClInclude Include="..\..\..\..\src\rep.hpp" />
<ClInclude Include="..\..\..\..\src\req.hpp" />
<ClInclude Include="..\..\..\..\src\scatter.hpp" />
<ClInclude Include="..\..\..\..\src\select.hpp" />
<ClInclude Include="..\..\..\..\src\session_base.hpp" />
<ClInclude Include="..\..\..\..\src\signaler.hpp" />
<ClInclude Include="..\..\..\..\src\socket_base.hpp" />
<ClInclude Include="..\..\..\..\src\stdint.hpp" />
<ClInclude Include="..\..\..\..\src\stream_engine.hpp" />
<ClInclude Include="..\..\..\..\src\sub.hpp" />
<ClInclude Include="..\..\..\..\src\tcp.hpp" />
<ClInclude Include="..\..\..\..\src\tcp_address.hpp" />
<ClInclude Include="..\..\..\..\src\tcp_connecter.hpp" />
<ClInclude Include="..\..\..\..\src\tcp_listener.hpp" />
<ClInclude Include="..\..\..\..\src\timers.hpp" />
<ClInclude Include="..\..\..\..\src\thread.hpp" />
<ClInclude Include="..\..\..\..\src\trie.hpp" />
<ClInclude Include="..\..\..\..\src\tweetnacl.h" />
<ClInclude Include="..\..\..\..\src\udp_address.hpp" />
<ClInclude Include="..\..\..\..\src\udp_engine.hpp" />
<ClInclude Include="..\..\..\..\src\v1_decoder.hpp" />
<ClInclude Include="..\..\..\..\src\v1_encoder.hpp" />
<ClInclude Include="..\..\..\..\src\v1_protocol.hpp" />
<ClInclude Include="..\..\..\..\src\windows.hpp" />
<ClInclude Include="..\..\..\..\src\wire.hpp" />
<ClInclude Include="..\..\..\..\src\xpub.hpp" />
<ClInclude Include="..\..\..\..\src\xrep.hpp" />
<ClInclude Include="..\..\..\..\src\xreq.hpp" />
<ClInclude Include="..\..\..\..\src\xsub.hpp" />
<ClInclude Include="..\..\..\..\src\ypipe.hpp" />
<ClInclude Include="..\..\..\..\src\yqueue.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\address.cpp" />
<ClCompile Include="..\..\..\..\src\client.cpp" />
<ClCompile Include="..\..\..\..\src\clock.cpp" />
<ClCompile Include="..\..\..\..\src\ctx.cpp" />
<ClCompile Include="..\..\..\..\src\curve_client.cpp" />
<ClCompile Include="..\..\..\..\src\curve_mechanism_base.cpp" />
<ClCompile Include="..\..\..\..\src\curve_server.cpp" />
<ClCompile Include="..\..\..\..\src\dealer.cpp" />
<ClCompile Include="..\..\..\..\src\decoder_allocators.cpp" />
<ClCompile Include="..\..\..\..\src\devpoll.cpp" />
<ClCompile Include="..\..\..\..\src\dgram.cpp" />
<ClCompile Include="..\..\..\..\src\dish.cpp" />
<ClCompile Include="..\..\..\..\src\dist.cpp" />
<ClCompile Include="..\..\..\..\src\epoll.cpp" />
<ClCompile Include="..\..\..\..\src\err.cpp" />
<ClCompile Include="..\..\..\..\src\fq.cpp" />
<ClCompile Include="..\..\..\..\src\gather.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_client.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_mechanism_base.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_server.cpp" />
<ClCompile Include="..\..\..\..\src\io_object.cpp" />
<ClCompile Include="..\..\..\..\src\io_thread.cpp" />
<ClCompile Include="..\..\..\..\src\ip.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_address.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_connecter.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_listener.cpp" />
<ClCompile Include="..\..\..\..\src\kqueue.cpp" />
<ClCompile Include="..\..\..\..\src\lb.cpp" />
<ClCompile Include="..\..\..\..\src\mailbox.cpp" />
<ClCompile Include="..\..\..\..\src\mailbox_safe.cpp" />
<ClCompile Include="..\..\..\..\src\mechanism.cpp" />
<ClCompile Include="..\..\..\..\src\mechanism_base.cpp" />
<ClCompile Include="..\..\..\..\src\metadata.cpp" />
<ClCompile Include="..\..\..\..\src\msg.cpp" />
<ClCompile Include="..\..\..\..\src\mtrie.cpp" />
<ClCompile Include="..\..\..\..\src\null_mechanism.cpp" />
<ClCompile Include="..\..\..\..\src\object.cpp" />
<ClCompile Include="..\..\..\..\src\options.cpp" />
<ClCompile Include="..\..\..\..\src\own.cpp" />
<ClCompile Include="..\..\..\..\src\pair.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_receiver.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_sender.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_socket.cpp" />
<ClCompile Include="..\..\..\..\src\pipe.cpp" />
<ClCompile Include="..\..\..\..\src\plain_client.cpp" />
<ClCompile Include="..\..\..\..\src\plain_server.cpp" />
<ClCompile Include="..\..\..\..\src\poll.cpp" />
<ClCompile Include="..\..\..\..\src\poller_base.cpp" />
<ClCompile Include="..\..\..\..\src\precompiled.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\..\..\..\src\proxy.cpp" />
<ClCompile Include="..\..\..\..\src\pub.cpp" />
<ClCompile Include="..\..\..\..\src\pull.cpp" />
<ClCompile Include="..\..\..\..\src\push.cpp" />
<ClCompile Include="..\..\..\..\src\radio.cpp" />
<ClCompile Include="..\..\..\..\src\random.cpp" />
<ClCompile Include="..\..\..\..\src\raw_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\raw_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\reaper.cpp" />
<ClCompile Include="..\..\..\..\src\rep.cpp" />
<ClCompile Include="..\..\..\..\src\req.cpp" />
<ClCompile Include="..\..\..\..\src\router.cpp" />
<ClCompile Include="..\..\..\..\src\scatter.cpp" />
<ClCompile Include="..\..\..\..\src\select.cpp" />
<ClCompile Include="..\..\..\..\src\server.cpp" />
<ClCompile Include="..\..\..\..\src\session_base.cpp" />
<ClCompile Include="..\..\..\..\src\signaler.cpp" />
<ClCompile Include="..\..\..\..\src\socket_base.cpp" />
<ClCompile Include="..\..\..\..\src\socket_poller.cpp" />
<ClCompile Include="..\..\..\..\src\socks.cpp" />
<ClCompile Include="..\..\..\..\src\socks_connecter.cpp" />
<ClCompile Include="..\..\..\..\src\stream.cpp" />
<ClCompile Include="..\..\..\..\src\stream_engine.cpp" />
<ClCompile Include="..\..\..\..\src\sub.cpp" />
<ClCompile Include="..\..\..\..\src\tcp.cpp" />
<ClCompile Include="..\..\..\..\src\tcp_address.cpp" />
<ClCompile Include="..\..\..\..\src\tcp_connecter.cpp" />
<ClCompile Include="..\..\..\..\src\tcp_listener.cpp" />
<ClCompile Include="..\..\..\..\src\thread.cpp" />
<ClCompile Include="..\..\..\..\src\timers.cpp" />
<ClCompile Include="..\..\..\..\src\trie.cpp" />
<ClCompile Include="..\..\..\..\src\tweetnacl.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\..\..\..\src\udp_address.cpp" />
<ClCompile Include="..\..\..\..\src\udp_engine.cpp" />
<ClCompile Include="..\..\..\..\src\v1_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\v1_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\v2_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\v2_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\xpub.cpp" />
<ClCompile Include="..\..\..\..\src\xsub.cpp" />
<ClCompile Include="..\..\..\..\src\zap_client.cpp" />
<ClCompile Include="..\..\..\..\src\zmq.cpp" />
<ClCompile Include="..\..\..\..\src\zmq_utils.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\packaging\nuget\package.bat" />
<None Include="..\..\..\..\packaging\nuget\package.config" />
<None Include="..\..\..\..\packaging\nuget\package.gsl" />
<None Include="..\..\..\..\packaging\nuget\package.nuspec" />
<None Include="..\..\..\..\packaging\nuget\package.targets" />
</ItemGroup>
<ItemGroup>
<Xml Include="..\..\..\..\packaging\nuget\package.xml" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\resource.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@@ -0,0 +1,627 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\..\..\src\address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\clock.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ctx.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dealer.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\devpoll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dgram.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dist.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\epoll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\err.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\fq.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\io_object.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\io_thread.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ip.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_listener.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\kqueue.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\lb.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mailbox.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mechanism.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\metadata.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\msg.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mtrie.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\null_mechanism.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\object.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\options.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\own.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pair.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_receiver.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_sender.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_socket.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pipe.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\plain_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\plain_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\poll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\poller_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\proxy.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pull.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\push.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\random.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\raw_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\raw_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\reaper.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\rep.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\req.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\router.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\scatter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\select.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\session_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\signaler.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socket_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\stream.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\stream_engine.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\sub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_listener.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\thread.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\trie.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v1_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v1_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v2_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v2_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\xpub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\xsub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\zmq.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\zmq_utils.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\precompiled.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\curve_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\curve_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gather.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_mechanism_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socks.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socks_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mailbox_safe.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\decoder_allocators.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socket_poller.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\udp_address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\udp_engine.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dish.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\radio.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\timers.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tweetnacl.c">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\include\zmq.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\array.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\atomic_counter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\atomic_ptr.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\blob.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\clock.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\command.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\config.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ctx.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\devpoll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\dgram.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\dist.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\epoll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\err.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\fd.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\fq.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\i_engine.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\i_poll_events.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\io_object.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\io_thread.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ip.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_listener.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\kqueue.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\lb.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\likely.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mailbox.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\msg.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mtrie.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mutex.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\object.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\options.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\own.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pair.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_receiver.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\yqueue.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ypipe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xsub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xreq.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xrep.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xpub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\wire.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\windows.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_protocol.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\trie.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\thread.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_listener.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\sub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\stream_engine.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\stdint.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socket_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\signaler.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\session_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\scatter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\select.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\req.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\rep.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\reaper.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\raw_encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\raw_decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\random.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\push.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pull.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\proxy.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\precompiled.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poller_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poller.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\platform.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pipe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_socket.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_sender.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\resource.h">
<Filter>resource</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\curve_client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\curve_server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gather.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_mechanism_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socks.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socks_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mailbox_safe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\condition_variable.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\decoder_allocators.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\udp_address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\udp_engine.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\dish.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\radio.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\timers.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tweetnacl.h">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\zmq_draft.h">
<Filter>src\include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="include">
<UniqueIdentifier>{f7e88c6c-e408-4631-959c-fe3568656d70}</UniqueIdentifier>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{35f0c644-e1d8-4a46-bb33-06bb8b645fff}</UniqueIdentifier>
</Filter>
<Filter Include="src\include">
<UniqueIdentifier>{90853975-3420-4f06-8be4-4ab3d9792160}</UniqueIdentifier>
</Filter>
<Filter Include="packaging">
<UniqueIdentifier>{f5e26e9d-c33d-45c1-95e4-0732acd28b59}</UniqueIdentifier>
</Filter>
<Filter Include="resource">
<UniqueIdentifier>{e66010e4-a9ea-4e2e-8bc6-12fec14bb009}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\packaging\nuget\package.bat">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.config">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.gsl">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.targets">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.nuspec">
<Filter>packaging</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Xml Include="..\..\..\..\packaging\nuget\package.xml">
<Filter>packaging</Filter>
</Xml>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\resource.rc">
<Filter>resource</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libzmq-uiextension" PageTemplate="tool" DisplayName="ZMQ Options" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="tweet" DisplayName="tweet" />
<Category Name="sodium" DisplayName="sodium" />
<Category Name="openpgm" DisplayName="openpgm" />
<Category Name="gssapi" DisplayName="gssapi" />
<Category Name="draftapi" DisplayName="draftapi" />
<Category Name="usepoll" DisplayName="usepoll" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Option-tweet" DisplayName="Enable Tweet NaCl" Description="Enable Tweet NaCl build option (overrides Sodium)" Category="tweet">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-sodium" DisplayName="Enable Sodium" Description="Enable Sodium build option" Category="sodium">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-openpgm" DisplayName="Enable OpenPGM" Description="Enable OpenPGM build option" Category="openpgm">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-gssapi" DisplayName="Enable GSS API" Description="Enable GSS API build option" Category="gssapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-draftapi" DisplayName="Enable Draft API" Description="Enable Draft API build option" Category="draftapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-usepoll" DisplayName="Enable poll() usage (Vista+ only)" Description="Use poll() instead of select() for waiting on incoming data. Increases performance, but the binary will only run on Windows Vista or later." Category="usepoll">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ local_lat Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Rpcrt4.lib;Ws2_32.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="..\libzmq.import.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libzmq>dynamic</Linkage-libzmq>
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libzmq>ltcg</Linkage-libzmq>
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libzmq>static</Linkage-libzmq>
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(HAVE_LIBSODIUM)'=='1'"/>
</Target>
</Project>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}</ProjectGuid>
<ProjectName>local_lat</ProjectName>
<PlatformToolset>v100</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|Win32">
<Configuration>DebugDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|Win32">
<Configuration>ReleaseDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|x64">
<Configuration>DebugDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|x64">
<Configuration>ReleaseDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|Win32">
<Configuration>DebugLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|Win32">
<Configuration>ReleaseLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|x64">
<Configuration>DebugLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|x64">
<Configuration>ReleaseLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|Win32">
<Configuration>DebugSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|Win32">
<Configuration>ReleaseSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|x64">
<Configuration>DebugSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|x64">
<Configuration>ReleaseSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\perf\local_lat.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemGroup>
<ProjectReference Include="..\libzmq\libzmq.vcxproj">
<Project>{641c5f36-32ee-4323-b740-992b651cf9d6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ local_thr Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Rpcrt4.lib;Ws2_32.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="..\libzmq.import.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libzmq>dynamic</Linkage-libzmq>
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libzmq>ltcg</Linkage-libzmq>
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libzmq>static</Linkage-libzmq>
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(HAVE_LIBSODIUM)'=='1'"/>
</Target>
</Project>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{8EF2DF6B-6646-460F-8032-913B70FE0E94}</ProjectGuid>
<ProjectName>local_thr</ProjectName>
<PlatformToolset>v100</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|Win32">
<Configuration>DebugDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|Win32">
<Configuration>ReleaseDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|x64">
<Configuration>DebugDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|x64">
<Configuration>ReleaseDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|Win32">
<Configuration>DebugLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|Win32">
<Configuration>ReleaseLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|x64">
<Configuration>DebugLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|x64">
<Configuration>ReleaseLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|Win32">
<Configuration>DebugSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|Win32">
<Configuration>ReleaseSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|x64">
<Configuration>DebugSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|x64">
<Configuration>ReleaseSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\perf\local_thr.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemGroup>
<ProjectReference Include="..\libzmq\libzmq.vcxproj">
<Project>{641c5f36-32ee-4323-b740-992b651cf9d6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ remote_lat Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Rpcrt4.lib;Ws2_32.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="..\libzmq.import.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libzmq>dynamic</Linkage-libzmq>
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libzmq>ltcg</Linkage-libzmq>
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libzmq>static</Linkage-libzmq>
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(HAVE_LIBSODIUM)'=='1'"/>
</Target>
</Project>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}</ProjectGuid>
<ProjectName>remote_lat</ProjectName>
<PlatformToolset>v100</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|Win32">
<Configuration>DebugDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|Win32">
<Configuration>ReleaseDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|x64">
<Configuration>DebugDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|x64">
<Configuration>ReleaseDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|Win32">
<Configuration>DebugLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|Win32">
<Configuration>ReleaseLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|x64">
<Configuration>DebugLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|x64">
<Configuration>ReleaseLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|Win32">
<Configuration>DebugSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|Win32">
<Configuration>ReleaseSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|x64">
<Configuration>DebugSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|x64">
<Configuration>ReleaseSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\perf\remote_lat.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemGroup>
<ProjectReference Include="..\libzmq\libzmq.vcxproj">
<Project>{641c5f36-32ee-4323-b740-992b651cf9d6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ remote_thr Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Rpcrt4.lib;Ws2_32.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="..\libzmq.import.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libzmq>dynamic</Linkage-libzmq>
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libzmq>ltcg</Linkage-libzmq>
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libzmq>static</Linkage-libzmq>
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(HAVE_LIBSODIUM)'=='1'"/>
</Target>
</Project>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{B15E059C-0CBB-4A82-8C42-6567FB650802}</ProjectGuid>
<ProjectName>remote_thr</ProjectName>
<PlatformToolset>v100</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|Win32">
<Configuration>DebugDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|Win32">
<Configuration>ReleaseDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|x64">
<Configuration>DebugDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|x64">
<Configuration>ReleaseDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|Win32">
<Configuration>DebugLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|Win32">
<Configuration>ReleaseLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|x64">
<Configuration>DebugLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|x64">
<Configuration>ReleaseLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|Win32">
<Configuration>DebugSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|Win32">
<Configuration>ReleaseSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|x64">
<Configuration>DebugSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|x64">
<Configuration>ReleaseSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\perf\remote_thr.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemGroup>
<ProjectReference Include="..\libzmq\libzmq.vcxproj">
<Project>{641c5f36-32ee-4323-b740-992b651cf9d6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ inproc_lat Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Rpcrt4.lib;Ws2_32.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="..\libzmq.import.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libzmq>dynamic</Linkage-libzmq>
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libzmq>ltcg</Linkage-libzmq>
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libzmq>static</Linkage-libzmq>
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(HAVE_LIBSODIUM)'=='1'"/>
</Target>
</Project>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}</ProjectGuid>
<ProjectName>inproc_lat</ProjectName>
<PlatformToolset>v110</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|Win32">
<Configuration>DebugDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|Win32">
<Configuration>ReleaseDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|x64">
<Configuration>DebugDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|x64">
<Configuration>ReleaseDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|Win32">
<Configuration>DebugLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|Win32">
<Configuration>ReleaseLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|x64">
<Configuration>DebugLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|x64">
<Configuration>ReleaseLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|Win32">
<Configuration>DebugSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|Win32">
<Configuration>ReleaseSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|x64">
<Configuration>DebugSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|x64">
<Configuration>ReleaseSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\perf\inproc_lat.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemGroup>
<ProjectReference Include="..\libzmq\libzmq.vcxproj">
<Project>{641c5f36-32ee-4323-b740-992b651cf9d6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ inproc_thr Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Rpcrt4.lib;Ws2_32.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="..\libzmq.import.props" />
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libzmq>dynamic</Linkage-libzmq>
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libzmq>ltcg</Linkage-libzmq>
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libzmq>static</Linkage-libzmq>
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(HAVE_LIBSODIUM)'=='1'"/>
</Target>
</Project>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{1077E977-95DD-4E73-A692-74647DD0CC1E}</ProjectGuid>
<ProjectName>inproc_thr</ProjectName>
<PlatformToolset>v110</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|Win32">
<Configuration>DebugDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|Win32">
<Configuration>ReleaseDEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|x64">
<Configuration>DebugDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|x64">
<Configuration>ReleaseDEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|Win32">
<Configuration>DebugLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|Win32">
<Configuration>ReleaseLEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|x64">
<Configuration>DebugLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|x64">
<Configuration>ReleaseLEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|Win32">
<Configuration>DebugSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|Win32">
<Configuration>ReleaseSEXE</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|x64">
<Configuration>DebugSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|x64">
<Configuration>ReleaseSEXE</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\perf\inproc_thr.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemGroup>
<ProjectReference Include="..\libzmq\libzmq.vcxproj">
<Project>{641c5f36-32ee-4323-b740-992b651cf9d6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<_PropertySheetDisplayName>Libsodium Import Settings</_PropertySheetDisplayName>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libsodium.import.xml" />
</ItemGroup>
<!-- Linkage -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Linkage-libsodium)' == 'static' Or '$(Linkage-libsodium)' == 'ltcg'">SODIUM_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies Condition="'$(Linkage-libsodium)' != ''">advapi32.lib;libsodium.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<!-- Copy -->
<Target Name="Linkage-libsodium-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libsodium)' == 'dynamic'">
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libsodium.dll"
DestinationFiles="$(TargetDir)libsodium.dll"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libsodium.pdb"
DestinationFiles="$(TargetDir)libsodium.pdb"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libsodium.dll"
DestinationFiles="$(TargetDir)libsodium.dll"
SkipUnchangedFiles="true" />
</Target>
<!-- Messages -->
<Target Name="libsodium-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libsodium)' == 'dynamic'">
<Message Text="Copying libsodium.dll -&gt; $(TargetDir)libsodium.dll" Importance="high"/>
<Message Text="Copying libsodium.pdb -&gt; $(TargetDir)libsodium.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
</Target>
</Project>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libsodium-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="libsodium" DisplayName="libsodium" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Linkage-libsodium" DisplayName="Linkage" Description="How libsodium will be linked into the output of this project" Category="libsodium">
<EnumValue Name="" DisplayName="Not linked" />
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
<EnumValue Name="static" DisplayName="Static (LIB)" />
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<_PropertySheetDisplayName>ZMQ Import Settings</_PropertySheetDisplayName>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libzmq.import.xml" />
</ItemGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions Condition="'$(Option-tweet)' == 'true'">ZMQ_USE_TWEETNACL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-sodium)' == 'true'">ZMQ_USE_LIBSODIUM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-openpgm)' == 'true'">ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-gssapi)' == 'true'">HAVE_LIBGSSAPI_KRB5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-draftapi)' == 'true'">ZMQ_BUILD_DRAFT_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Linkage -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libzmq\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Linkage-libzmq)' == 'static' Or '$(Linkage-libzmq)' == 'ltcg'">ZMQ_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies Condition="'$(Linkage-libzmq)' != ''">libzmq.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<!-- Copy -->
<Target Name="Linkage-libzmq-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.dll"
DestinationFiles="$(TargetDir)libzmq.dll"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.pdb"
DestinationFiles="$(TargetDir)libzmq.pdb"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libzmq.dll"
DestinationFiles="$(TargetDir)libzmq.dll"
SkipUnchangedFiles="true" />
</Target>
<!-- Messages -->
<Target Name="libzmq-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
<Message Text="Copying libzmq.dll -&gt; $(TargetDir)libzmq.dll" Importance="high"/>
<Message Text="Copying libzmq.pdb -&gt; $(TargetDir)libzmq.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
</Target>
</Project>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libzmq-options-uiextension" PageTemplate="tool" DisplayName="ZMQ Options" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="tweet" DisplayName="tweet" />
<Category Name="sodium" DisplayName="sodium" />
<Category Name="openpgm" DisplayName="openpgm" />
<Category Name="gssapi" DisplayName="gssapi" />
<Category Name="draftapi" DisplayName="draftapi" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Option-tweet" DisplayName="Enable Tweet NaCl" Description="Enable the Tweet NaCl build option" Category="tweet">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-sodium" DisplayName="Enable Sodium" Description="Enable the Sodium build option" Category="sodium">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-openpgm" DisplayName="Enable OpenPGM" Description="Enable the OpenPGM build option" Category="openpgm">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-gssapi" DisplayName="Enable GSS API" Description="Enable the GSS API build option" Category="gssapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-draftapi" DisplayName="Enable Draft API" Description="Enable Draft API build option" Category="draftapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
</Rule>
<Rule Name="libzmq-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="libzmq" DisplayName="libzmq" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Linkage-libzmq" DisplayName="Linkage" Description="How libzmq will be linked into the output of this project" Category="libzmq">
<EnumValue Name="" DisplayName="Not linked" />
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
<EnumValue Name="static" DisplayName="Static (LIB)" />
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

View File

@@ -0,0 +1,206 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2012
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzmq", "libzmq\libzmq.vcxproj", "{641C5F36-32EE-4323-B740-992B651CF9D6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inproc_thr", "inproc_thr\inproc_thr.vcxproj", "{1077E977-95DD-4E73-A692-74647DD0CC1E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inproc_lat", "inproc_lat\inproc_lat.vcxproj", "{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remote_thr", "remote_thr\remote_thr.vcxproj", "{B15E059C-0CBB-4A82-8C42-6567FB650802}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remote_lat", "remote_lat\remote_lat.vcxproj", "{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "local_thr", "local_thr\local_thr.vcxproj", "{8EF2DF6B-6646-460F-8032-913B70FE0E94}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "local_lat", "local_lat\local_lat.vcxproj", "{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
DynDebug|Win32 = DynDebug|Win32
DynDebug|x64 = DynDebug|x64
DynRelease|Win32 = DynRelease|Win32
DynRelease|x64 = DynRelease|x64
LtcgDebug|Win32 = LtcgDebug|Win32
LtcgDebug|x64 = LtcgDebug|x64
LtcgRelease|Win32 = LtcgRelease|Win32
LtcgRelease|x64 = LtcgRelease|x64
StaticDebug|Win32 = StaticDebug|Win32
StaticDebug|x64 = StaticDebug|x64
StaticRelease|Win32 = StaticRelease|Win32
StaticRelease|x64 = StaticRelease|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|Win32.Build.0 = DebugDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|x64.ActiveCfg = DebugDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|x64.Build.0 = DebugDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|x64.Build.0 = ReleaseDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|x64.Build.0 = DebugLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|Win32.Build.0 = DebugLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|x64.ActiveCfg = DebugLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|x64.Build.0 = DebugLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|x64.Build.0 = ReleaseLIB|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|x64.Build.0 = DebugDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|x64.Build.0 = DebugDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|x64.Build.0 = DebugDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|x64.Build.0 = DebugDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|x64.Build.0 = DebugDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|x64.Build.0 = DebugDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ Library Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(ProjectName).xml" />
</ItemGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;$(ProjectDir)..\..\..\..\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnablePREfast>false</EnablePREfast>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>precompiled.hpp</PrecompiledHeaderFile>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;FD_SETSIZE=16384;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-tweet)' == 'true'">ZMQ_USE_TWEETNACL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-sodium)' == 'true'">ZMQ_USE_LIBSODIUM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-tweet)' == 'true' Or '$(Option-sodium)' == 'true'">ZMQ_HAVE_CURVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-openpgm)' == 'true'">ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-gssapi)' == 'true'">HAVE_LIBGSSAPI_KRB5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-draftapi)' == 'true'">ZMQ_BUILD_DRAFT_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-usepoll)' == 'true'">ZMQ_USE_POLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-usepoll)' != 'true'">ZMQ_USE_SELECT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ConfigurationType)' == 'StaticLibrary'">ZMQ_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ConfigurationType)' == 'DynamicLibrary'">DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Ws2_32.lib;Rpcrt4.lib;Iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib Condition="'$(ConfigurationType)'=='StaticLibrary'">
<AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props"
Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\..\..\libsodium\builds\msvc\vs2015\libsodium.import.props')" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<!--<Linkage-libsodium>dynamic</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<!--<Linkage-libsodium>ltcg</Linkage-libsodium>-->
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<!--<Linkage-libsodium>static</Linkage-libsodium>-->
</PropertyGroup>
<!-- Messages -->
<Target Name="OptionInfo" BeforeTargets="PrepareForBuild">
<Message Text="Option-tweet : $(Option-tweet)" Importance="high"/>
<Message Text="Option-sodium : $(Option-sodium)" Importance="high"/>
<Message Text="Option-openpgm : $(Option-openpgm)" Importance="high"/>
<Message Text="Option-gssapi : $(Option-gssapi)" Importance="high"/>
<Message Text="Option-draftapi : $(Option-draftapi)" Importance="high"/>
<Message Text="Option-usepoll : $(Option-usepoll)" Importance="high"/>
</Target>
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high" Condition="'$(Option-sodium)' == 'true'"/>
</Target>
</Project>

View File

@@ -0,0 +1,289 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{641C5F36-32EE-4323-B740-992B651CF9D6}</ProjectGuid>
<ProjectName>libzmq</ProjectName>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDLL|Win32">
<Configuration>DebugDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|Win32">
<Configuration>ReleaseDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDLL|x64">
<Configuration>DebugDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|x64">
<Configuration>ReleaseDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|Win32">
<Configuration>DebugLTCG</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|Win32">
<Configuration>ReleaseLTCG</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|x64">
<Configuration>DebugLTCG</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|x64">
<Configuration>ReleaseLTCG</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|Win32">
<Configuration>DebugLIB</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|Win32">
<Configuration>ReleaseLIB</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|x64">
<Configuration>DebugLIB</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|x64">
<Configuration>ReleaseLIB</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) == -1">StaticLibrary</ConfigurationType>
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) != -1">DynamicLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<PropertyGroup>
<Option-tweet>true</Option-tweet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="..\..\platform.hpp" />
<ClInclude Include="..\..\resource.h" />
<ClInclude Include="..\..\..\..\include\zmq.h" />
<ClInclude Include="..\..\..\..\src\zmq_draft.h" />
<ClInclude Include="..\..\..\..\src\address.hpp" />
<ClInclude Include="..\..\..\..\src\array.hpp" />
<ClInclude Include="..\..\..\..\src\atomic_counter.hpp" />
<ClInclude Include="..\..\..\..\src\atomic_ptr.hpp" />
<ClInclude Include="..\..\..\..\src\blob.hpp" />
<ClInclude Include="..\..\..\..\src\client.hpp" />
<ClInclude Include="..\..\..\..\src\clock.hpp" />
<ClInclude Include="..\..\..\..\src\command.hpp" />
<ClInclude Include="..\..\..\..\src\condition_variable.hpp" />
<ClInclude Include="..\..\..\..\src\config.hpp" />
<ClInclude Include="..\..\..\..\src\ctx.hpp" />
<ClInclude Include="..\..\..\..\src\curve_client.hpp" />
<ClInclude Include="..\..\..\..\src\curve_server.hpp" />
<ClInclude Include="..\..\..\..\src\decoder.hpp" />
<ClInclude Include="..\..\..\..\src\decoder_allocators.hpp" />
<ClInclude Include="..\..\..\..\src\devpoll.hpp" />
<ClInclude Include="..\..\..\..\src\dgram.hpp" />
<ClInclude Include="..\..\..\..\src\dish.hpp" />
<ClInclude Include="..\..\..\..\src\dist.hpp" />
<ClInclude Include="..\..\..\..\src\encoder.hpp" />
<ClInclude Include="..\..\..\..\src\epoll.hpp" />
<ClInclude Include="..\..\..\..\src\err.hpp" />
<ClInclude Include="..\..\..\..\src\fd.hpp" />
<ClInclude Include="..\..\..\..\src\fq.hpp" />
<ClInclude Include="..\..\..\..\src\gather.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_client.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_mechanism_base.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_server.hpp" />
<ClInclude Include="..\..\..\..\src\i_engine.hpp" />
<ClInclude Include="..\..\..\..\src\i_poll_events.hpp" />
<ClInclude Include="..\..\..\..\src\io_object.hpp" />
<ClInclude Include="..\..\..\..\src\io_thread.hpp" />
<ClInclude Include="..\..\..\..\src\ip.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_address.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_connecter.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_listener.hpp" />
<ClInclude Include="..\..\..\..\src\kqueue.hpp" />
<ClInclude Include="..\..\..\..\src\lb.hpp" />
<ClInclude Include="..\..\..\..\src\likely.hpp" />
<ClInclude Include="..\..\..\..\src\mailbox.hpp" />
<ClInclude Include="..\..\..\..\src\mailbox_safe.hpp" />
<ClInclude Include="..\..\..\..\src\msg.hpp" />
<ClInclude Include="..\..\..\..\src\mtrie.hpp" />
<ClInclude Include="..\..\..\..\src\mutex.hpp" />
<ClInclude Include="..\..\..\..\src\object.hpp" />
<ClInclude Include="..\..\..\..\src\options.hpp" />
<ClInclude Include="..\..\..\..\src\own.hpp" />
<ClInclude Include="..\..\..\..\src\pair.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_receiver.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_sender.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_socket.hpp" />
<ClInclude Include="..\..\..\..\src\pipe.hpp" />
<ClInclude Include="..\..\..\..\src\server.hpp" />
<ClInclude Include="..\..\..\..\src\socks.hpp" />
<ClInclude Include="..\..\..\..\src\socks_connecter.hpp" />
<ClInclude Include="..\..\..\..\src\poll.hpp" />
<ClInclude Include="..\..\..\..\src\poller.hpp" />
<ClInclude Include="..\..\..\..\src\poller_base.hpp" />
<ClInclude Include="..\..\..\..\src\precompiled.hpp" />
<ClInclude Include="..\..\..\..\src\proxy.hpp" />
<ClInclude Include="..\..\..\..\src\pub.hpp" />
<ClInclude Include="..\..\..\..\src\pull.hpp" />
<ClInclude Include="..\..\..\..\src\push.hpp" />
<ClInclude Include="..\..\..\..\src\radio.hpp" />
<ClInclude Include="..\..\..\..\src\random.hpp" />
<ClInclude Include="..\..\..\..\src\raw_decoder.hpp" />
<ClInclude Include="..\..\..\..\src\raw_encoder.hpp" />
<ClInclude Include="..\..\..\..\src\reaper.hpp" />
<ClInclude Include="..\..\..\..\src\rep.hpp" />
<ClInclude Include="..\..\..\..\src\req.hpp" />
<ClInclude Include="..\..\..\..\src\scatter.hpp" />
<ClInclude Include="..\..\..\..\src\select.hpp" />
<ClInclude Include="..\..\..\..\src\session_base.hpp" />
<ClInclude Include="..\..\..\..\src\signaler.hpp" />
<ClInclude Include="..\..\..\..\src\socket_base.hpp" />
<ClInclude Include="..\..\..\..\src\stdint.hpp" />
<ClInclude Include="..\..\..\..\src\stream_engine.hpp" />
<ClInclude Include="..\..\..\..\src\sub.hpp" />
<ClInclude Include="..\..\..\..\src\tcp.hpp" />
<ClInclude Include="..\..\..\..\src\tcp_address.hpp" />
<ClInclude Include="..\..\..\..\src\tcp_connecter.hpp" />
<ClInclude Include="..\..\..\..\src\tcp_listener.hpp" />
<ClInclude Include="..\..\..\..\src\timers.hpp" />
<ClInclude Include="..\..\..\..\src\thread.hpp" />
<ClInclude Include="..\..\..\..\src\trie.hpp" />
<ClInclude Include="..\..\..\..\src\tweetnacl.h" />
<ClInclude Include="..\..\..\..\src\udp_address.hpp" />
<ClInclude Include="..\..\..\..\src\udp_engine.hpp" />
<ClInclude Include="..\..\..\..\src\v1_decoder.hpp" />
<ClInclude Include="..\..\..\..\src\v1_encoder.hpp" />
<ClInclude Include="..\..\..\..\src\v1_protocol.hpp" />
<ClInclude Include="..\..\..\..\src\windows.hpp" />
<ClInclude Include="..\..\..\..\src\wire.hpp" />
<ClInclude Include="..\..\..\..\src\xpub.hpp" />
<ClInclude Include="..\..\..\..\src\xrep.hpp" />
<ClInclude Include="..\..\..\..\src\xreq.hpp" />
<ClInclude Include="..\..\..\..\src\xsub.hpp" />
<ClInclude Include="..\..\..\..\src\ypipe.hpp" />
<ClInclude Include="..\..\..\..\src\yqueue.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\address.cpp" />
<ClCompile Include="..\..\..\..\src\client.cpp" />
<ClCompile Include="..\..\..\..\src\clock.cpp" />
<ClCompile Include="..\..\..\..\src\ctx.cpp" />
<ClCompile Include="..\..\..\..\src\curve_client.cpp" />
<ClCompile Include="..\..\..\..\src\curve_mechanism_base.cpp" />
<ClCompile Include="..\..\..\..\src\curve_server.cpp" />
<ClCompile Include="..\..\..\..\src\dealer.cpp" />
<ClCompile Include="..\..\..\..\src\decoder_allocators.cpp" />
<ClCompile Include="..\..\..\..\src\devpoll.cpp" />
<ClCompile Include="..\..\..\..\src\dgram.cpp" />
<ClCompile Include="..\..\..\..\src\dish.cpp" />
<ClCompile Include="..\..\..\..\src\dist.cpp" />
<ClCompile Include="..\..\..\..\src\epoll.cpp" />
<ClCompile Include="..\..\..\..\src\err.cpp" />
<ClCompile Include="..\..\..\..\src\fq.cpp" />
<ClCompile Include="..\..\..\..\src\gather.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_client.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_mechanism_base.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_server.cpp" />
<ClCompile Include="..\..\..\..\src\io_object.cpp" />
<ClCompile Include="..\..\..\..\src\io_thread.cpp" />
<ClCompile Include="..\..\..\..\src\ip.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_address.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_connecter.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_listener.cpp" />
<ClCompile Include="..\..\..\..\src\kqueue.cpp" />
<ClCompile Include="..\..\..\..\src\lb.cpp" />
<ClCompile Include="..\..\..\..\src\mailbox.cpp" />
<ClCompile Include="..\..\..\..\src\mailbox_safe.cpp" />
<ClCompile Include="..\..\..\..\src\mechanism.cpp" />
<ClCompile Include="..\..\..\..\src\mechanism_base.cpp" />
<ClCompile Include="..\..\..\..\src\metadata.cpp" />
<ClCompile Include="..\..\..\..\src\msg.cpp" />
<ClCompile Include="..\..\..\..\src\mtrie.cpp" />
<ClCompile Include="..\..\..\..\src\null_mechanism.cpp" />
<ClCompile Include="..\..\..\..\src\object.cpp" />
<ClCompile Include="..\..\..\..\src\options.cpp" />
<ClCompile Include="..\..\..\..\src\own.cpp" />
<ClCompile Include="..\..\..\..\src\pair.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_receiver.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_sender.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_socket.cpp" />
<ClCompile Include="..\..\..\..\src\pipe.cpp" />
<ClCompile Include="..\..\..\..\src\plain_client.cpp" />
<ClCompile Include="..\..\..\..\src\plain_server.cpp" />
<ClCompile Include="..\..\..\..\src\poll.cpp" />
<ClCompile Include="..\..\..\..\src\poller_base.cpp" />
<ClCompile Include="..\..\..\..\src\precompiled.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\..\..\..\src\proxy.cpp" />
<ClCompile Include="..\..\..\..\src\pub.cpp" />
<ClCompile Include="..\..\..\..\src\pull.cpp" />
<ClCompile Include="..\..\..\..\src\push.cpp" />
<ClCompile Include="..\..\..\..\src\radio.cpp" />
<ClCompile Include="..\..\..\..\src\random.cpp" />
<ClCompile Include="..\..\..\..\src\raw_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\raw_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\reaper.cpp" />
<ClCompile Include="..\..\..\..\src\rep.cpp" />
<ClCompile Include="..\..\..\..\src\req.cpp" />
<ClCompile Include="..\..\..\..\src\router.cpp" />
<ClCompile Include="..\..\..\..\src\scatter.cpp" />
<ClCompile Include="..\..\..\..\src\select.cpp" />
<ClCompile Include="..\..\..\..\src\server.cpp" />
<ClCompile Include="..\..\..\..\src\session_base.cpp" />
<ClCompile Include="..\..\..\..\src\signaler.cpp" />
<ClCompile Include="..\..\..\..\src\socket_base.cpp" />
<ClCompile Include="..\..\..\..\src\socket_poller.cpp" />
<ClCompile Include="..\..\..\..\src\socks.cpp" />
<ClCompile Include="..\..\..\..\src\socks_connecter.cpp" />
<ClCompile Include="..\..\..\..\src\stream.cpp" />
<ClCompile Include="..\..\..\..\src\stream_engine.cpp" />
<ClCompile Include="..\..\..\..\src\sub.cpp" />
<ClCompile Include="..\..\..\..\src\tcp.cpp" />
<ClCompile Include="..\..\..\..\src\tcp_address.cpp" />
<ClCompile Include="..\..\..\..\src\tcp_connecter.cpp" />
<ClCompile Include="..\..\..\..\src\tcp_listener.cpp" />
<ClCompile Include="..\..\..\..\src\thread.cpp" />
<ClCompile Include="..\..\..\..\src\timers.cpp" />
<ClCompile Include="..\..\..\..\src\trie.cpp" />
<ClCompile Include="..\..\..\..\src\tweetnacl.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\..\..\..\src\udp_address.cpp" />
<ClCompile Include="..\..\..\..\src\udp_engine.cpp" />
<ClCompile Include="..\..\..\..\src\v1_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\v1_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\v2_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\v2_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\xpub.cpp" />
<ClCompile Include="..\..\..\..\src\xsub.cpp" />
<ClCompile Include="..\..\..\..\src\zap_client.cpp" />
<ClCompile Include="..\..\..\..\src\zmq.cpp" />
<ClCompile Include="..\..\..\..\src\zmq_utils.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\packaging\nuget\package.bat" />
<None Include="..\..\..\..\packaging\nuget\package.config" />
<None Include="..\..\..\..\packaging\nuget\package.gsl" />
<None Include="..\..\..\..\packaging\nuget\package.nuspec" />
<None Include="..\..\..\..\packaging\nuget\package.targets" />
</ItemGroup>
<ItemGroup>
<Xml Include="..\..\..\..\packaging\nuget\package.xml" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\resource.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@@ -0,0 +1,627 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\..\..\src\address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\clock.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ctx.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dealer.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\devpoll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dgram.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dist.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\epoll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\err.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\fq.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\io_object.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\io_thread.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ip.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_listener.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\kqueue.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\lb.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mailbox.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mechanism.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\metadata.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\msg.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mtrie.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\null_mechanism.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\object.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\options.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\own.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pair.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_receiver.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_sender.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_socket.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pipe.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\plain_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\plain_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\poll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\poller_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\proxy.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pull.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\push.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\random.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\raw_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\raw_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\reaper.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\rep.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\req.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\router.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\scatter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\select.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\session_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\signaler.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socket_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\stream.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\stream_engine.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\sub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_listener.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\thread.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\trie.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v1_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v1_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v2_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v2_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\xpub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\xsub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\zmq.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\zmq_utils.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\precompiled.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\curve_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\curve_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gather.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_mechanism_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socks.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socks_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mailbox_safe.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\decoder_allocators.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socket_poller.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\udp_address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\udp_engine.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dish.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\radio.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\timers.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tweetnacl.c">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\include\zmq.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\array.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\atomic_counter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\atomic_ptr.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\blob.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\clock.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\command.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\config.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ctx.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\devpoll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\dgram.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\dist.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\epoll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\err.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\fd.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\fq.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\i_engine.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\i_poll_events.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\io_object.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\io_thread.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ip.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_listener.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\kqueue.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\lb.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\likely.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mailbox.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\msg.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mtrie.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mutex.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\object.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\options.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\own.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pair.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_receiver.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\yqueue.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ypipe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xsub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xreq.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xrep.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xpub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\wire.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\windows.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_protocol.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\trie.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\thread.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_listener.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\sub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\stream_engine.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\stdint.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socket_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\signaler.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\session_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\scatter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\select.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\req.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\rep.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\reaper.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\raw_encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\raw_decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\random.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\push.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pull.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\proxy.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\precompiled.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poller_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poller.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\platform.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pipe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_socket.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_sender.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\resource.h">
<Filter>resource</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\curve_client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\curve_server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gather.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_mechanism_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socks.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socks_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mailbox_safe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\condition_variable.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\decoder_allocators.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\udp_address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\udp_engine.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\dish.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\radio.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\timers.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tweetnacl.h">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\zmq_draft.h">
<Filter>src\include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="include">
<UniqueIdentifier>{f7e88c6c-e408-4631-959c-fe3568656d70}</UniqueIdentifier>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{35f0c644-e1d8-4a46-bb33-06bb8b645fff}</UniqueIdentifier>
</Filter>
<Filter Include="src\include">
<UniqueIdentifier>{90853975-3420-4f06-8be4-4ab3d9792160}</UniqueIdentifier>
</Filter>
<Filter Include="packaging">
<UniqueIdentifier>{f5e26e9d-c33d-45c1-95e4-0732acd28b59}</UniqueIdentifier>
</Filter>
<Filter Include="resource">
<UniqueIdentifier>{e66010e4-a9ea-4e2e-8bc6-12fec14bb009}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\packaging\nuget\package.bat">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.config">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.gsl">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.targets">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.nuspec">
<Filter>packaging</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Xml Include="..\..\..\..\packaging\nuget\package.xml">
<Filter>packaging</Filter>
</Xml>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\resource.rc">
<Filter>resource</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libzmq-uiextension" PageTemplate="tool" DisplayName="ZMQ Options" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="tweet" DisplayName="tweet" />
<Category Name="sodium" DisplayName="sodium" />
<Category Name="openpgm" DisplayName="openpgm" />
<Category Name="gssapi" DisplayName="gssapi" />
<Category Name="draftapi" DisplayName="draftapi" />
<Category Name="usepoll" DisplayName="usepoll" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Option-tweet" DisplayName="Enable Tweet NaCl" Description="Enable Tweet NaCl build option (overrides Sodium)" Category="tweet">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-sodium" DisplayName="Enable Sodium" Description="Enable Sodium build option" Category="sodium">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-openpgm" DisplayName="Enable OpenPGM" Description="Enable OpenPGM build option" Category="openpgm">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-gssapi" DisplayName="Enable GSS API" Description="Enable GSS API build option" Category="gssapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-draftapi" DisplayName="Enable Draft API" Description="Enable Draft API build option" Category="draftapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-usepoll" DisplayName="Enable poll() usage (Vista+ only)" Description="Use poll() instead of select() for waiting on incoming data. Increases performance, but the binary will only run on Windows Vista or later." Category="usepoll">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

Some files were not shown because too many files have changed in this diff Show More