diff options
author | Stuart Webster <sw_webster@hotmail.com> | 2011-12-15 14:03:43 +0100 |
---|---|---|
committer | unknown <sustrik@turist.(none)> | 2011-12-15 14:03:43 +0100 |
commit | 3fb5c11b03119a157db8dc024809943f88f87320 (patch) | |
tree | e3463dbfd8961f6ce9432b801fc6577cec4d500b /builds/msvc/properties | |
parent | a9e03336b020d2e6a83338b111092e65aa812f95 (diff) |
Added MSVC10 solution and project files for Windows
These include configurations for both Win32 and x64 platforms. All project
settings have been normalised in property sheets (the ".props" files under
builds/msvc/properties) to simplify maintenance. Build artefacts are all
generated in platform-specific subfolders of bin, lib and obj directories.
Also enables the use of precompiled headers with MSVC10.
This significantly reduces the time required to compile libzmq with Visual
Studio on Windows. It should have no impact on other platforms.
Signed-off-by: Stuart Webster <sw_webster@hotmail.com>
Diffstat (limited to 'builds/msvc/properties')
-rw-r--r-- | builds/msvc/properties/Common.props | 21 | ||||
-rw-r--r-- | builds/msvc/properties/Debug.props | 19 | ||||
-rw-r--r-- | builds/msvc/properties/Dynamic.props | 20 | ||||
-rw-r--r-- | builds/msvc/properties/Executable.props | 19 | ||||
-rw-r--r-- | builds/msvc/properties/Precompiled.props | 14 | ||||
-rw-r--r-- | builds/msvc/properties/Release.props | 22 | ||||
-rw-r--r-- | builds/msvc/properties/Win32.props | 12 | ||||
-rw-r--r-- | builds/msvc/properties/Win32_Release.props | 17 | ||||
-rw-r--r-- | builds/msvc/properties/WithOpenPGM.props | 12 | ||||
-rw-r--r-- | builds/msvc/properties/ZeroMQ.props | 23 | ||||
-rw-r--r-- | builds/msvc/properties/x64.props | 12 |
11 files changed, 191 insertions, 0 deletions
diff --git a/builds/msvc/properties/Common.props b/builds/msvc/properties/Common.props new file mode 100644 index 0000000..83741bc --- /dev/null +++ b/builds/msvc/properties/Common.props @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>Common Settings</_PropertySheetDisplayName> + <OutDir>$(ProjectDir)../../../bin/$(PlatformName)/</OutDir> + <IntDir>$(ProjectDir)../../../obj/$(PlatformName)/$(Configuration)/$(ProjectName)/</IntDir> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <PreprocessorDefinitions>_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/Debug.props b/builds/msvc/properties/Debug.props new file mode 100644 index 0000000..374802b --- /dev/null +++ b/builds/msvc/properties/Debug.props @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>Debug Configuration</_PropertySheetDisplayName> + <TargetName>$(ProjectName)_d</TargetName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/Dynamic.props b/builds/msvc/properties/Dynamic.props new file mode 100644 index 0000000..f0a4ca2 --- /dev/null +++ b/builds/msvc/properties/Dynamic.props @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets"> + <Import Project="Common.props" /> + </ImportGroup> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>Dynamic Link Library</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <Link> + <AdditionalLibraryDirectories>$(TargetDir)../../lib/$(PlatformName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(TargetDir)../../lib/$(PlatformName)/$(TargetName).lib</ImportLibrary> + </Link> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/Executable.props b/builds/msvc/properties/Executable.props new file mode 100644 index 0000000..932d38a --- /dev/null +++ b/builds/msvc/properties/Executable.props @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets"> + <Import Project="Common.props" /> + </ImportGroup> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>Executable Program</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <Link> + <AdditionalLibraryDirectories>$(TargetDir)../../lib/$(PlatformName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <SubSystem>Console</SubSystem> + </Link> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/Precompiled.props b/builds/msvc/properties/Precompiled.props new file mode 100644 index 0000000..0909cba --- /dev/null +++ b/builds/msvc/properties/Precompiled.props @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>Precompiled Headers</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PrecompiledHeader>Use</PrecompiledHeader> + <PrecompiledHeaderFile>precompiled.hpp</PrecompiledHeaderFile> + <ForcedIncludeFiles>precompiled.hpp</ForcedIncludeFiles> + </ClCompile> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/Release.props b/builds/msvc/properties/Release.props new file mode 100644 index 0000000..559a574 --- /dev/null +++ b/builds/msvc/properties/Release.props @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>Release Configuration</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + <Link> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + </Link> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/Win32.props b/builds/msvc/properties/Win32.props new file mode 100644 index 0000000..f4e3478 --- /dev/null +++ b/builds/msvc/properties/Win32.props @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>Win32 Settings</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/Win32_Release.props b/builds/msvc/properties/Win32_Release.props new file mode 100644 index 0000000..a74183e --- /dev/null +++ b/builds/msvc/properties/Win32_Release.props @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets"> + <Import Project="Win32.props" /> + <Import Project="Release.props" /> + </ImportGroup> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>Release Win32 Settings</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <AdditionalOptions>/Oy- %(AdditionalOptions)</AdditionalOptions> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + </ClCompile> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/WithOpenPGM.props b/builds/msvc/properties/WithOpenPGM.props new file mode 100644 index 0000000..c920f58 --- /dev/null +++ b/builds/msvc/properties/WithOpenPGM.props @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>OpenPGM Settings</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/ZeroMQ.props b/builds/msvc/properties/ZeroMQ.props new file mode 100644 index 0000000..517ca9e --- /dev/null +++ b/builds/msvc/properties/ZeroMQ.props @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets"> + <Import Project="Dynamic.props" /> + <Import Project="Precompiled.props" /> + </ImportGroup> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>ZeroMQ Settings</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <PreBuildEvent> + <Command>copy ..\platform.hpp ..\..\..\src</Command> + </PreBuildEvent> + <ClCompile> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;DLL_EXPORT;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <DisableSpecificWarnings>4355</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalDependencies>Ws2_32.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/builds/msvc/properties/x64.props b/builds/msvc/properties/x64.props new file mode 100644 index 0000000..d50a563 --- /dev/null +++ b/builds/msvc/properties/x64.props @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <_PropertySheetDisplayName>x64 Settings</_PropertySheetDisplayName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file |