summaryrefslogtreecommitdiff
path: root/msvc/build_all.ps1
diff options
context:
space:
mode:
authorShawn Hoffman <godisgovernment@gmail.com>2022-02-26 19:29:43 -0800
committerTormod Volden <debian.tormod@gmail.com>2022-06-26 17:09:14 +0200
commitaa633daaac2986f5361ba86ad7e0a3315156455e (patch)
treebf3a716259ccc266016f93c5dbe7e36469c3caa0 /msvc/build_all.ps1
parentcd8078db059c01d263f979a91e586dc65f3f5542 (diff)
downloadlibusb-aa633daaac2986f5361ba86ad7e0a3315156455e.tar.gz
msvc: Rework msbuild files
Refactor common settings into .props files. Enables building full PlatformToolset, Platform, Configuration matrix easily. Also update the appveyor file. Technically we no longer need different images (could just have a single vs2022 image which is executed multiple times in parallel, or so) Closes #1116
Diffstat (limited to 'msvc/build_all.ps1')
-rw-r--r--msvc/build_all.ps117
1 files changed, 17 insertions, 0 deletions
diff --git a/msvc/build_all.ps1 b/msvc/build_all.ps1
new file mode 100644
index 0000000..ffdbdc1
--- /dev/null
+++ b/msvc/build_all.ps1
@@ -0,0 +1,17 @@
+$toolsets = "v120", "v140", "v141", "v142", "v143"
+$platforms = "Win32", "x64", "ARM", "ARM64"
+$configurations = "Debug", "Release"
+
+foreach ($toolset in $toolsets) {
+ foreach ($plat in $platforms) {
+ if (("v120", "v140").contains($toolset) -and $plat -eq "ARM64") {
+ # VS2013,VS2015 don't support arm64
+ write-host ">>> PlatformToolset=$toolset,Platform=$plat SKIP"
+ continue
+ }
+ foreach ($conf in $configurations) {
+ write-host ">>> PlatformToolset=$toolset,Platform=$plat,Configuration=$conf"
+ msbuild -m -v:m -p:PlatformToolset=$toolset,Platform=$plat,Configuration=$conf $PSScriptRoot\libusb.sln
+ }
+ }
+} \ No newline at end of file