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")
- 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 "${CPACK_PACKAGE_INSTALL_REGISTRY_KEY}")
- set(VS_VERSION "v100")
- set(MSC_VERSION "1600")
- configure_file(${prop_file_in} ${prop_file_v100})
- set(VS_VERSION "v110")
- set(MSC_VERSION "1700")
- configure_file(${prop_file_in} ${prop_file_v110})
- set(VS_VERSION "v110_xp")
- configure_file(${prop_file_in} ${prop_file_v110_xp})
- set(VS_VERSION "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})
+ foreach (platform "Win32" "x64")
+ set(prop_file_in "Microsoft.Cpp.Win32.llvm.props.in")
+ set(prop_file_v100 "Microsoft.Cpp.${platform}.LLVM-vs2010.props")
+ set(prop_file_v110 "Microsoft.Cpp.${platform}.LLVM-vs2012.props")
+ 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")
+
+ if (platform STREQUAL "Win32")
+ set(mflag "m32")
+ else()
+ set(mflag "m64")
+ endif()
+ set(VS_VERSION "v100")
+ set(MSC_VERSION "1600")
+ configure_file(${prop_file_in} ${platform}/${prop_file_v100})
+ set(VS_VERSION "v110")
+ set(MSC_VERSION "1700")
+ configure_file(${prop_file_in} ${platform}/${prop_file_v110})
+ set(VS_VERSION "v110_xp")
+ configure_file(${prop_file_in} ${platform}/${prop_file_v110_xp})
+ set(VS_VERSION "v120")
+ set(MSC_VERSION "1800")
+ 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)
+ set(MSC_VERSION)
+ set(mflag)
+
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v100}" DESTINATION tools/msbuild/${platform})
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v110}" DESTINATION tools/msbuild/${platform})
+ 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 "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}")
+ endforeach()
set(REG_KEY)
- set(VS_VERSION)
- set(MSC_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(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
FILES_MATCHING
- PATTERN "*.targets"
PATTERN "*.bat"
PATTERN ".svn" EXCLUDE
)
<ItemDefinitionGroup>\r
<ClCompile>\r
<!-- Set the value of _MSC_VER to claim for compatibility -->\r
- <AdditionalOptions>-fmsc-version=@MSC_VERSION@ %(AdditionalOptions)</AdditionalOptions>\r
+ <AdditionalOptions>-@mflag@ -fmsc-version=@MSC_VERSION@ %(AdditionalOptions)</AdditionalOptions>\r
</ClCompile>\r
</ItemDefinitionGroup>\r
</Project>\r
REM Change to the directory of this batch file.\r
cd /d %~dp0\r
\r
+set PLATFORM=None\r
+:START\r
+IF %PLATFORM% == x64 GOTO END\r
+IF %PLATFORM% == Win32 SET PLATFORM=x64\r
+IF %PLATFORM% == None SET PLATFORM=Win32\r
+\r
REM Search for the MSBuild toolsets directory.\r
-SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"\r
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets"\r
IF EXIST %D% GOTO FOUND_V100\r
-SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"\r
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets"\r
IF EXIST %D% GOTO FOUND_V100\r
\r
:TRY_V110\r
-SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets"\r
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets"\r
IF EXIST %D% GOTO FOUND_V110\r
-SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets"\r
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\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
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets"\r
IF EXIST %D% GOTO FOUND_V120\r
-SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\Win32\PlatformToolsets"\r
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets"\r
IF EXIST %D% GOTO FOUND_V120\r
\r
+:END\r
IF %SUCCESS% == 1 goto DONE\r
echo Failed to find MSBuild toolsets directory.\r
goto FAILED\r
:FOUND_V100\r
IF NOT EXIST %D%\LLVM-vs2010 mkdir %D%\LLVM-vs2010\r
IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
-copy Microsoft.Cpp.Win32.LLVM-vs2010.props %D%\LLVM-vs2010\r
+copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.props %D%\LLVM-vs2010\r
IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
-copy Microsoft.Cpp.Win32.LLVM-vs2010.targets %D%\LLVM-vs2010\r
+copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.targets %D%\LLVM-vs2010\r
IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
set SUCCESS=1\r
GOTO TRY_V110\r
:FOUND_V110\r
IF NOT EXIST %D%\LLVM-vs2012 mkdir %D%\LLVM-vs2012\r
IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
-copy Microsoft.Cpp.Win32.LLVM-vs2012.props %D%\LLVM-vs2012\r
+copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.props %D%\LLVM-vs2012\r
IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
-copy Microsoft.Cpp.Win32.LLVM-vs2012.targets %D%\LLVM-vs2012\r
+copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.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
+copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.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
+copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.targets %D%\LLVM-vs2012_xp\r
IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
set SUCCESS=1\r
GOTO TRY_V120\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
+copy %PLATFORM%\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
+copy %PLATFORM%\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
+copy %PLATFORM%\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
+copy %PLATFORM%\toolset-vs2013_xp.targets %D%\LLVM-vs2013_xp\toolset.targets\r
IF NOT %ERRORLEVEL% == 0 GOTO FAILED\r
+GOTO START\r
+\r
\r
:DONE\r
echo Done!\r
REM CD to the directory of this batch file.\r
cd /d %~dp0\r
\r
-SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"\r
-IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.Win32.LLVM-vs2010.props\r
-IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.Win32.LLVM-vs2010.targets\r
-IF EXIST %D%\LLVM-vs2010 rmdir %D%\LLVM-vs2010\r
+set PLATFORM=None\r
+:START\r
+IF %PLATFORM% == x64 GOTO END\r
+IF %PLATFORM% == Win32 SET PLATFORM=x64\r
+IF %PLATFORM% == None SET PLATFORM=Win32\r
+\r
\r
-SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets"\r
-IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.Win32.LLVM-vs2010.props\r
-IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.Win32.LLVM-vs2010.targets\r
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets"\r
+IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.props\r
+IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.targets\r
+IF EXIST %D%\LLVM-vs2010 rmdir %D%\LLVM-vs2010\r
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets"\r
+IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.props\r
+IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.targets\r
IF EXIST %D%\LLVM-vs2010 rmdir %D%\LLVM-vs2010\r
\r
-SET D="%ProgramFiles%\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
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets"\r
+IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.props\r
+IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.%PLATFORM%.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 del %D%\LLVM-vs2012_xp\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.props\r
+IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.%PLATFORM%.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
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets"\r
+IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.props\r
+IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.%PLATFORM%.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 del %D%\LLVM-vs2012_xp\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.props\r
+IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.%PLATFORM%.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
+SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\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
+SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\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.targets\r
IF EXIST %D%\LLVM-vs2013_xp rmdir %D%\LLVM-vs2013_xp\r
\r
+\r
+GOTO START\r
+\r
+:END\r
echo Done!\r