[llvm] r213819 - Add a VS "14" msbuild toolset

Reid Kleckner reid at kleckner.net
Wed Jul 23 16:49:16 PDT 2014


Author: rnk
Date: Wed Jul 23 18:49:16 2014
New Revision: 213819

URL: http://llvm.org/viewvc/llvm-project?rev=213819&view=rev
Log:
Add a VS "14" msbuild toolset

This allows people to try clang inside MSBuild with the VS "14" CTP
releases.

Fixes PR20341.

Patch by Marcel Raad!

Added:
    llvm/trunk/tools/msbuild/toolset-vs2014.targets
    llvm/trunk/tools/msbuild/toolset-vs2014_xp.targets
Modified:
    llvm/trunk/tools/msbuild/CMakeLists.txt
    llvm/trunk/tools/msbuild/install.bat
    llvm/trunk/tools/msbuild/uninstall.bat

Modified: llvm/trunk/tools/msbuild/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/msbuild/CMakeLists.txt?rev=213819&r1=213818&r2=213819&view=diff
==============================================================================
--- llvm/trunk/tools/msbuild/CMakeLists.txt (original)
+++ llvm/trunk/tools/msbuild/CMakeLists.txt Wed Jul 23 18:49:16 2014
@@ -10,6 +10,8 @@ if (WIN32)
     set(prop_file_v110_xp "Microsoft.Cpp.${platform}.LLVM-vs2012_xp.props")
     set(prop_file_v120 "toolset-vs2013.props")
     set(prop_file_v120_xp "toolset-vs2013_xp.props")
+    set(prop_file_v140 "toolset-vs2014.props")
+    set(prop_file_v140_xp "toolset-vs2014_xp.props")
 
     if (platform STREQUAL "Win32")
       set(mflag "m32")
@@ -29,6 +31,11 @@ if (WIN32)
     configure_file(${prop_file_in} ${platform}/${prop_file_v120})
     set(VS_VERSION "v120_xp")
     configure_file(${prop_file_in} ${platform}/${prop_file_v120_xp})
+    set(VS_VERSION "v140")
+    set(MSC_VERSION "1900")
+    configure_file(${prop_file_in} ${platform}/${prop_file_v140})
+    set(VS_VERSION "v140_xp")
+    configure_file(${prop_file_in} ${platform}/${prop_file_v140_xp})
     set(VS_VERSION)
     set(MSC_VERSION)
     set(mflag)
@@ -38,12 +45,16 @@ if (WIN32)
     install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v110_xp}" DESTINATION tools/msbuild/${platform})
     install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v120}" DESTINATION tools/msbuild/${platform})
     install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v120_xp}" DESTINATION tools/msbuild/${platform})
+    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v140}" DESTINATION tools/msbuild/${platform})
+    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v140_xp}" DESTINATION tools/msbuild/${platform})
 
     install(FILES "Microsoft.Cpp.Win32.LLVM-vs2010.targets" DESTINATION "tools/msbuild/${platform}" RENAME "Microsoft.Cpp.${platform}.LLVM-vs2010.targets")
     install(FILES "Microsoft.Cpp.Win32.LLVM-vs2012.targets" DESTINATION "tools/msbuild/${platform}" RENAME "Microsoft.Cpp.${platform}.LLVM-vs2012.targets")
     install(FILES "Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets" DESTINATION "tools/msbuild/${platform}" RENAME "Microsoft.Cpp.${platform}.LLVM-vs2012_xp.targets")
     install(FILES "toolset-vs2013.targets" DESTINATION "tools/msbuild/${platform}")
     install(FILES "toolset-vs2013_xp.targets" DESTINATION "tools/msbuild/${platform}")
+    install(FILES "toolset-vs2014.targets" DESTINATION "tools/msbuild/${platform}")
+    install(FILES "toolset-vs2014_xp.targets" DESTINATION "tools/msbuild/${platform}")
   endforeach()
 
   set(LIB_PATH_VERSION)

Modified: llvm/trunk/tools/msbuild/install.bat
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/msbuild/install.bat?rev=213819&r1=213818&r2=213819&view=diff
==============================================================================
--- llvm/trunk/tools/msbuild/install.bat (original)
+++ llvm/trunk/tools/msbuild/install.bat Wed Jul 23 18:49:16 2014
@@ -30,6 +30,12 @@ IF EXIST %D% GOTO FOUND_V120
 SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets"
 IF EXIST %D% GOTO FOUND_V120
 
