diff options
author | Hans Wennborg <hans@hanshq.net> | 2013-09-06 17:05:46 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2013-09-06 17:05:46 +0000 |
commit | 8df64176834a16312d22fa6e74095755cb8a706c (patch) | |
tree | 3d2789b9183f7a4c98223e99e9a82a315ef6d79e /llvm/tools/msbuild | |
parent | d84641c1ac0a6b76bd0670409d58a4447a6c05bf (diff) | |
download | bcm5719-llvm-8df64176834a16312d22fa6e74095755cb8a706c.tar.gz bcm5719-llvm-8df64176834a16312d22fa6e74095755cb8a706c.zip |
msbuild integration: provide separate files for VS2010 and VS2012
The previous msbuild integration only worked if VS2010 was installed. This patch
renames the current integration to LLVM-vs2010 and adds LLVM-vs2012.
Differential Revision: http://llvm-reviews.chandlerc.com/D1614
llvm-svn: 190173
Diffstat (limited to 'llvm/tools/msbuild')
-rw-r--r-- | llvm/tools/msbuild/CMakeLists.txt | 18 | ||||
-rw-r--r-- | llvm/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2010.targets (renamed from llvm/tools/msbuild/Microsoft.Cpp.Win32.llvm.targets) | 0 | ||||
-rw-r--r-- | llvm/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012.targets | 3 | ||||
-rw-r--r-- | llvm/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in | 2 | ||||
-rw-r--r-- | llvm/tools/msbuild/install.bat | 34 | ||||
-rw-r--r-- | llvm/tools/msbuild/uninstall.bat | 36 |
6 files changed, 58 insertions, 35 deletions
diff --git a/llvm/tools/msbuild/CMakeLists.txt b/llvm/tools/msbuild/CMakeLists.txt index 393b22a72cc..860ed22526c 100644 --- a/llvm/tools/msbuild/CMakeLists.txt +++ b/llvm/tools/msbuild/CMakeLists.txt @@ -1,10 +1,20 @@ if (WIN32) - set(prop_file "Microsoft.Cpp.Win32.llvm.props") + 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") # CPack will install a registry key in this format that we wish to reference. set(REG_KEY "${CMAKE_PROJECT_NAME} ${CPACK_PACKAGE_VERSION}") - configure_file(${prop_file}.in ${prop_file}) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${prop_file}" DESTINATION tools/msbuild) + + set(VS_VERSION "v100") + configure_file(${prop_file_in} ${prop_file_v100}) + set(VS_VERSION "v110") + configure_file(${prop_file_in} ${prop_file_v110}) + + 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(DIRECTORY . DESTINATION tools/msbuild @@ -13,4 +23,4 @@ if (WIN32) PATTERN "*.bat" PATTERN ".svn" EXCLUDE ) -endif() +endif() diff --git a/llvm/tools/msbuild/Microsoft.Cpp.Win32.llvm.targets b/llvm/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2010.targets index df41a844aa7..df41a844aa7 100644 --- a/llvm/tools/msbuild/Microsoft.Cpp.Win32.llvm.targets +++ b/llvm/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2010.targets diff --git a/llvm/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012.targets b/llvm/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012.targets new file mode 100644 index 00000000000..f7432f2fe5d --- /dev/null +++ b/llvm/tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012.targets @@ -0,0 +1,3 @@ +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(VCTargetsPath)\Microsoft.CppCommon.targets" />
+</Project>
diff --git a/llvm/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in b/llvm/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in index 3020d793f92..07e931f95fa 100644 --- a/llvm/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in +++ b/llvm/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in @@ -1,5 +1,5 @@ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\v100\Microsoft.Cpp.$(Platform).v100.props"/>
+ <Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\@VS_VERSION@\Microsoft.Cpp.$(Platform).@VS_VERSION@.props"/>
<PropertyGroup>
<LLVMInstallDir>$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\@REG_KEY@)</LLVMInstallDir>
diff --git a/llvm/tools/msbuild/install.bat b/llvm/tools/msbuild/install.bat index db11c863538..2d5af629aff 100644 --- a/llvm/tools/msbuild/install.bat +++ b/llvm/tools/msbuild/install.bat @@ -1,28 +1,44 @@ @echo off
echo Installing MSVC integration...
+set SUCCESS=0
REM Change to the directory of this batch file.
cd /d %~dp0
REM Search for the MSBuild toolsets directory.
SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"
-IF EXIST %D% GOTO FOUND_MSBUILD
+IF EXIST %D% GOTO FOUND_V100
SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"
-IF EXIST %D% GOTO FOUND_MSBUILD
+IF EXIST %D% GOTO FOUND_V100
-echo Failed to find MSBuild toolsets directory.
-goto FAILED
+:TRY_V110
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets"
+IF EXIST %D% GOTO FOUND_V110
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets"
+IF EXIST %D% GOTO FOUND_V110
+
+IF NOT SUCCESS == 1 echo Failed to find MSBuild toolsets directory.
+IF NOT SUCCESS == 1 goto FAILED
-:FOUND_MSBUILD
-IF NOT EXIST %D%\llvm mkdir %D%\llvm
-IF NOT %ERRORLEVEL% == 0 GOTO FAILED
-copy Microsoft.Cpp.Win32.llvm.props %D%\llvm
+:FOUND_V100
+IF NOT EXIST %D%\LLVM-vs2010 mkdir %D%\LLVM-vs2010
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+copy Microsoft.Cpp.Win32.LLVM-vs2010.props %D%\LLVM-vs2010
IF NOT %ERRORLEVEL% == 0 GOTO FAILED
-copy Microsoft.Cpp.Win32.llvm.targets %D%\llvm
+copy Microsoft.Cpp.Win32.LLVM-vs2010.targets %D%\LLVM-vs2010
IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+set SUCCESS=1
+GOTO TRY_V110
+:FOUND_V110
+IF NOT EXIST %D%\LLVM-vs2012 mkdir %D%\LLVM-vs2012
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+copy Microsoft.Cpp.Win32.LLVM-vs2012.props %D%\LLVM-vs2012
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+copy Microsoft.Cpp.Win32.LLVM-vs2012.targets %D%\LLVM-vs2012
+IF NOT %ERRORLEVEL% == 0 GOTO FAILED
echo Done!
goto END
diff --git a/llvm/tools/msbuild/uninstall.bat b/llvm/tools/msbuild/uninstall.bat index 8bc304e0b82..c6972397e73 100644 --- a/llvm/tools/msbuild/uninstall.bat +++ b/llvm/tools/msbuild/uninstall.bat @@ -5,30 +5,24 @@ echo Uninstalling MSVC integration... REM CD to the directory of this batch file.
cd /d %~dp0
-REM Search for the MSBuild toolsets directory.
SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"
-IF EXIST %D% GOTO FOUND_MSBUILD
-SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"
-IF EXIST %D% GOTO FOUND_MSBUILD
+IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.Win32.LLVM-vs2010.props
+IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.Win32.LLVM-vs2010.targets
+IF EXIST %D%\LLVM-vs2010 rmdir %D%\LLVM-vs2010
-echo Failed to find MSBuild toolsets directory.
-goto FAILED
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"
+IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.Win32.LLVM-vs2010.props
+IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.Win32.LLVM-vs2010.targets
+IF EXIST %D%\LLVM-vs2010 rmdir %D%\LLVM-vs2010
-:FOUND_MSBUILD
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets"
+IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.props
+IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.targets
+IF EXIST %D%\LLVM-vs2012 rmdir %D%\LLVM-vs2012
-del %D%\llvm\Microsoft.Cpp.Win32.llvm.props
-IF NOT %ERRORLEVEL% == 0 GOTO FAILED
-del %D%\llvm\Microsoft.Cpp.Win32.llvm.targets
-IF NOT %ERRORLEVEL% == 0 GOTO FAILED
-rmdir %D%\llvm
-IF NOT %ERRORLEVEL% == 0 GOTO FAILED
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets"
+IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.props
+IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.targets
+IF EXIST %D%\LLVM-vs2012 rmdir %D%\LLVM-vs2012
echo Done!
-goto END
-
-:FAILED
-echo MSVC integration uninstall failed.
-pause
-goto END
-
-:END
|