Просмотр исходного кода

VS projects: optimizations, fixes, used macros for paths.

Evgeny Grin (Karlson2k) 10 лет назад
Родитель
Сommit
b86799bfad

+ 2 - 1
Makefile.am

@@ -4,7 +4,8 @@ SUBDIRS = contrib src m4 .
 EXTRA_DIST = acinclude.m4 libmicrohttpd.pc.in \
   w32/VS2013/libmicrohttpd.sln w32/VS2013/libmicrohttpd.vcxproj w32/VS2013/libmicrohttpd.vcxproj.filters \
   w32/VS2013/hellobrowser.vcxproj w32/VS2013/hellobrowser.vcxproj.filters w32/VS2013/MHD_config.h \
-  w32/VS2013/gen_dll_res.ps1 w32/VS2013/microhttpd_dll_res_vc.rc.in w32/VS2013/microhttpd_dll_res_vc.rc
+  w32/common/vs_dirs.props \
+  w32/common/gen_dll_res.ps1 w32/common/microhttpd_dll_res_vc.rc.in w32/common/microhttpd_dll_res_vc.rc
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libmicrohttpd.pc 

+ 1 - 1
configure.ac

@@ -875,7 +875,7 @@ AC_SUBST(LDFLAGS)
 
 AC_CONFIG_FILES([
 libmicrohttpd.pc
-w32/VS2013/microhttpd_dll_res_vc.rc
+w32/common/microhttpd_dll_res_vc.rc
 Makefile
 contrib/Makefile
 doc/Makefile

+ 2 - 0
w32/.gitignore

@@ -9,3 +9,5 @@
 *.log
 *.tlog
 *.idb
+*.rc
+.vs

+ 5 - 4
w32/VS2013/hellobrowser.vcxproj

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(SolutionDir)..\common\vs_dirs.props" />
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug-dll|Win32">
       <Configuration>Debug-dll</Configuration>
@@ -35,7 +36,7 @@
     </ProjectConfiguration>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\doc\examples\hellobrowser.c" />
+    <ClCompile Include="$(MhdRoot)doc\examples\hellobrowser.c" />
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{310F39BD-A2D6-44FF-8344-37ADD0524CBD}</ProjectGuid>
@@ -77,15 +78,15 @@
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
-    <IncludePath>$(SolutionDir)..\..\src\include;$(SolutionDir);$(IncludePath)</IncludePath>
+    <IncludePath>$(MhdSrc)include;$(SolutionDir);$(IncludePath)</IncludePath>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Platform)'=='Win32'">
     <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</IntDir>
-    <OutDir>$(SolutionDir)\Output\</OutDir>
+    <OutDir>$(SolutionDir)Output\</OutDir>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Platform)'=='x64'">
     <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\$(Platform)\</IntDir>
-    <OutDir>$(SolutionDir)\Output\$(Platform)\</OutDir>
+    <OutDir>$(SolutionDir)Output\$(Platform)\</OutDir>
   </PropertyGroup>
   <PropertyGroup Condition="'$(UseDebugLibraries)'=='true'">
     <LinkIncremental>true</LinkIncremental>

+ 1 - 1
w32/VS2013/hellobrowser.vcxproj.filters

@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\doc\examples\hellobrowser.c">
+    <ClCompile Include="$(MhdRoot)doc\examples\hellobrowser.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>

+ 56 - 71
w32/VS2013/libmicrohttpd.vcxproj

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(SolutionDir)..\common\vs_dirs.props" />
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug-dll-xp|Win32">
       <Configuration>Debug-dll-xp</Configuration>
@@ -67,74 +68,53 @@
     </ProjectConfiguration>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\src\microhttpd\base64.c" />
