0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-01 10:50:28 +08:00

200 Commits

Author SHA1 Message Date
evoskuil
bce1cf96d9 Problem: vc common props have platform specific conditions. 2016-05-12 03:36:39 -07:00
evoskuil
a3c3bcfe4a Problem: visual c++ invalid ToolsVersion warnings. 2016-05-12 03:31:52 -07:00
evoskuil
9cb7077e3d Problem: inconsistent msvc property sheet display name (vs2012). 2016-05-12 03:15:16 -07:00
evoskuil
b5342bc008 Problem: no tool for maintainers to build all vs solutions. 2016-05-12 03:14:37 -07:00
Doron Somech
fcc80d4ffb add draft option to windows configure 2016-05-03 10:18:46 +03:00
Aaron Linville
a57fd70844 Fix issue with unresolved external symbols for the gather and scatter classes by adding them to the MSVC 2010, 2012, 2013 and 2015 projects. 2016-04-22 19:26:55 -04:00
Matt Powley
f2018ab317 Fixes for Windows XP compatibility
A Visual Studio build from master (commit id: dac5b45dfb224ff184a7aed39c5859ae5bac3803) using the v140_xp toolset yields a binary that is not XP compatible.

Two libraries contain exports that cannot be found:
 -  IPHLPAPI.DLL : if_nametoindex
 - KERNEL32.DLL : InitializeConditionVariable

The latter export is already dealt with in the file './src/condition_variable.hpp'; however this requires setting the _WIN32_WINNT pre-processor definition.
I am not experienced enough to figure a work around for the 'if_nametoindex' method, so I have created a new pre-processor definition 'ZMQ_HAVE_WINDOWS_TARGET_XP' and removed the calling of the function with the limitation that these builds cannot handle a IPv6 address with an adapter name.

