Provide msbuild integration for vs2013.
authorHans Wennborg <hans@hanshq.net>
Thu, 10 Oct 2013 17:32:01 +0000 (17:32 +0000)
committerHans Wennborg <hans@hanshq.net>
Thu, 10 Oct 2013 17:32:01 +0000 (17:32 +0000)
Patch by Josh Samuel!

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

tools/msbuild/CMakeLists.txt
tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in
tools/msbuild/install.bat
tools/msbuild/uninstall.bat

index 894645a4562cae64352ad6a90bfbc037eb80cfaa..cc4f3d5e6035c0c713c7f7ad44af3e40ed80e4d1 100644 (file)
@@ -3,6 +3,8 @@ if (WIN32)
   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")
+  set(prop_file_v120 "toolset-vs2013.props")
+  set(prop_file_v120_xp "toolset-vs2013_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}")
@@ -15,6 +17,11 @@ if (WIN32)
   configure_file(${prop_file_in} ${prop_file_v110})
   set(VS_VERSION "v110_xp")
   configure_file(${prop_file_in} ${prop_file_v110_xp})
+  set(VS_VSERSION "v120")
+  set(MSC_VERSION "1800")
+  configure_file(${prop_file_in} ${prop_file_v120})
+  set(VS_VERSION "v120_xp")
+  configure_file(${prop_file_in} ${prop_file_v120_xp})
 
   set(REG_KEY)
   set(VS_VERSION)
@@ -22,6 +29,8 @@ if (WIN32)
   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(FILES "${CMAKE_CURRENT_BINARY_DIR}/${prop_file_v120}" DESTINATION tools/msbuild)
+  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${prop_file_v120_xp}" DESTINATION tools/msbuild)
 
   install(DIRECTORY .
     DESTINATION tools/msbuild
index fce601132b61ea3684b242118e7a2e891a6da141..a6ef4eafc5831809f3095431fd6667fc0674e0a4 100644 (file)
@@ -1,5 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  \r
-  <Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\@VS_VERSION@\Microsoft.Cpp.$(Platform).@VS_VERSION@.props"/>\r
+  <Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\@VS_VERSION@\Microsoft.Cpp.$(Platform).@VS_VERSION@.props" Condition="Exists('$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\@VS_VERSION@\Microsoft.Cpp.$(Platform).@VS_VERSION@.props')"/>\r
+  <Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\@VS_VERSION@\Toolset.props" Condition="Exists('$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\@VS_VERSION@\Toolset.props')"/>\r
 \r
   <PropertyGroup>\r
     <LLVMInstallDir>$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\@REG_KEY@)</LLVMInstallDir>\r
index fb00d277b9c8e14f612c74d14ce2bb4d6af5a7e9..c4c61ace8e04736a14e58a2d2f88bc19426cdf95 100644 (file)
@@ -18,6 +18,12 @@ IF EXIST %D% GOTO FOUND_V110
 SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets"\r
 IF EXIST %D% GOTO FOUND_V110\r
 \r
+:TRY_V120\r
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\Win32\PlatformToolsets"\r
+IF EXIST %D% GOTO FOUND_V120\r
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\Win32\PlatformToolsets"\r
+IF EXIST %D% GOTO FOUND_V120\r
+\r
 IF %SUCCESS% == 1 goto DONE\r
 echo Failed to find MSBuild toolsets directory.\r
 goto FAILED\r
@@ -46,6 +52,22 @@ copy Microsoft.Cpp.Win32.LLVM-vs2012_xp.props %D%\LLVM-vs2012_xp
 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
+set SUCCESS=1\r
+GOTO TRY_V120\r
+\r
+:FOUND_V120\r
+IF NOT EXIST %D%\LLVM-vs2013 mkdir %D%\LLVM-vs2013\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+copy toolset-vs2013.props %D%\LLVM-vs2013\toolset.props\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+copy toolset-vs2013.targets %D%\LLVM-vs2013\toolset.targets\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+IF NOT EXIST %D%\LLVM-vs2013_xp mkdir %D%\LLVM-vs2013_xp\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+copy toolset-vs2013_xp.props %D%\LLVM-vs2013_xp\toolset.props\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+copy toolset-vs2013_xp.targets %D%\LLVM-vs2013_xp\toolset.targets\r
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
 \r
 :DONE\r
 echo Done!\r
index f1f5619a774fc37845d0da7e7b67d6c76bba4172..7e94f87544996a5868411a2e58945457d231c8a7 100644 (file)
@@ -31,4 +31,20 @@ IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.Win32.LLVM-vs20
 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%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\Win32\PlatformToolsets"\r
+IF EXIST %D%\LLVM-vs2013 del %D%\LLVM-vs2013\toolset.props\r
+IF EXIST %D%\LLVM-vs2013 del %D%\LLVM-vs2013\toolset.targets\r
+IF EXIST %D%\LLVM-vs2013 rmdir %D%\LLVM-vs2013\r
+IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.props\r
+IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.targets\r
+IF EXIST %D%\LLVM-vs2013_xp rmdir %D%\LLVM-vs2013_xp\r
+\r
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\Win32\PlatformToolsets"\r
+IF EXIST %D%\LLVM-vs2013 del %D%\LLVM-vs2013\toolset.props\r
+IF EXIST %D%\LLVM-vs2013 del %D%\LLVM-vs2013\toolset.targets\r
+IF EXIST %D%\LLVM-vs2013 rmdir %D%\LLVM-vs2013\r
+IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.props\r
+IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.targets\r
+IF EXIST %D%\LLVM-vs2013_xp rmdir %D%\LLVM-vs2013_xp\r
+\r
 echo Done!\r