-    <ClCompile Include="..\..\src\microhttpd\basicauth.c" />
-    <ClCompile Include="..\..\src\microhttpd\connection.c" />
-    <ClCompile Include="..\..\src\microhttpd\daemon.c" />
-    <ClCompile Include="..\..\src\microhttpd\digestauth.c" />
-    <ClCompile Include="..\..\src\microhttpd\internal.c" />
-    <ClCompile Include="..\..\src\microhttpd\md5.c" />
-    <ClCompile Include="..\..\src\microhttpd\memorypool.c" />
-    <ClCompile Include="..\..\src\microhttpd\mhd_mono_clock.c" />
-    <ClCompile Include="..\..\src\microhttpd\postprocessor.c" />
-    <ClCompile Include="..\..\src\microhttpd\reason_phrase.c" />
-    <ClCompile Include="..\..\src\microhttpd\response.c" />
-    <ClCompile Include="..\..\src\microhttpd\tsearch.c" />
-    <ClCompile Include="..\..\src\platform\w32functions.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\base64.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\basicauth.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\connection.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\daemon.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\digestauth.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\internal.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\md5.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\memorypool.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\mhd_mono_clock.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\postprocessor.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\reason_phrase.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\response.c" />
+    <ClCompile Include="$(MhdSrc)microhttpd\tsearch.c" />
+    <ClCompile Include="$(MhdSrc)platform\w32functions.c" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\src\include\autoinit_funcs.h" />
-    <ClInclude Include="..\..\src\include\microhttpd.h" />
-    <ClInclude Include="..\..\src\include\platform.h" />
-    <ClInclude Include="..\..\src\include\platform_interface.h" />
-    <ClInclude Include="..\..\src\include\w32functions.h" />
-    <ClInclude Include="..\..\src\microhttpd\base64.h" />
-    <ClInclude Include="..\..\src\microhttpd\connection.h" />
-    <ClInclude Include="..\..\src\microhttpd\internal.h" />
-    <ClInclude Include="..\..\src\microhttpd\md5.h" />
-    <ClInclude Include="..\..\src\microhttpd\memorypool.h" />
-    <ClInclude Include="..\..\src\microhttpd\mhd_byteorder.h" />
-    <ClInclude Include="..\..\src\microhttpd\mhd_limits.h" />
-    <ClInclude Include="..\..\src\microhttpd\mhd_mono_clock.h" />
-    <ClInclude Include="..\..\src\microhttpd\response.h" />
-    <ClInclude Include="..\..\src\microhttpd\tsearch.h" />
+    <ClInclude Include="$(MhdSrc)include\autoinit_funcs.h" />
+    <ClInclude Include="$(MhdSrc)include\microhttpd.h" />
+    <ClInclude Include="$(MhdSrc)include\platform.h" />
+    <ClInclude Include="$(MhdSrc)include\platform_interface.h" />
+    <ClInclude Include="$(MhdSrc)include\w32functions.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\base64.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\connection.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\internal.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\md5.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\memorypool.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\mhd_byteorder.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\mhd_limits.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\mhd_mono_clock.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\response.h" />
+    <ClInclude Include="$(MhdSrc)microhttpd\tsearch.h" />
     <ClInclude Include="MHD_config.h" />
   </ItemGroup>
   <ItemGroup>
-    <ResourceCompile Include="microhttpd_dll_res_vc.rc">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static-xp|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static-xp|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static-xp|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static-xp|x64'">true</ExcludedFromBuild>
+    <ResourceCompile Include="$(MhdW32Common)microhttpd_dll_res_vc.rc">
+      <ExcludedFromBuild Condition="'$(ConfigurationType)'=='StaticLibrary'">true</ExcludedFromBuild>
     </ResourceCompile>
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="microhttpd_dll_res_vc.rc.in">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static-xp|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static-xp|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static-xp|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static-xp|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-dll-xp|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-dll-xp|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-dll-xp|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-dll-xp|x64'">false</ExcludedFromBuild>
+    <CustomBuild Include="$(MhdW32Common)microhttpd_dll_res_vc.rc.in">
+      <ExcludedFromBuild Condition="'$(ConfigurationType)'=='StaticLibrary'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(ConfigurationType)'=='DynamicLibrary'">false</ExcludedFromBuild>
       <FileType>Document</FileType>
-      <Command>PowerShell.exe -Version 3.0 -NonInteractive -NoProfile -ExecutionPolicy Bypass -File "$(SolutionDir)gen_dll_res.ps1" -BasePath $(SolutionDir)</Command>
+      <Command>PowerShell.exe -Version 3.0 -NonInteractive -NoProfile -ExecutionPolicy Bypass -File "$(MhdW32Common)gen_dll_res.ps1" -BasePath "$(MhdW32Common)\"</Command>
       <Message>Generating .dll description resource</Message>
-      <Outputs>$(SolutionDir)microhttpd_dll_res_vc.rc</Outputs>
-      <AdditionalInputs>$(SolutionDir)gen_dll_res.ps1;$(SolutionDir).\..\..\configure.ac</AdditionalInputs>
+      <Outputs>$(MhdW32Common)microhttpd_dll_res_vc.rc</Outputs>
+      <AdditionalInputs>$(MhdW32Common)gen_dll_res.ps1;$(MhdRoot)configure.ac</AdditionalInputs>
     </CustomBuild>
   </ItemGroup>
   <PropertyGroup Label="Globals">
