diff --git a/ViGEmBus.sln b/ViGEmBus.sln index c5427cf..1359167 100644 --- a/ViGEmBus.sln +++ b/ViGEmBus.sln @@ -19,113 +19,169 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "build\_build.cspr EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug_DLL|ARM64 = Debug_DLL|ARM64 Debug_DLL|x64 = Debug_DLL|x64 Debug_DLL|x86 = Debug_DLL|x86 + Debug_LIB|ARM64 = Debug_LIB|ARM64 Debug_LIB|x64 = Debug_LIB|x64 Debug_LIB|x86 = Debug_LIB|x86 + Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release_DLL|ARM64 = Release_DLL|ARM64 Release_DLL|x64 = Release_DLL|x64 Release_DLL|x86 = Release_DLL|x86 + Release_LIB|ARM64 = Release_LIB|ARM64 Release_LIB|x64 = Release_LIB|x64 Release_LIB|x86 = Release_LIB|x86 + Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|ARM64.ActiveCfg = Debug|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|ARM64.Build.0 = Debug|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|ARM64.Deploy.0 = Debug|ARM64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|x64.ActiveCfg = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|x64.Build.0 = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|x64.Deploy.0 = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|x86.ActiveCfg = Debug|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|x86.Build.0 = Debug|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_DLL|x86.Deploy.0 = Debug|Win32 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|ARM64.ActiveCfg = Debug|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|ARM64.Build.0 = Debug|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|ARM64.Deploy.0 = Debug|ARM64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|x64.ActiveCfg = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|x64.Build.0 = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|x64.Deploy.0 = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|x86.ActiveCfg = Debug|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|x86.Build.0 = Debug|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug_LIB|x86.Deploy.0 = Debug|Win32 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|ARM64.Build.0 = Debug|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|ARM64.Deploy.0 = Debug|ARM64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|x64.ActiveCfg = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|x64.Build.0 = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|x64.Deploy.0 = Debug|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|x86.ActiveCfg = Debug|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|x86.Build.0 = Debug|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Debug|x86.Deploy.0 = Debug|Win32 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|ARM64.ActiveCfg = Release|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|ARM64.Build.0 = Release|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|ARM64.Deploy.0 = Release|ARM64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|x64.ActiveCfg = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|x64.Build.0 = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|x64.Deploy.0 = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|x86.ActiveCfg = Release|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|x86.Build.0 = Release|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_DLL|x86.Deploy.0 = Release|Win32 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|ARM64.ActiveCfg = Release|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|ARM64.Build.0 = Release|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|ARM64.Deploy.0 = Release|ARM64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|x64.ActiveCfg = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|x64.Build.0 = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|x64.Deploy.0 = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|x86.ActiveCfg = Release|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|x86.Build.0 = Release|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release_LIB|x86.Deploy.0 = Release|Win32 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|ARM64.ActiveCfg = Release|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|ARM64.Build.0 = Release|ARM64 + {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|ARM64.Deploy.0 = Release|ARM64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|x64.ActiveCfg = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|x64.Build.0 = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|x64.Deploy.0 = Release|x64 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|x86.ActiveCfg = Release|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|x86.Build.0 = Release|Win32 {040101B0-EE5C-4EF1-99EE-9F81C795C001}.Release|x86.Deploy.0 = Release|Win32 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_DLL|ARM64.ActiveCfg = Debug_DLL|ARM64 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_DLL|ARM64.Build.0 = Debug_DLL|ARM64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_DLL|x64.ActiveCfg = Debug_DLL|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_DLL|x64.Build.0 = Debug_DLL|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_DLL|x86.ActiveCfg = Debug_DLL|Win32 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_DLL|x86.Build.0 = Debug_DLL|Win32 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_LIB|ARM64.ActiveCfg = Debug_LIB|ARM64 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_LIB|ARM64.Build.0 = Debug_LIB|ARM64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_LIB|x64.ActiveCfg = Debug_LIB|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_LIB|x64.Build.0 = Debug_LIB|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_LIB|x86.ActiveCfg = Debug_LIB|Win32 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug_LIB|x86.Build.0 = Debug_LIB|Win32 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug|ARM64.ActiveCfg = Debug_LIB|ARM64 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug|ARM64.Build.0 = Debug_LIB|ARM64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug|x64.ActiveCfg = Debug_DLL|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug|x64.Build.0 = Debug_DLL|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug|x86.ActiveCfg = Debug_LIB|Win32 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Debug|x86.Build.0 = Debug_LIB|Win32 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_DLL|ARM64.ActiveCfg = Release_DLL|ARM64 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_DLL|ARM64.Build.0 = Release_DLL|ARM64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_DLL|x64.ActiveCfg = Release_DLL|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_DLL|x64.Build.0 = Release_DLL|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_DLL|x86.ActiveCfg = Release_DLL|Win32 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_DLL|x86.Build.0 = Release_DLL|Win32 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_LIB|ARM64.ActiveCfg = Release_LIB|ARM64 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_LIB|ARM64.Build.0 = Release_LIB|ARM64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_LIB|x64.ActiveCfg = Release_LIB|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_LIB|x64.Build.0 = Release_LIB|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_LIB|x86.ActiveCfg = Release_LIB|Win32 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release_LIB|x86.Build.0 = Release_LIB|Win32 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release|ARM64.ActiveCfg = Release_DLL|ARM64 + {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release|ARM64.Build.0 = Release_DLL|ARM64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release|x64.ActiveCfg = Release_LIB|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release|x64.Build.0 = Release_LIB|x64 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release|x86.ActiveCfg = Release_DLL|Win32 {7DB06674-1F4F-464B-8E1C-172E9587F9DC}.Release|x86.Build.0 = Release_DLL|Win32 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_DLL|ARM64.ActiveCfg = Debug|x64 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_DLL|ARM64.Build.0 = Debug|x64 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_DLL|x64.ActiveCfg = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_DLL|x64.Build.0 = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_DLL|x86.ActiveCfg = Debug|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_DLL|x86.Build.0 = Debug|x86 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_LIB|ARM64.ActiveCfg = Debug|x64 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_LIB|ARM64.Build.0 = Debug|x64 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_LIB|x64.ActiveCfg = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_LIB|x64.Build.0 = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_LIB|x86.ActiveCfg = Debug|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug_LIB|x86.Build.0 = Debug|x86 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug|ARM64.ActiveCfg = Debug|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug|x64.ActiveCfg = Debug|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug|x86.ActiveCfg = Debug|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Debug|x86.Build.0 = Debug|x86 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_DLL|ARM64.ActiveCfg = Debug|x64 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_DLL|ARM64.Build.0 = Debug|x64 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_DLL|x64.ActiveCfg = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_DLL|x64.Build.0 = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_DLL|x86.ActiveCfg = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_DLL|x86.Build.0 = Release|x86 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_LIB|ARM64.ActiveCfg = Debug|x64 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_LIB|ARM64.Build.0 = Debug|x64 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_LIB|x64.ActiveCfg = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_LIB|x64.Build.0 = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_LIB|x86.ActiveCfg = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release_LIB|x86.Build.0 = Release|x86 + {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release|ARM64.ActiveCfg = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release|x64.ActiveCfg = Release|x64 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release|x64.Build.0 = Release|x64 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release|x86.ActiveCfg = Release|x86 {C722B85E-FC7D-475F-A518-C8E13ECDB201}.Release|x86.Build.0 = Release|x86 + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug_DLL|ARM64.ActiveCfg = Debug|ARM64 + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug_DLL|ARM64.Build.0 = Debug|ARM64 {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug_DLL|x64.ActiveCfg = Debug|Any CPU {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug_DLL|x86.ActiveCfg = Debug|Any CPU + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug_LIB|ARM64.ActiveCfg = Debug|ARM64 + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug_LIB|ARM64.Build.0 = Debug|ARM64 {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug_LIB|x64.ActiveCfg = Debug|Any CPU {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug_LIB|x86.ActiveCfg = Debug|Any CPU + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug|ARM64.ActiveCfg = Debug|ARM64 {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug|x64.ActiveCfg = Debug|Any CPU {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Debug|x86.ActiveCfg = Debug|Any CPU + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release_DLL|ARM64.ActiveCfg = Release|ARM64 + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release_DLL|ARM64.Build.0 = Release|ARM64 {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release_DLL|x64.ActiveCfg = Release|Any CPU {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release_DLL|x86.ActiveCfg = Release|Any CPU + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release_LIB|ARM64.ActiveCfg = Release|ARM64 + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release_LIB|ARM64.Build.0 = Release|ARM64 {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release_LIB|x64.ActiveCfg = Release|Any CPU {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release_LIB|x86.ActiveCfg = Release|Any CPU + {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release|ARM64.ActiveCfg = Release|ARM64 {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release|x64.ActiveCfg = Release|Any CPU {C2BA387E-D491-4FB7-8BEE-99D77E8949E7}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection diff --git a/build/_build.csproj b/build/_build.csproj index 9202421..81150f0 100644 --- a/build/_build.csproj +++ b/build/_build.csproj @@ -7,6 +7,7 @@ CS0649;CS0169 .. .. + AnyCPU;ARM64 diff --git a/sdk/src/ViGEmClient.vcxproj b/sdk/src/ViGEmClient.vcxproj index 8784dbd..1617ed0 100644 --- a/sdk/src/ViGEmClient.vcxproj +++ b/sdk/src/ViGEmClient.vcxproj @@ -1,6 +1,10 @@  + + Debug_DLL + ARM64 + Debug_DLL Win32 @@ -9,10 +13,18 @@ Debug_DLL x64 + + Debug_LIB + ARM64 + Debug_LIB Win32 + + Release_DLL + ARM64 + Release_DLL Win32 @@ -21,6 +33,10 @@ Release_DLL x64 + + Release_LIB + ARM64 + Release_LIB Win32 @@ -78,12 +94,24 @@ v142 Unicode + + StaticLibrary + true + v142 + Unicode + DynamicLibrary true v142 Unicode + + DynamicLibrary + true + v142 + Unicode + StaticLibrary false @@ -91,6 +119,13 @@ true Unicode + + StaticLibrary + false + v142 + true + Unicode + DynamicLibrary false @@ -98,6 +133,13 @@ true Unicode + + DynamicLibrary + false + v142 + true + Unicode + @@ -118,15 +160,27 @@ + + + + + + + + + + + + $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); @@ -148,18 +202,30 @@ $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(SolutionDir)lib\debug\$(PlatformShortName)\ + + $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); + $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(SolutionDir)bin\debug\$(PlatformShortName)\ + + $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); + $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(SolutionDir)lib\release\$(PlatformShortName)\ + + $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); + $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(SolutionDir)bin\release\$(PlatformShortName)\ + + $(ProjectDir)../include;$(VC_IncludePath);$(WindowsSDK_IncludePath); + @@ -206,6 +272,20 @@ Windows + + + + + Level3 + Disabled + WIN32_LEAN_AND_MEAN;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + + + Windows + + @@ -221,6 +301,21 @@ setupapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + Disabled + WIN32_LEAN_AND_MEAN;VIGEM_DYNAMIC;VIGEM_EXPORTS;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + + + Windows + setupapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + Level3 @@ -279,6 +374,24 @@ true + + + Level3 + + + MaxSpeed + true + true + WIN32_LEAN_AND_MEAN;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreaded + + + Windows + true + true + + Level3 @@ -298,6 +411,25 @@ setupapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + Level3 + + + MaxSpeed + true + true + WIN32_LEAN_AND_MEAN;VIGEM_DYNAMIC;VIGEM_EXPORTS;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreaded + + + Windows + true + true + setupapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + diff --git a/stage0.ps1 b/stage0.ps1 new file mode 100644 index 0000000..4263a3a --- /dev/null +++ b/stage0.ps1 @@ -0,0 +1,123 @@ +Param( + [Parameter(Mandatory=$true)] + [string]$BuildVersion, + [Parameter(Mandatory=$true)] + [string]$Token, + [Parameter(Mandatory=$false)] + [string]$Path = "./artifacts", + [Parameter(Mandatory=$false)] + [Switch]$NoSigning +) #end param + +$signTool = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" +$timestampUrl = "http://timestamp.digicert.com" +$certName = "Nefarius Software Solutions e.U." + +function Get-AppVeyorArtifacts +{ + [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = 'Low')] + param( + #The name of the account you wish to download artifacts from + [parameter(Mandatory = $true)] + [string]$Account, + #The name of the project you wish to download artifacts from + [parameter(Mandatory = $true)] + [string]$Project, + #Where to save the downloaded artifacts. Defaults to current directory. + [alias("DownloadDirectory")][string]$Path = '.', + [string]$Token, + #Filter to a specific branch or project directory. You can specify Branch as either branch name ("master") or build version ("0.1.29") + [string]$Branch, + #If you have multiple build jobs, specify which job you wish to retrieve the artifacts from + [string]$JobName, + #Download all files into a single directory, do not preserve any hierarchy that might exist in the artifacts + [switch]$Flat, + [string]$Proxy, + [switch]$ProxyUseDefaultCredentials, + #URL of Appveyor API. You normally shouldn't need to change this. + $apiUrl = 'https://ci.appveyor.com/api' + ) + + $headers = @{ + 'Content-type' = 'application/json' + } + + if ($Token) {$headers.'Authorization' = "Bearer $token"} + + # Prepare proxy args to splat to Invoke-RestMethod + $proxyArgs = @{} + if (-not [string]::IsNullOrEmpty($proxy)) { + $proxyArgs.Add('Proxy', $proxy) + } + if ($proxyUseDefaultCredentials.IsPresent) { + $proxyArgs.Add('ProxyUseDefaultCredentials', $proxyUseDefaultCredentials) + } + + $errorActionPreference = 'Stop' + $projectURI = "$apiUrl/projects/$account/$project" + if ($Branch) {$projectURI = $projectURI + "/build/$Branch"} + + $projectObject = Invoke-RestMethod -Method Get -Uri $projectURI ` + -Headers $headers @proxyArgs + + if (-not $projectObject.build.jobs) {throw "No jobs found for this project or the project and/or account name was incorrectly specified"} + + if (($projectObject.build.jobs.count -gt 1) -and -not $jobName) { + throw "Multiple Jobs found for the latest build. Please specify the -JobName paramter to select which job you want the artifacts for" + } + + if ($JobName) { + $jobid = ($projectObject.build.jobs | Where-Object name -eq "$JobName" | Select-Object -first 1).jobid + if (-not $jobId) {throw "Unable to find a job named $JobName within the latest specified build. Did you spell it correctly?"} + } else { + $jobid = $projectObject.build.jobs[0].jobid + } + + $artifacts = Invoke-RestMethod -Method Get -Uri "$apiUrl/buildjobs/$jobId/artifacts" ` + -Headers $headers @proxyArgs + $artifacts ` + | ? { $psCmdlet.ShouldProcess($_.fileName) } ` + | % { + + $type = $_.type + + $localArtifactPath = $_.fileName -split '/' | % { [Uri]::UnescapeDataString($_) } + if ($flat.IsPresent) { + $localArtifactPath = ($localArtifactPath | select -Last 1) + } else { + $localArtifactPath = $localArtifactPath -join [IO.Path]::DirectorySeparatorChar + } + $localArtifactPath = Join-Path $path $localArtifactPath + + $artifactUrl = "$apiUrl/buildjobs/$jobId/artifacts/$($_.fileName)" + Write-Verbose "Downloading $artifactUrl to $localArtifactPath" + + New-Item -ItemType Directory -Force -Path (Split-Path -Path $localArtifactPath) | Out-Null + + Invoke-RestMethod -Method Get -Uri $artifactUrl -OutFile $localArtifactPath -Headers $headers @proxyArgs + + New-Object PSObject -Property @{ + 'Source' = $artifactUrl + 'Type' = $type + 'Target' = $localArtifactPath + } + } +} + +# Download x64 binaries +Get-AppVeyorArtifacts -Account "nefarius" -Project "ViGemBus" -Path $Path -Token $Token -Branch $BuildVersion -JobName "Platform: x64" + +# Download x86 binaries +Get-AppVeyorArtifacts -Account "nefarius" -Project "ViGemBus" -Path $Path -Token $Token -Branch $BuildVersion -JobName "Platform: x86" + +# List of files to sign +$files = "`".\artifacts\disk1\*.cab`" " + +if ($NoSigning -eq $false) { + # sign with only one certificate + Invoke-Expression "& `"$signTool`" sign /v /as /n `"$certName`" /tr $timestampUrl /fd sha256 /td sha256 $files" +} + +# Print helper job names for sign portal +"ViGemBus x86 v$BuildVersion $(Get-Date -Format "dd.MM.yyyy")" +"ViGemBus x64 v$BuildVersion $(Get-Date -Format "dd.MM.yyyy")" diff --git a/sys/Dmf.props b/sys/Dmf.props new file mode 100644 index 0000000..e010b1d --- /dev/null +++ b/sys/Dmf.props @@ -0,0 +1,20 @@ + + + + + + <_PropertySheetDisplayName>Driver Module Framework + + $(SolutionDir)..\ + + + + $(DmfRootPath)\DMF\Modules.Library;$(DmfRootPath)\DMF\Modules.Template;$(DmfRootPath)\DMF\Modules.Library.Tests;$(DmfRootPath)\DMF\Framework;$(IntDir);%(AdditionalIncludeDirectories) + + + $(DmfRootPath)\$(Configuration)\$(PlatformName)\lib\DmfK\DmfK.lib;$(DmfRootPath)\$(Configuration)\$(PlatformName)\individual_libs\DmfKModules.Template\DmfKModules.Template.lib;%(AdditionalDependencies); + $(DmfRootPath)\$(Configuration)\$(PlatformName)\lib\DmfU\DmfU.lib;$(DmfRootPath)\$(Configuration)\$(PlatformName)\individual_libs\DmfUModules.Template\DmfUModules.Template.lib;%(AdditionalDependencies); + + + + diff --git a/sys/ViGEmBus.inf b/sys/ViGEmBus.inf index 0d90220..7395265 100644 --- a/sys/ViGEmBus.inf +++ b/sys/ViGEmBus.inf @@ -56,7 +56,7 @@ WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll = 1 ;***************************************** [Manufacturer] -%ManufacturerName%=Standard,NTamd64,NTx86 +%ManufacturerName%=Standard,NTamd64,NTx86,NTARM64 [Standard.NTamd64] %ViGEmBus.DeviceDesc%=ViGEmBus_Device, Nefarius\ViGEmBus\Gen1 @@ -64,6 +64,9 @@ WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll = 1 [Standard.NTx86] %ViGEmBus.DeviceDesc%=ViGEmBus_Device, Nefarius\ViGEmBus\Gen1 +[Standard.NTARM64] +%ViGEmBus.DeviceDesc%=ViGEmBus_Device, Nefarius\ViGEmBus\Gen1 + [ViGEmBus_Device.NT] CopyFiles=Drivers_Dir diff --git a/sys/ViGEmBus.vcxproj b/sys/ViGEmBus.vcxproj index ba47578..2a399db 100644 --- a/sys/ViGEmBus.vcxproj +++ b/sys/ViGEmBus.vcxproj @@ -158,16 +158,19 @@ Windows10 true + Spectre Windows10 false + Spectre + @@ -211,10 +214,10 @@ true _X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions) stdcpp17 - ..\..\DMF\DMF\Modules.Library;..\..\DMF\DMF\Framework;$(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) + $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) - ..\..\DMF\Debug\Win32\lib\DmfK\DmfK.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib + $(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib @@ -225,10 +228,10 @@ true _X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions) stdcpp17 - ..\..\DMF\DMF\Modules.Library;..\..\DMF\DMF\Framework;$(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) + $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) - ..\..\DMF\Release\Win32\lib\DmfK\DmfK.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib + $(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib 1.0.0.0 @@ -242,10 +245,10 @@ true _WIN64;_AMD64_;AMD64;%(PreprocessorDefinitions) stdcpp17 - ..\..\DMF\DMF\Modules.Library;..\..\DMF\DMF\Framework;$(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) + $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) - ..\..\DMF\Debug\x64\lib\DmfK\DmfK.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib + $(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib @@ -256,10 +259,10 @@ true _WIN64;_AMD64_;AMD64;%(PreprocessorDefinitions) stdcpp17 - ..\..\DMF\DMF\Modules.Library;..\..\DMF\DMF\Framework;$(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) + $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) - ..\..\DMF\Release\x64\lib\DmfK\DmfK.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib + $(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib 1.0.0.0 @@ -271,6 +274,7 @@ true trace.h true + $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) %(AdditionalDependencies);ntstrsafe.lib @@ -282,6 +286,7 @@ true trace.h true + $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) %(AdditionalDependencies);ntstrsafe.lib @@ -293,9 +298,12 @@ true trace.h true + $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) + stdcpp17 + 5040;4064;4627;4627;4366;%(DisableSpecificWarnings) - %(AdditionalDependencies);ntstrsafe.lib + %(AdditionalDependencies);ntstrsafe.lib;usbdex.lib @@ -304,9 +312,12 @@ true trace.h true + $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) + stdcpp17 + 5040;4064;4627;4627;4366;%(DisableSpecificWarnings) - %(AdditionalDependencies);ntstrsafe.lib + %(AdditionalDependencies);ntstrsafe.lib;usbdex.lib