msbuild: Set _MSC_VER to match the CRT we're using

Various Windows SDK headers use _MSC_VER values to figure out what
version of the VC++ headers they're using, in particular for SAL macros.

Patch by Paul Hampson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191015 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Kleckner 2013-09-19 17:18:35 +00:00
parent 4f77a21d6c
commit 31eb340cb6
2 changed files with 10 additions and 0 deletions

View File

@ -8,14 +8,17 @@ if (WIN32)
set(REG_KEY "${CMAKE_PROJECT_NAME} ${CPACK_PACKAGE_VERSION}")
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(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)

View File

@ -7,4 +7,11 @@
<ExecutablePath>$(LLVMInstallDir)\msbuild-bin;$(ExecutablePath)</ExecutablePath>
<LibraryPath>$(LLVMInstallDir)\lib\clang\3.4\lib\windows;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<!-- Set the value of _MSC_VER to claim for compatibility -->
<AdditionalOptions>-fmsc-version=@MSC_VERSION@ %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
</ItemDefinitionGroup>
</Project>