[WebAssembly] Print an extra local decl when the user stack pointer is used
[oota-llvm.git] / tools / msbuild / CMakeLists.txt
index 8de3b8815445fa7d1d63ddb497ce41ff5b3d5a02..4f471e5408ba42410acb9a48fdadc2df69e7df6a 100644 (file)
@@ -1,29 +1,68 @@
 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")
-
   # CPack will install a registry key in this format that we wish to reference.
-  set(REG_KEY "${CMAKE_PROJECT_NAME} ${CPACK_PACKAGE_VERSION}")
+  set(REG_KEY "${CPACK_PACKAGE_INSTALL_REGISTRY_KEY}")
+  set(LIB_PATH_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}")
+
+  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")
+    set(prop_file_v140 "toolset-vs2014.props")
+    set(prop_file_v140_xp "toolset-vs2014_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 "v140")
+    set(MSC_VERSION "1900")
+    configure_file(${prop_file_in} ${platform}/${prop_file_v140})
+    set(VS_VERSION "v140_xp")
+    configure_file(${prop_file_in} ${platform}/${prop_file_v140_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 "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v140}" DESTINATION tools/msbuild/${platform})
+    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${platform}/${prop_file_v140_xp}" DESTINATION tools/msbuild/${platform})
 
-  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(VS_VERSION "v110_xp")
-  configure_file(${prop_file_in} ${prop_file_v110_xp})
+    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}")
+    install(FILES "toolset-vs2014.targets" DESTINATION "tools/msbuild/${platform}")
+    install(FILES "toolset-vs2014_xp.targets" DESTINATION "tools/msbuild/${platform}")
+  endforeach()
 
+  set(LIB_PATH_VERSION)
   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(FILES "${CMAKE_CURRENT_BINARY_DIR}/${prop_file_v110_xp}" DESTINATION tools/msbuild)
 
   install(DIRECTORY .
     DESTINATION tools/msbuild
     FILES_MATCHING
-    PATTERN "*.targets"
     PATTERN "*.bat"
     PATTERN ".svn" EXCLUDE
     )