@@ -204,20 +184,20 @@
   <PropertyGroup Label="UserMacros">
     <!-- WinXP = 0; Vista = 1; Win7 = 2; Win8 = 3...
          Only 0 and 1 are used currently -->
-    <TargetOSLevel Condition="'$(PlatformToolset)'=='v120_xp'">0</TargetOSLevel>
-    <TargetOSLevel Condition="'$(PlatformToolset)'!='v120_xp'">1</TargetOSLevel>
+    <TargetOSLevel Condition="'$(PlatformToolset)'=='v120_xp' Or '$(PlatformToolset)'=='v140_xp'">0</TargetOSLevel>
+    <TargetOSLevel Condition="'$(PlatformToolset)'!='v120_xp' And '$(PlatformToolset)'!='v140_xp'">1</TargetOSLevel>
   </PropertyGroup>
   <PropertyGroup>
-    <IncludePath>$(SolutionDir)..\..\src\include;$(SolutionDir);$(IncludePath)</IncludePath>
+    <IncludePath>$(MhdSrc)include;$(SolutionDir);$(IncludePath)</IncludePath>
     <CustomBuildBeforeTargets>ResourceCompile</CustomBuildBeforeTargets>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Platform)'=='Win32'">
     <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</IntDir>
-    <OutDir>$(SolutionDir)\Output\</OutDir>
+    <OutDir>$(SolutionDir)Output\</OutDir>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Platform)'=='x64'">
     <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\$(Platform)\</IntDir>
-    <OutDir>$(SolutionDir)\Output\$(Platform)\</OutDir>
+    <OutDir>$(SolutionDir)Output\$(Platform)\</OutDir>
   </PropertyGroup>
   <PropertyGroup Condition="'$(ConfigurationType)'=='StaticLibrary'">
     <TargetName Condition="'$(UseDebugLibraries)'=='true'">$(ProjectName)_d</TargetName>
@@ -243,9 +223,9 @@
     </Link>
     <CustomBuildStep>
       <Message>Copy headers to output</Message>
-      <Command>xcopy /F /I /Y $(SolutionDir)\..\..\src\include\microhttpd.h $(OutputPath)</Command>
+      <Command>xcopy /F /I /Y "$(MhdSrc)include\microhttpd.h" "$(OutputPath)"</Command>
       <Outputs>$(OutputPath)microhttpd.h;%(Outputs)</Outputs>
-      <Inputs>$(SolutionDir)\..\..\src\include\microhttpd.h</Inputs>
+      <Inputs>$(MhdSrc)include\microhttpd.h</Inputs>
     </CustomBuildStep>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(TargetOSLevel)'&gt;'0'">
@@ -261,23 +241,28 @@
       <AdditionalOptions>/SUBSYSTEM:WINDOWS,6.00 %(AdditionalOptions)</AdditionalOptions>
     </Lib>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(TargetOSLevel)'=='0'">
+  <ItemDefinitionGroup Condition="'$(TargetOSLevel)'=='0' And '$(Platform)'=='Win32'">
     <ClCompile>
       <PreprocessorDefinitions>_WIN32_WINNT=0x0501;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link Condition="'$(Platform)'=='Win32'">
+    <Link>
       <MinimumRequiredVersion>5.01</MinimumRequiredVersion>
       <AdditionalOptions>/SUBSYSTEM:WINDOWS,5.01 %(AdditionalOptions)</AdditionalOptions>
     </Link>
-    <Lib Condition="'$(Platform)'=='Win32'">
+    <Lib>
       <MinimumRequiredVersion>5.01</MinimumRequiredVersion>
       <AdditionalOptions>/SUBSYSTEM:WINDOWS,5.01 %(AdditionalOptions)</AdditionalOptions>
     </Lib>
-    <Link Condition="'$(Platform)'=='x64'">
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(TargetOSLevel)'=='0' And '$(Platform)'=='x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>_WIN32_WINNT=0x0502;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
       <MinimumRequiredVersion>5.02</MinimumRequiredVersion>
       <AdditionalOptions>/SUBSYSTEM:WINDOWS,5.02 %(AdditionalOptions)</AdditionalOptions>
     </Link>
