Include an LLVM-vs2012_xp toolset in the MSBuild integration
authorReid Kleckner <reid@kleckner.net>
Thu, 19 Sep 2013 16:50:40 +0000 (16:50 +0000)
committerReid Kleckner <reid@kleckner.net>
Thu, 19 Sep 2013 16:50:40 +0000 (16:50 +0000)
Patch by Paul Hampson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191010 91177308-0d34-0410-b5e6-96231b3b80d8

tools/msbuild/CMakeLists.txt
tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets [new file with mode: 0644]
tools/msbuild/install.bat
tools/msbuild/uninstall.bat

index 860ed22526c1a543665b255e3c6a8469ad49da2c..8de3b8815445fa7d1d63ddb497ce41ff5b3d5a02 100644 (file)
@@ -2,6 +2,7 @@ if (WIN32)
   set(prop_file_in "Microsoft.Cpp.Win32.llvm.props.in")
   set(prop_file_v100 "Microsoft.Cpp.Win32.LLVM-vs2010.props")
   set(prop_file_v110 "Microsoft.Cpp.Win32.LLVM-vs2012.props")
+  set(prop_file_v110_xp "Microsoft.Cpp.Win32.LLVM-vs2012_xp.props")
 
   # CPack will install a registry key in this format that we wish to reference.
   set(REG_KEY "${CMAKE_PROJECT_NAME} ${CPACK_PACKAGE_VERSION}")
@@ -10,11 +11,14 @@ if (WIN32)
   configure_file(${prop_file_in} ${prop_file_v100})
   set(VS_VERSION "v110")
   configure_file(${prop_file_in} ${prop_file_v110})
+  set(VS_VERSION "v110_xp")
+  configure_file(${prop_file_in} ${prop_file_v110_xp})
 
   set(REG_KEY)
   set(VS_VERSION)
   install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${prop_file_v100}" DESTINATION tools/msbuild)
   install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${prop_file_v110}" DESTINATION tools/msbuild)
+  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${prop_file_v110_xp}" DESTINATION tools/msbuild)
 
   install(DIRECTORY .
     DESTINATION tools/msbuild
diff --git a/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets b/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets
new file mode 100644 (file)
index 0000000..e8250d8
--- /dev/null
@@ -0,0 +1,21 @@
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <!-- Force TargetFrameworkVersion to v4.0 to support XP-->
+  <PropertyGroup>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <BeforeClCompileTargets>NoSupportCodeAnalysisXP;$(BeforeClCompileTargets)</BeforeClCompileTargets>
+  </PropertyGroup>
+
+  <Import Project="$(VCTargetsPath)\Microsoft.CppCommon.targets" />
+
+  <Target Name="NoSupportCodeAnalysisXP" Condition="'$(ErrorNoSupportCodeAnalysisXP)' != 'false'">
+    <VCMessage Condition="'$(DesignTimeBuild)' != 'true' and '@(ClCompile->AnyHaveMetadataValue('EnablePREfast', 'true'))'=='true'" Code="MSB8026" Type="Error"/>
+  </Target>
+
+  <PropertyGroup>
+    <PrepareForBuildDependsOn>CheckWindowsSDK71A;$(PrepareForBuildDependsOn)</PrepareForBuildDependsOn>
+  </PropertyGroup>
+
+  <Target Name="CheckWindowsSDK71A">
+    <VCMessage Code="MSB8003" Type="Warning" Arguments="WindowsSdkDir_71A" Condition="'$(WindowsSdkDir_71A)'=='' and '$(UseEnv)' != 'true'" />
+  </Target>
+</Project>
index 2d5af629afff6d6192f4ac51c92d78c31bd2155e..2b66a6c01ae3d42b8ee19e632a00c25be470abfe 100644 (file)
@@ -39,6 +39,12 @@ copy Microsoft.Cpp.Win32.LLVM-vs2012.props %D%\LLVM-vs2012
 IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
 copy Microsoft.Cpp.Win32.LLVM-vs2012.targets %D%\LLVM-vs2012\r
 IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+IF NOT EXIST %D%\LLVM-vs2012_xp mkdir %D%\LLVM-vs2012_xp\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+copy Microsoft.Cpp.Win32.LLVM-vs2012_xp.props %D%\LLVM-vs2012_xp\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+copy Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets %D%\LLVM-vs2012_xp\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
 echo Done!\r
 goto END\r
 \r
index c6972397e73885ded4ef71b904da13dbe333f51f..f1f5619a774fc37845d0da7e7b67d6c76bba4172 100644 (file)
@@ -19,10 +19,16 @@ SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformTo
 IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.props\r
 IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.targets\r
 IF EXIST %D%\LLVM-vs2012 rmdir %D%\LLVM-vs2012\r
+IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.Win32.LLVM-vs2012_xp.props\r
+IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets\r
+IF EXIST %D%\LLVM-vs2012_xp rmdir %D%\LLVM-vs2012_xp\r
 \r
 SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets"\r
 IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.props\r
 IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.targets\r
 IF EXIST %D%\LLVM-vs2012 rmdir %D%\LLVM-vs2012\r
+IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.Win32.LLVM-vs2012_xp.props\r
+IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets\r
+IF EXIST %D%\LLVM-vs2012_xp rmdir %D%\LLVM-vs2012_xp\r
 \r
 echo Done!\r