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 894645a..cc4f3d5 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 fce6011..a6ef4ea 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 fb00d27..c4c61ac 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 f1f5619..7e94f87 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