diff --git a/.gitattributes b/.gitattributes
index 55fd48d..436eb52 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,3 +1,4 @@
*.lib filter=lfs diff=lfs merge=lfs -text
+*.pdb filter=lfs diff=lfs merge=lfs -text
*.a filter=lfs diff=lfs merge=lfs -text
PerforceBinaries/**/p4* filter=lfs diff=lfs merge=lfs -text
diff --git a/.yamato/windows-build.yml b/.yamato/windows-build.yml
index a6c2e5a..ac63fbe 100644
--- a/.yamato/windows-build.yml
+++ b/.yamato/windows-build.yml
@@ -1,7 +1,7 @@
name: Win - Build & Test VCS plugins
agent:
type: Unity::VM
- image: core-kaunas/win10-vs2010:latest
+ image: build-system/unity-win10-22H2-vs2022-unity:v2.4386385
flavor: b1.large
commands:
diff --git a/P4Plugin/P4Plugin.vcxproj b/P4Plugin/P4Plugin.vcxproj
index 3e77623..e9662a0 100644
--- a/P4Plugin/P4Plugin.vcxproj
+++ b/P4Plugin/P4Plugin.vcxproj
@@ -101,18 +101,21 @@
{06DFA5BA-ACFC-4170-9143-5B2D1E654180}
Win32Proj
P4Plugin2
+ 10.0
Application
true
MultiByte
+ v143
Application
false
true
MultiByte
+ v143
@@ -186,4 +189,4 @@ echo f | xcopy "$(SolutionDir)$(Configuration)\$(TargetName).pdb" "$(SolutionDir
-
+
\ No newline at end of file
diff --git a/P4Plugin/Source/P4PluginVersion.h b/P4Plugin/Source/P4PluginVersion.h
index be02aea..99699a4 100644
--- a/P4Plugin/Source/P4PluginVersion.h
+++ b/P4Plugin/Source/P4PluginVersion.h
@@ -12,5 +12,6 @@
// 1.2.1 2024/03/15 Fix login failure license about to expire
// 2021.3.38f1, 2023.2.19f1, 6000.0.0b14
// 1.3.0 2025/07/29 P4 API 2021.2 for Perforce Cloud
+// 1.4.0 build with Visual Studio 2022 and Windows 10 SDK for long path names
-#define PERFORCE_PLUGIN_VERSION "1.3.0"
+#define PERFORCE_PLUGIN_VERSION "1.4.0"
diff --git a/P4Plugin/Source/openssl/lib/win32/libMT.pdb b/P4Plugin/Source/openssl/lib/win32/libMT.pdb
new file mode 100644
index 0000000..6bf138f
--- /dev/null
+++ b/P4Plugin/Source/openssl/lib/win32/libMT.pdb
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9705d1edf51f092837c8cf74dbc43795722e05a944ec62238fc79a06860c8938
+size 798720
diff --git a/P4Plugin/Source/openssl/lib/win32/libeay32.lib b/P4Plugin/Source/openssl/lib/win32/libeay32.lib
index e7aebfc..f5136b9 100644
--- a/P4Plugin/Source/openssl/lib/win32/libeay32.lib
+++ b/P4Plugin/Source/openssl/lib/win32/libeay32.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:cde893a7b4cf7d91bd62a38a2d54e8b49ad96fc9b882991487ed053c95703764
-size 13647106
+oid sha256:f75f9cda0fea073d66d884f3c65cb15b1978a478ec2e1421993b948e94e0be6c
+size 12395756
diff --git a/P4Plugin/Source/openssl/lib/win32/ssleay32.lib b/P4Plugin/Source/openssl/lib/win32/ssleay32.lib
index 3a4c0f6..ac11c6a 100644
--- a/P4Plugin/Source/openssl/lib/win32/ssleay32.lib
+++ b/P4Plugin/Source/openssl/lib/win32/ssleay32.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b6c5dd9c6e81630b965b39bf274141df3bed70339d9aa30797001b8126de02c8
-size 2004530
+oid sha256:6d8571a8cf39232e2ad13ab005ef1e5df4142a576d4e6219e6077cc03189d110
+size 2049250
diff --git a/P4Plugin/Source/p4api/README.md b/P4Plugin/Source/p4api/README.md
index 5d9b1e9..4099f35 100644
--- a/P4Plugin/Source/p4api/README.md
+++ b/P4Plugin/Source/p4api/README.md
@@ -11,5 +11,5 @@ Notes: see also download_perforce_binaries.ps1
- https://filehost.perforce.com/perforce/r21.2/bin.macosx105x86_64/p4api-openssl1.0.2.tgz
# Win32
-- https://filehost.perforce.com/perforce/r21.2/bin.ntx86/p4api_vs2010_static_openssl1.0.2.zip
-- https://filehost.perforce.com/perforce/r21.2/bin.ntx86/p4api_vs2010_static_vsdebug_openssl1.0.2.zip
+- https://filehost.perforce.com/perforce/r21.2/bin.ntx86/p4api_vs2019_static_openssl1.0.2.zip
+- https://filehost.perforce.com/perforce/r21.2/bin.ntx86/p4api_vs2019_static_vsdebug_openssl1.0.2.zip
diff --git a/P4Plugin/Source/p4api/lib/win32/libclient.lib b/P4Plugin/Source/p4api/lib/win32/libclient.lib
index 391fe54..4aedebd 100644
--- a/P4Plugin/Source/p4api/lib/win32/libclient.lib
+++ b/P4Plugin/Source/p4api/lib/win32/libclient.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:84defef0b56cbd3e3b14dafc6e3b72fb189b016665da2fe424d376aa9ddf8996
-size 3684624
+oid sha256:1e698e7bc003cc1f0d302c83d7be0522044e9cac0ac3c13f639ac92189bd225b
+size 11650708
diff --git a/P4Plugin/Source/p4api/lib/win32/libp4api.lib b/P4Plugin/Source/p4api/lib/win32/libp4api.lib
index c6548e4..7748138 100644
--- a/P4Plugin/Source/p4api/lib/win32/libp4api.lib
+++ b/P4Plugin/Source/p4api/lib/win32/libp4api.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7aa63ac06ca393a82e17672242fe0a211d74bdb44e45990abd4a8da1a4c5db93
-size 18525078
+oid sha256:d5962c397bf7d84b7098a41317c60bef981467e80690018597beee4bceb4c0b9
+size 178015930
diff --git a/P4Plugin/Source/p4api/lib/win32/libp4script.lib b/P4Plugin/Source/p4api/lib/win32/libp4script.lib
index d507a81..704601e 100644
--- a/P4Plugin/Source/p4api/lib/win32/libp4script.lib
+++ b/P4Plugin/Source/p4api/lib/win32/libp4script.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0022d7d492f252fd8301ac7d15d8e3fc8e264a016b6625c82a43e994e510e46c
-size 439530
+oid sha256:0ea6e0296d4757311f3701e236ee5a02c2a6717e45b9ae142a546f4e31ebd1ca
+size 114554160
diff --git a/P4Plugin/Source/p4api/lib/win32/libp4script_c.lib b/P4Plugin/Source/p4api/lib/win32/libp4script_c.lib
index 211c79e..6b088a2 100644
--- a/P4Plugin/Source/p4api/lib/win32/libp4script_c.lib
+++ b/P4Plugin/Source/p4api/lib/win32/libp4script_c.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:41cebc15db7c1124cb2cf860b38861b15d41cc8ca500caaeaeb76690fde5b886
-size 55516
+oid sha256:86fff78963df36f969d68b5993a1e42e4e66c069d12862a2b7ec93ced284ab17
+size 22569194
diff --git a/P4Plugin/Source/p4api/lib/win32/libp4script_curl.lib b/P4Plugin/Source/p4api/lib/win32/libp4script_curl.lib
index 72978b3..49a0f93 100644
--- a/P4Plugin/Source/p4api/lib/win32/libp4script_curl.lib
+++ b/P4Plugin/Source/p4api/lib/win32/libp4script_curl.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:dfc537c8c420ba30ad6345f66da5869f26d332569a60352071b10efed6f4c88f
-size 1882
+oid sha256:cafe12ded4a0a71597a84ec7e5bbd9f98d53236564aef05bad0634c618ff9a2a
+size 8011744
diff --git a/P4Plugin/Source/p4api/lib/win32/libp4script_sqlite.lib b/P4Plugin/Source/p4api/lib/win32/libp4script_sqlite.lib
index cefebc3..188eee0 100644
--- a/P4Plugin/Source/p4api/lib/win32/libp4script_sqlite.lib
+++ b/P4Plugin/Source/p4api/lib/win32/libp4script_sqlite.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:263c8f8b88d881df40cc30924f14c1ea653d3f2203c0a19dadbe9b22e15ed503
-size 1892
+oid sha256:3141ec3240d2ad613470ed39887d7fa6bce3a6b5b161aed3d59dcc637db791e9
+size 4453190
diff --git a/P4Plugin/Source/p4api/lib/win32/librpc.lib b/P4Plugin/Source/p4api/lib/win32/librpc.lib
index 09f4202..da15f6d 100644
--- a/P4Plugin/Source/p4api/lib/win32/librpc.lib
+++ b/P4Plugin/Source/p4api/lib/win32/librpc.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0f5322a7df54cf2f85826ef0edd7b91a0754f4f4a1dea71358ae89dac8d90a4b
-size 2803896
+oid sha256:04a4a439746c6d645f9cd58deb20c0896d17d07741c3bd2358051480598f84f2
+size 2938680
diff --git a/P4Plugin/Source/p4api/lib/win32/libsupp.lib b/P4Plugin/Source/p4api/lib/win32/libsupp.lib
index 781973a..6d87c18 100644
--- a/P4Plugin/Source/p4api/lib/win32/libsupp.lib
+++ b/P4Plugin/Source/p4api/lib/win32/libsupp.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:397b660d65ac4640c165fe492c599e75b7a4b358557a1bc02dc0dc7064b6f778
-size 11576292
+oid sha256:576a39f177d72378b7b719eb0c06739f9411df5efa7e2f70d5db3b66c02f1b78
+size 16525890
diff --git a/P4Plugin/Source/p4api/lib/win32debug/libclient.lib b/P4Plugin/Source/p4api/lib/win32debug/libclient.lib
index ff6bb1a..a410b2d 100644
--- a/P4Plugin/Source/p4api/lib/win32debug/libclient.lib
+++ b/P4Plugin/Source/p4api/lib/win32debug/libclient.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ada8fcaf2b2fbf8a7fa73a281049285b7a9f4266f0de7cd3e3459d3721dbe8ba
-size 3685274
+oid sha256:b1a4ac54dcf3550ea6b6b1596e44fed81ee87ebb8f1591d775d97de8db483be9
+size 12673390
diff --git a/P4Plugin/Source/p4api/lib/win32debug/libp4api.lib b/P4Plugin/Source/p4api/lib/win32debug/libp4api.lib
index a5ff063..b16d70b 100644
--- a/P4Plugin/Source/p4api/lib/win32debug/libp4api.lib
+++ b/P4Plugin/Source/p4api/lib/win32debug/libp4api.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:53029e50d3e177cfbaa4663e063254261159f073dc47a8fb94d2f2932df52dbb
-size 18539224
+oid sha256:e1f1d84a36812b32f9291f879013b321197a767e30e298a08850fa9adf4b95de
+size 188227696
diff --git a/P4Plugin/Source/p4api/lib/win32debug/libp4script.lib b/P4Plugin/Source/p4api/lib/win32debug/libp4script.lib
index 2c1752a..0d8031a 100644
--- a/P4Plugin/Source/p4api/lib/win32debug/libp4script.lib
+++ b/P4Plugin/Source/p4api/lib/win32debug/libp4script.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:4557959b67ecbf187bbd1ec0709f30514d4be189a89da01fd9e819557222779c
-size 447214
+oid sha256:b275af1ef78342ed456d1d458a859bc5d102b76a6fa00fde763824c803a532c3
+size 120912784
diff --git a/P4Plugin/Source/p4api/lib/win32debug/libp4script_c.lib b/P4Plugin/Source/p4api/lib/win32debug/libp4script_c.lib
index d87bde1..4717564 100644
--- a/P4Plugin/Source/p4api/lib/win32debug/libp4script_c.lib
+++ b/P4Plugin/Source/p4api/lib/win32debug/libp4script_c.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:27df49d7ea605d31c1a810407225abc2e98b33aa308eb8daf99ca6c41d141b70
-size 55604
+oid sha256:796376b1d50f57a8e07bff42f1f52e9281a1245752f40e8d8cc257b3227808ec
+size 25250240
diff --git a/P4Plugin/Source/p4api/lib/win32debug/libp4script_curl.lib b/P4Plugin/Source/p4api/lib/win32debug/libp4script_curl.lib
index be3a5d2..09cd910 100644
--- a/P4Plugin/Source/p4api/lib/win32debug/libp4script_curl.lib
+++ b/P4Plugin/Source/p4api/lib/win32debug/libp4script_curl.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c693841c193dbdfe6bccd186788865f6aacdf518d69a8cc71da558c804787b98
-size 1902
+oid sha256:0e1bf0a4ad47cd2e3850106dd8adfc895dc8a80efaad74159046bacf874e583a
+size 8041254
diff --git a/P4Plugin/Source/p4api/lib/win32debug/libp4script_sqlite.lib b/P4Plugin/Source/p4api/lib/win32debug/libp4script_sqlite.lib
index cdbea09..6586c26 100644
--- a/P4Plugin/Source/p4api/lib/win32debug/libp4script_sqlite.lib
+++ b/P4Plugin/Source/p4api/lib/win32debug/libp4script_sqlite.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d43f2d8ec8622db8eaac55bdae93602dd0aadcec0240abae60087bb1cdd1aefb
-size 1912
+oid sha256:061b942c94f46428a3bc3604ba2986f1530220c59ec5f724bba7adf45b5e1590
+size 4453270
diff --git a/P4Plugin/Source/p4api/lib/win32debug/librpc.lib b/P4Plugin/Source/p4api/lib/win32debug/librpc.lib
index 72ffc52..100b05e 100644
--- a/P4Plugin/Source/p4api/lib/win32debug/librpc.lib
+++ b/P4Plugin/Source/p4api/lib/win32debug/librpc.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e81e3595afa9057f883db181aad702c7484e7ca728d997fff238f0e88aa7399b
-size 2805976
+oid sha256:6756ed917b88e51868d4b021c19c4f1b6285874e44380a3a615b27815686c6a1
+size 2938946
diff --git a/P4Plugin/Source/p4api/lib/win32debug/libsupp.lib b/P4Plugin/Source/p4api/lib/win32debug/libsupp.lib
index 0123feb..d5357f1 100644
--- a/P4Plugin/Source/p4api/lib/win32debug/libsupp.lib
+++ b/P4Plugin/Source/p4api/lib/win32debug/libsupp.lib
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:18f19788bf642e3192afe52968cd3a6c0bacd32f35fda6e756cbe12e95221c1d
-size 11579896
+oid sha256:d9600aa44e61ecef4e6dc3ad580d7b2171148ecbdb89cf77d487fdee0cd69ff2
+size 16895002
diff --git a/Test/Perforce/PerforceTest.pm b/Test/Perforce/PerforceTest.pm
index 094fae1..f0268a7 100644
--- a/Test/Perforce/PerforceTest.pm
+++ b/Test/Perforce/PerforceTest.pm
@@ -105,8 +105,15 @@ sub RunTests()
if (not(-e -f -x $testserver))
{
- print "Error testserver '$testserver' doesn't exist\n";
- return 1;
+ print "\n[$suite][$count/$total] Error testserver '$testserver' doesn't exist\n\n";
+ if ($total > 0)
+ {
+ return $total;
+ }
+ else
+ {
+ return 1;
+ }
}
$cwd = getcwd();
diff --git a/Test/TestServer/TestServer.vcxproj b/Test/TestServer/TestServer.vcxproj
index f0c558f..637154a 100644
--- a/Test/TestServer/TestServer.vcxproj
+++ b/Test/TestServer/TestServer.vcxproj
@@ -20,12 +20,14 @@
Application
true
Unicode
+ v143
Application
false
true
MultiByte
+ v143
diff --git a/msbuilder.cmd b/msbuilder.cmd
index 6fbe9ac..6825656 100644
--- a/msbuilder.cmd
+++ b/msbuilder.cmd
@@ -1,4 +1,5 @@
-if exist "%PROGRAMFILES%\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat" call "%PROGRAMFILES%\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat"
-if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat" call "%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat"
-if exist "%REALVSPATH%\Common7\Tools\vsvars32.bat" call "%REALVSPATH%\Common7\Tools\vsvars32.bat"
-call msbuild %1 /t:Clean;%2 /p:Configuration=Release;Platform=%3
+for /f "usebackq delims=" %%i in (`call "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -find VC\Auxiliary\Build\vcvarsall.bat`) do (
+ call "%%i" x86
+)
+
+call msbuild %1 /t:Clean;%2 /p:Configuration=Release;Platform=%3