+:TRY_V140
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\%PLATFORM%\PlatformToolsets"
+IF EXIST %D% GOTO FOUND_V140
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\%PLATFORM%\PlatformToolsets"
+IF EXIST %D% GOTO FOUND_V140
+
 :LOOPEND
 IF %SUCCESS% == 1 goto DONE
 echo Failed to find MSBuild toolsets directory.
@@ -76,6 +82,22 @@ IF NOT %ERRORLEVEL% == 0 GOTO FAILED
 copy %PLATFORM%\toolset-vs2013_xp.targets %D%\LLVM-vs2013_xp\toolset.targets
 IF NOT %ERRORLEVEL% == 0 GOTO FAILED
 set SUCCESS=1
+GOTO TRY_V140
+
+:FOUND_V140
+IF NOT EXIST %D%\LLVM-vs2014 mkdir %D%\LLVM-vs2014
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+copy %PLATFORM%\toolset-vs2014.props %D%\LLVM-vs2014\toolset.props
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+copy %PLATFORM%\toolset-vs2014.targets %D%\LLVM-vs2014\toolset.targets
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+IF NOT EXIST %D%\LLVM-vs2014_xp mkdir %D%\LLVM-vs2014_xp
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+copy %PLATFORM%\toolset-vs2014_xp.props %D%\LLVM-vs2014_xp\toolset.props
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+copy %PLATFORM%\toolset-vs2014_xp.targets %D%\LLVM-vs2014_xp\toolset.targets
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+set SUCCESS=1
 GOTO START
 
 

Added: llvm/trunk/tools/msbuild/toolset-vs2014.targets
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/msbuild/toolset-vs2014.targets?rev=213819&view=auto
==============================================================================
--- llvm/trunk/tools/msbuild/toolset-vs2014.targets (added)
+++ llvm/trunk/tools/msbuild/toolset-vs2014.targets Wed Jul 23 18:49:16 2014
@@ -0,0 +1,6 @@
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(VCTargetsPath)\Microsoft.CppCommon.targets" />
+</Project>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(VCTargetsPath)\Microsoft.CppCommon.targets" />
+</Project>

Added: llvm/trunk/tools/msbuild/toolset-vs2014_xp.targets
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/msbuild/toolset-vs2014_xp.targets?rev=213819&view=auto
==============================================================================
--- llvm/trunk/tools/msbuild/toolset-vs2014_xp.targets (added)
+++ llvm/trunk/tools/msbuild/toolset-vs2014_xp.targets Wed Jul 23 18:49:16 2014
@@ -0,0 +1,21 @@
+<Project ToolsVersion="14.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>

Modified: llvm/trunk/tools/msbuild/uninstall.bat
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/msbuild/uninstall.bat?rev=213819&r1=213818&r2=213819&view=diff
==============================================================================
--- llvm/trunk/tools/msbuild/uninstall.bat (original)
+++ llvm/trunk/tools/msbuild/uninstall.bat Wed Jul 23 18:49:16 2014
@@ -51,6 +51,21 @@ IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM
 IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.targets
 IF EXIST %D%\LLVM-vs2013_xp rmdir %D%\LLVM-vs2013_xp
 
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\%PLATFORM%\PlatformToolsets"
+IF EXIST %D%\LLVM-vs2014 del %D%\LLVM-vs2014\toolset.props
+IF EXIST %D%\LLVM-vs2014 del %D%\LLVM-vs2014\toolset.targets
+IF EXIST %D%\LLVM-vs2014 rmdir %D%\LLVM-vs2014
+IF EXIST %D%\LLVM-vs2014_xp del %D%\LLVM-vs2014_xp\toolset.props
+IF EXIST %D%\LLVM-vs2014_xp del %D%\LLVM-vs2014_xp\toolset.targets
+IF EXIST %D%\LLVM-vs2014_xp rmdir %D%\LLVM-vs2014_xp
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\%PLATFORM%\PlatformToolsets"
+IF EXIST %D%\LLVM-vs2014 del %D%\LLVM-vs2014\toolset.props
+IF EXIST %D%\LLVM-vs2014 del %D%\LLVM-vs2014\toolset.targets
+IF EXIST %D%\LLVM-vs2014 rmdir %D%\LLVM-vs2014
+IF EXIST %D%\LLVM-vs2014_xp del %D%\LLVM-vs2014_xp\toolset.props
+IF EXIST %D%\LLVM-vs2014_xp del %D%\LLVM-vs2014_xp\toolset.targets
+IF EXIST %D%\LLVM-vs2014_xp rmdir %D%\LLVM-vs2014_xp
+
 
 GOTO START
 





More information about the llvm-commits mailing list