-    <Lib Condition="'$(Platform)'=='x64'">
+    <Lib>
       <MinimumRequiredVersion>5.02</MinimumRequiredVersion>
       <AdditionalOptions>/SUBSYSTEM:WINDOWS,5.02 %(AdditionalOptions)</AdditionalOptions>
     </Lib>
@@ -290,7 +275,7 @@
       <AdditionalDependencies>Ws2_32.lib</AdditionalDependencies>
     </Lib>
     <PostBuildEvent>
-      <Command>xcopy /F /I /Y $(IntermediateOutputPath)$(TargetName).pdb $(OutputPath)</Command>
+      <Command>xcopy /F /I /Y "$(IntermediateOutputPath)$(TargetName).pdb" "$(OutputPath)"</Command>
       <Message>Copy .pdb to output directory</Message>
     </PostBuildEvent>
   </ItemDefinitionGroup>

+ 32 - 31
w32/VS2013/libmicrohttpd.vcxproj.filters

@@ -15,6 +15,7 @@
     </Filter>
     <Filter Include="Source Files\platform_interface">
       <UniqueIdentifier>{af799bf7-9787-4134-8e56-9e5aae50c7e3}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
     </Filter>
     <Filter Include="Template Files">
       <UniqueIdentifier>{df5ad836-e372-437b-a0e3-299d3675d6b4}</UniqueIdentifier>
@@ -22,106 +23,106 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\src\microhttpd\base64.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\base64.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\basicauth.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\basicauth.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\connection.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\connection.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\daemon.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\daemon.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\digestauth.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\digestauth.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\internal.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\internal.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\md5.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\md5.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\memorypool.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\memorypool.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\postprocessor.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\postprocessor.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\reason_phrase.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\reason_phrase.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\response.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\response.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\platform\w32functions.c">
+    <ClCompile Include="$(MhdSrc)platform\w32functions.c">
       <Filter>Source Files\platform_interface</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\tsearch.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\tsearch.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\microhttpd\mhd_mono_clock.c">
+    <ClCompile Include="$(MhdSrc)microhttpd\mhd_mono_clock.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\src\microhttpd\base64.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\base64.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\connection.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\connection.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\internal.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\internal.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\md5.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\md5.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\memorypool.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\memorypool.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\response.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\response.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\include\microhttpd.h">
+    <ClInclude Include="$(MhdSrc)include\microhttpd.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\include\platform.h">
+    <ClInclude Include="$(MhdSrc)include\platform.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\include\platform_interface.h">
+    <ClInclude Include="$(MhdSrc)include\platform_interface.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\include\w32functions.h">
+    <ClInclude Include="$(MhdSrc)include\w32functions.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="MHD_config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\tsearch.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\tsearch.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\include\autoinit_funcs.h">
+    <ClInclude Include="$(MhdSrc)include\autoinit_funcs.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\mhd_limits.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\mhd_limits.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\mhd_byteorder.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\mhd_byteorder.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\microhttpd\mhd_mono_clock.h">
+    <ClInclude Include="$(MhdSrc)microhttpd\mhd_mono_clock.h">
       <Filter>Source Files</Filter>
     </ClInclude>
   </ItemGroup>
   <ItemGroup>
-    <ResourceCompile Include="microhttpd_dll_res_vc.rc">
+    <ResourceCompile Include="$(MhdW32Common)microhttpd_dll_res_vc.rc">
       <Filter>Resource Files</Filter>
     </ResourceCompile>
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="microhttpd_dll_res_vc.rc.in">
+    <CustomBuild Include="$(MhdW32Common)microhttpd_dll_res_vc.rc.in">
       <Filter>Template Files</Filter>
     </CustomBuild>
   </ItemGroup>

+ 0 - 0
w32/VS2013/gen_dll_res.ps1 → w32/common/gen_dll_res.ps1


+ 0 - 0
w32/VS2013/microhttpd_dll_res_vc.rc.in → w32/common/microhttpd_dll_res_vc.rc.in


+ 9 - 0
w32/common/vs_dirs.props

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Label="UserMacros">
+    <MhdRoot>$(SolutionDir)..\..\</MhdRoot>
+    <MhdSrc>$(SolutionDir)..\..\src\</MhdSrc>
+    <MhdW32Dir>$(SolutionDir)..\</MhdW32Dir>
+    <MhdW32Common>$(MhdW32Dir)common\</MhdW32Common>
+  </PropertyGroup>
+</Project>