To make it easier for people targeting XP with an MSVC build I have modified the MSBuild property file to add/modify the pre-processor definitions if they are building using a XP targeting tool set; such as v140_xp.
2016-03-31 15:45:00 +01:00
Matt Powley
260860dea1 Add .gitignore for Visual Studio builds in the 'builds/msvc' folder
* Added a new .gitignore file for excluding Visual Studio build output any popular plug-in generated content. (This was copied from the GitHub project https://github.com/github/gitignore).
* Removed the basic ignore settings from the root folder in favour of more precision within the subfolder's .gitignore file
* Added the new VC compiler's experimental Intellisense database file
2016-03-31 14:51:36 +01:00
Matt Powley
0e405a5a77 Use vs2015 MSBuild property sheets in older projects
All the older (vs2010 -> vs2013) projects had copies of the Visual Studio 2015 MSBuild applied to them when running the 'configure.bat' batch file. Any modifications to a property sheet was not applied to the other Visual Studio versions' projects unless the batch file was re-executed.

* Modified the older projects to reference the Visual Studio 2015 property sheets so changes are immediately applied
* Removed the batch file copy steps (which left the repository very dirty after execution)
2016-03-31 14:51:23 +01:00
Pieter Hintjens
396237f871 Problem: MSVC builds instructions aren't entirely clear
Solution: update them.
2016-03-30 14:19:20 +02:00
Osiris
a6392b9e74 Problem: Windows PDB not created for RELEASE targets
Solution: Modified projects to create PDB file for RELEASE targets
	- also spread precompiled settings to all DevStudio solution versions

This change affects Windows builds only
2016-03-11 14:48:30 -06:00
Pieter Hintjens
0916c17b3a Merge pull request #1842 from opedroso/PRECOMPILED
Problem: Windows Build not using precompiled headers for all targets
2016-03-05 12:59:51 +02:00
Osiris
224c0670ee Problem: Windows Build not using precompiled headers for all targets
Solution: Enabled precompiled header settings in all targets
Before build time: ~6min 49 secs
Stop  Time: Fri 03/04/2016  8:29:50.13
Start Time: Fri 03/04/2016  8:23:00.28

After build time: ~4min 19 secs
Stop  Time: Fri 03/04/2016 12:12:10.24
Start Time: Fri 03/04/2016 12:07:51.78
2016-03-05 04:47:08 -06:00
Osiris
09d003aac0 Problem: Added "make clean" to Windows build scripts
Solution: Added ability to do equivalent of a "make clean" by executing:

O:\git\libzmq\builds\msvc\build>buildall.bat clean
Start Time: Fri 03/04/2016 14:33:56.50
Cleaning without libsodium
Cleaning ..\vs2013\libzmq.sln... ()
Platform=x86
Configuration=DynDebug
Configuration=DynRelease
Configuration=LtcgDebug
Configuration=LtcgRelease
Configuration=StaticDebug
Configuration=StaticRelease
Platform=x64
Configuration=DynDebug
Configuration=DynRelease
Configuration=LtcgDebug
Configuration=LtcgRelease
Configuration=StaticDebug
Configuration=StaticRelease
Cleaning complete: ..\vs2013\libzmq.sln

Stop  Time: Fri 03/04/2016 14:34:01.84
Start Time: Fri 03/04/2016 14:33:56.50

A clean takes ~5 secs to complete.
2016-03-05 04:37:01 -06:00
Luca Boccassi
f3686e34ff Problem: make dist broken due to builds/msvc
Solution: change builds/msvc/Makefile.am to reference vcxproj files
instead of props files.
2016-02-22 11:58:36 +00:00
Osiris
b3d5fa63a0 Problem: Several problems found by Coverity Static Analyzer
Solution: The Coverity Static Code Analyzer was used on libzmq code and found
many issues with uninitialized member variables, some redefinition of variables
hidding previous instances of same variable name and a couple of functions
where return values were not checked, even though all other occurrences were
checked (e.g. init_size() return).
2016-02-21 15:49:47 -06:00
Osiris
79538ed651 Problem: Windows build not using precompiled header
Solution: Phase II - made compile using precompiled header
2016-02-18 11:35:35 -06:00
Osiris
80024eca8c Problem: Windows build script requires edit for DevStudio version
Solution: Use CMD.EXE environment variable to extract DevStudio version
number and build using it. This even supports machines with multiple
DevStudio versions installed, as long as the build for each version is
done on a separate window with the correct environment.
If multiple version builds are desired from a single CMD.EXE, edit the
buildall.bat file to uncomment the build statements for each specific
version desired.
2016-02-17 09:42:53 -06:00
Pieter Hintjens
e0f02bdfb8 Problem: libzmq uses different build.bat style than zproject
Solution: at least for vs2015, add vs2015/build.bat to work the
same was as zproject.
2016-02-07 10:36:17 +01:00
Pieter Hintjens
0d7e7bfac0 Problem: MSVC project filters were out of date
Solution: update (with correct one from VS2015)
2016-02-06 14:12:43 +01:00
Pieter Hintjens
86aa7bb1bc Problem: commit a464eec7 really broke VS2015 builds
Took me over 8 hours to track down the cause of bizarre link
errors when building with libsodium. The VS project files are
not simple things.

Note to self and other maintainers: when someone is obviously
out of their depth, do not merge their changes to build scripts
without cynical appraisal.

Solution: undo the damage.
2016-02-05 00:25:59 +01:00
Pieter Hintjens
31d181effb Problem: MSVC build does not detect libsodium
Caused by error in last commit which used HAVE_LIBSODIUM instead
of HAVE_SODIUM.

Solution: use HAVE_LIBSODIUM as we do in other configure scripts.

The project is called 'libsodium' and not 'sodium'.
2016-02-03 23:45:01 +01:00
Pieter Hintjens
6a9af8ed62 Problem: can't build without libsodium from command line (MSVC)
There is an option to enable/disable libsodium via the Visual Studio
UI. This is not practical for command-line usage (via msbuild).

Solution: add configure.bat that searches for libsodium in sibling
directory to libzmq; if it finds it, defines HAVE_LIBSODIUM 1.

This is consistent with zproject, which has the same problem and
is getting the same solution for all dependency resolution on
Windows.

Note that this approach also provides a way to support tweetnacl
via a configure option.

Also, removed duplicate props files and re-copy in configure.bat
as it was an insane nightmare to update these by hand. (and not
clear that they were identical. Now it's forced.)
2016-02-03 22:44:06 +01:00
Pieter Hintjens
d218e03884 Problem: project files have tool version in two places
Leading to extra work when copying between versions of VS.

Solution: remove second unnecessary definition.
2016-02-02 22:49:15 +01:00
Pieter Hintjens
4ce9c7c742 Problem: does not build on VS2015
Solution: add missing project files

(Also, updated FD_SETSIZE to 16K as a bonus.)
2016-02-02 22:31:18 +01:00
Pieter Hintjens
b92055fa56 Problem: not building on VS2015
Solution: fixed project files, and warning in timers.cpp
2016-02-02 22:05:56 +01:00
Pieter Hintjens
6f94af8cca Problem: various errors in build scripts
- zmq_utils.h was removed
- udp_address.cpp and udp_engine.cpp were added

Solution: patch all affected build scripts
2016-02-01 11:18:08 +01:00
sunkin351
9b01ae826e Restoring zmq_utils.h from previous version
I hope restoring this from a previous version doesn't do any damage, it
is missing in the current version of this repository and is vital for
the lib to compile anywhere.
2016-01-31 20:19:04 -08:00
sunkin351
a464eec7df Added "udp_address" and "udp_engine" to enable windows build
Altered VS2015 files to enable building of the library.
2016-01-31 17:54:31 -08:00
Pieter Hintjens
2ae4c55bf5 Problem: radio/dish class broke Windows builds
Solution: add these new classes to MSVC project files
2016-01-29 11:07:21 +01:00
Constantin Rack
a539b0c6e8 Problem: copyright year is still 2015
Solution: update to 2016
2016-01-28 15:07:31 +01:00
Pieter Hintjens
6bb0cc1fd5 Problem: still one error in vcxproj files
Solution: fix and try again.

(We could start to think of using zproject to generate these build
scripts as the only difference is C/C++)
2015-12-21 18:57:31 +01:00
Pieter Hintjens
137afd5610 Problem: includes timer.cpp/hpp instead of timers.cpp/hpp
Solution: fix it.
2015-12-21 18:36:49 +01:00
Pieter Hintjens
065fbcdc8f Problem: performance tests don't link on Windows/MSVC
Solution: add Iphlpapi.lib to libraries to link against
2015-12-21 13:07:13 +01:00
Pieter Hintjens
6665bffe11 Problem: MSVC projects don't include timers.cpp/hpp
Solution: add these
2015-12-21 11:09:11 +01:00
Pieter Hintjens
627809568b Problem: on Windows, link fails on missing Iphlpapi.lib
Solution: add to project dependencies
2015-12-21 10:52:40 +01:00
roalz
5f5fb5e5ad Added solution and project files to build with Microsoft Visual Studio 2015 2015-11-05 16:08:33 +01:00
ahmet
7c8e65e2cd Added missing socket_poller.cpp file to msvc solutions.
also fixes issue https://github.com/zeromq/libzmq/issues/1624
2015-10-27 14:16:36 +02:00
evoskuil
342c417f9d Add decoder_allocators to VS builds. 2015-07-26 17:37:18 -07:00
Pieter Hintjens
8620c3e032 Problem: source file headers are somewhat confusing about LGPLv3
Of course people still "can" distributed the sources under the
LGPLv3. However we provide COPYING.LESSER with additional grants.

Solution: specify these grants in the header of each source file.
2015-06-02 22:33:55 +02:00
somdoron
c2dcc80602 change minimum version to windows vista and implement dummy condition variable for lower versions 2015-04-26 09:16:01 +03:00
evoskuil
1e27b364a4 Fix default VC rt lib for release dynamic exe. 2015-03-14 05:10:40 -07:00
evoskuil
6630f19686 Apply VS2013 changes to VS2010 and VS2012. 2015-02-13 15:08:17 -08:00
somdoron
bbdd8662ba thread safety - supporting windows 2015-02-12 18:54:23 +02:00
evoskuil
6bf1609a10 Update VS DLL and NuGet versioning to 4.2.0. 2015-02-11 13:23:58 -08:00
evoskuil
91eead1d20 Add client.cpp/hpp and server.cpp/hpp to VS projects. 2015-02-11 13:17:13 -08:00
Dan Mick
c22bcf4f65 Fix builds/msvc/Makefile.am to include all properties files in the build
I attempted to fix up the properties files manifests in the Makefile,
but neglected the end-of-line escape characters.  It was good enough
to pass whatever make dist on Linux did, but I had no Windows build
env to test in.  The broken change was in commit de4a442.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-10-16 14:18:23 -07:00
Dan Mick
de4a442263 builds/msvc/Makefile.am: fix up project file/property file paths
Signed-off-by: Dan Mick <dmick@redhat.com>
2014-10-01 15:53:15 -07:00
Pieter Hintjens
1acc1b1582 Problem: FD_SETSIZE 1024 is too restrictive under Windows
Solution: increased to 4096 by default for all MSVC builds, for MinGW,
and for CMake.

Note: this is a speculative change, it needs confirmation before we
can keep it. Particularly, there is some doubt that changing this in
libzmq will affect upstream applications using libzmq.dll.
2014-08-23 13:59:53 +02:00
evoskuil
f96ebba7c2 Add socks files to VS2010 builds, update VS2012/2010 filters. 2014-07-22 12:02:23 -07:00
evoskuil
126b9d3a2a Remove libsodium VS import props crypt32.lib dependency. 2014-07-22 12:01:15 -07:00
evoskuil
0efd8d9bf3 Update VS filters for socks additions. 2014-07-22 11:21:57 -07:00
Tom Whittock
cb2582b09e vs2012: Add missing socks files 2014-07-07 14:47:39 +01:00
Diego Duclos
a9cb9022fd Add missing socks files 2014-06-29 15:14:54 +02:00
evoskuil
455bba6a15 Refresh VS 2010/2012 projects with recent VS2013 updates. 2014-06-05 12:12:18 -07:00
Dave Meehan
d775b4539f Modified remote_thr project to not copy platform.hpp 2014-06-05 13:07:26 +01:00
Dave Meehan
66ebe31bf5 Modified remote_lat project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
dd95eb96be Modified local_thr project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
06e67ff096 Modified local_lat project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
7b50270142 Modified inproc_thr project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
f5478859b0 Modified inproc_lat project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
649f4b0f24 Modified libzmq project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
evoskuil
f1111ceb0d VS set switch /Z7 in debug static (DebugLIB/DebugLTCG) base props. 2014-06-05 03:28:03 -07:00
evoskuil
cbad7de0ae Whitespace in VS projects. 2014-06-05 03:20:08 -07:00
evoskuil
6af46c39c7 Update VS import props to allow delinking by dependent projects. 2014-06-04 01:26:39 -07:00
evoskuil
4a02604cc2 Reset PDB out path change in base VS props. 2014-06-04 01:25:41 -07:00
Pieter Hintjens
c6e38ec1b7 Merge pull request #1064 from evoskuil/master
cosmetic msvc xml fix
2014-06-03 07:31:53 +02:00
Dave Meehan
451c94af8e Fix for perf/platform.hpp not being cleaned up by distclean 2014-05-31 13:51:41 +01:00
Dave Meehan
ed49057fd7 Added ProgramDataBaseFile directive so that .pdb file goes into same directory as the .lib so that debug builds can find it 2014-05-30 17:47:01 +01:00
evoskuil
d456e70d7d cosmetic msvc xml fix 2014-05-26 21:16:43 -07:00
evoskuil
c0c89a3bc5 Update VS version resource and package version. 2014-05-21 01:35:34 -07:00
evoskuil
0c60256727 Revert change to VS props references because of VS UI limitation. 2014-05-21 00:13:43 -07:00
Pieter Hintjens
c6dec22717 Merge pull request #1030 from evoskuil/master
Simplify VS project configs and harden MSBUILD script
2014-05-13 12:31:51 +02:00
evoskuil
3aa6c1eab0 Optimize VS projects and common props. 2014-05-13 03:17:48 -07:00
evoskuil
7e7508a8d9 Harden MSBUILD base script against various VS installations. 2014-05-13 03:17:34 -07:00
Pieter Hintjens
09b17c13c2 Merge pull request #1029 from olafmandel/master
Update cmake, mingw32 and msvc builds
2014-05-12 14:50:34 +02:00
Olaf Mandel
c5cca55c78 Update build files to include metadata
This became necessary after b9c274814
2014-05-12 13:19:12 +02:00
Olaf Mandel
d58dfa4944 Update build files after plain_mechanism split
This became necessary after 22d6a9740
2014-05-12 13:00:27 +02:00
evoskuil
bf169024b3 Batched VS builds. 2014-05-12 02:17:08 -07:00
evoskuil
5ab44f4874 Ignore error on concurrent file copy in parallel VS builds. 2014-05-12 02:13:47 -07:00
evoskuil
249a59a519 Updated libsodium imports. 2014-05-12 02:12:27 -07:00
evoskuil
4e5921b7ab Update VS 2008/10/12/13 file distribution. 2014-05-06 15:26:27 -07:00
evoskuil
033040f7e0 Integrate GSSAPI option in VS UI options and props. 2014-05-06 15:23:32 -07:00
evoskuil
17735a4e6b Rename VS version resource file. 2014-05-06 15:21:29 -07:00
evoskuil
b0b6dd4043 Consolidate VS props to shared location. 2014-05-06 15:16:37 -07:00
evoskuil
e97bed3727 Add gssapi files to msvc project. 2014-04-25 00:46:44 -07:00
evoskuil
1ee980c191 Update filter file tool versions. 2014-04-15 01:43:24 -07:00
evoskuil
5a76db6f27 Merge branch 'zeromq/master'
Conflicts:
	builds/msvc/vs2010/inproc_lat/inproc_lat.props
	builds/msvc/vs2010/inproc_thr/inproc_thr.props
	builds/msvc/vs2010/libsodium.import.props
	builds/msvc/vs2010/libzmq.import.props
	builds/msvc/vs2010/libzmq/libzmq.props
	builds/msvc/vs2010/local_lat/local_lat.props
	builds/msvc/vs2010/local_thr/local_thr.props
	builds/msvc/vs2010/properties/Common.props
	builds/msvc/vs2010/properties/Console.props
	builds/msvc/vs2010/properties/ConsoleDebugDynamic.props
	builds/msvc/vs2010/properties/ConsoleDebugLinkTimeCodeGeneration.props
	builds/msvc/vs2010/properties/ConsoleDebugStatic.props
	builds/msvc/vs2010/properties/ConsoleReleaseDynamic.props
	builds/msvc/vs2010/properties/ConsoleReleaseLinkTimeCodeGeneration.props
	builds/msvc/vs2010/properties/ConsoleReleaseStatic.props
	builds/msvc/vs2010/properties/Debug.props
	builds/msvc/vs2010/properties/Dynamic.props
	builds/msvc/vs2010/properties/DynamicDebug.props
	builds/msvc/vs2010/properties/DynamicRelease.props
	builds/msvc/vs2010/properties/LinkTimeCodeGeneration.props
	builds/msvc/vs2010/properties/Release.props
	builds/msvc/vs2010/properties/Static.props
	builds/msvc/vs2010/properties/StaticDebug.props
	builds/msvc/vs2010/properties/StaticDebugLinkTimeCodeGeneration.props
	builds/msvc/vs2010/properties/StaticLinkTimeCodeGeneration.props
	builds/msvc/vs2010/properties/StaticRelease.props
	builds/msvc/vs2010/properties/StaticReleaseLinkTimeCodeGeneration.props
	builds/msvc/vs2010/properties/Win32.props
	builds/msvc/vs2010/properties/x64.props
	builds/msvc/vs2010/remote_lat/remote_lat.props
	builds/msvc/vs2010/remote_thr/remote_thr.props
2014-04-14 23:47:55 -07:00
evoskuil
d03a1b0d5b Fix platform tools versioning on project files. 2014-04-14 19:19:30 -07:00
evoskuil
bd45b74dd3 Remove versioning from VS .props files. 2014-04-14 19:18:36 -07:00
Hugh Powell
213d111def Reference default locations for libsodium for VS2010 2014-04-14 20:13:39 +01:00
Hugh Powell
6cb742c7bb Change ToolsVersion to 4.0 for VS2010 2014-04-14 20:01:47 +01:00
evoskuil
51be440a28 Update VS build configurations. 2014-04-09 03:27:27 -07:00
evoskuil
34f4851c23 Incorporate libsodium option and linkage, generalize, update packaging. 2014-04-07 19:38:59 -07:00
evoskuil
e01801f5b9 Rationalize and update Visual Studio projects and packaging. 2014-04-06 02:39:15 -07:00
evoskuil
5d0701d71d Add executable projects to VS2013 solution. 2014-04-04 01:17:25 -07:00
evoskuil
2ad6469cb2 Modify MSVC link incremental setting for deconfliction with LTCG flag. 2014-04-04 01:15:51 -07:00
evoskuil
441fdd7cb6 Typo. 2014-03-30 03:26:22 -07:00
evoskuil
c044f73bb7 Add nuget package generation and GUI selection of OpenPGM option. 2014-03-30 02:38:20 -07:00
evoskuil
86ef40d171 Reorganize and clean up visual studio build configurations. 2014-03-29 23:13:00 -07:00