Skip to content

Commit

Permalink
Add test setup for MSVC build
Browse files Browse the repository at this point in the history
  • Loading branch information
jchv committed Aug 3, 2024
1 parent ba03544 commit 886e0a3
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 23 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/msvc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ jobs:
- uses: ilammy/msvc-dev-cmd@v1
- name: Build
run: msbuild.exe rugburn.sln "/p:Configuration=Release;Platform=x86"
- name: Test
run: ./out/Win32/Release/test.exe
- name: Upload
uses: actions/upload-artifact@v2
with:
Expand Down
6 changes: 6 additions & 0 deletions rugburn.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29123.88
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rugburn_test", "rugburn_test.vcxproj", "{CDF5F5B1-A35F-4E0D-87F4-41D1ABDE8D94}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rugburn", "rugburn.vcxproj", "{92071CFB-43D1-497D-BC04-B4646D0623BE}"
EndProject
Global
Expand All @@ -11,6 +13,10 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CDF5F5B1-A35F-4E0D-87F4-41D1ABDE8D94}.Debug|x86.ActiveCfg = Debug|Win32
{CDF5F5B1-A35F-4E0D-87F4-41D1ABDE8D94}.Debug|x86.Build.0 = Debug|Win32
{CDF5F5B1-A35F-4E0D-87F4-41D1ABDE8D94}.Release|x86.ActiveCfg = Release|Win32
{CDF5F5B1-A35F-4E0D-87F4-41D1ABDE8D94}.Release|x86.Build.0 = Release|Win32
{92071CFB-43D1-497D-BC04-B4646D0623BE}.Debug|x86.ActiveCfg = Debug|Win32
{92071CFB-43D1-497D-BC04-B4646D0623BE}.Debug|x86.Build.0 = Debug|Win32
{92071CFB-43D1-497D-BC04-B4646D0623BE}.Release|x86.ActiveCfg = Release|Win32
Expand Down
6 changes: 5 additions & 1 deletion rugburn.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<PreprocessorDefinitions>_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/Gs10000000 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
Expand All @@ -87,6 +88,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
<PreprocessorDefinitions>_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/Gs10000000 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
Expand Down Expand Up @@ -117,11 +119,13 @@
<ClCompile Include="src\ld.c" />
<ClCompile Include="src\hooks\msvcr100\msvcr100.c" />
<ClCompile Include="src\hooks\projectg\us852\ranking.c" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="src\stubs.asm">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ml /c /Fo$(OutDir)%(Filename).obj %(FullPath)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ml /c /Fo$(OutDir)%(Filename).obj %(FullPath)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)%(Filename).obj</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkObjects>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkObjects>
Expand Down
34 changes: 12 additions & 22 deletions rugburn.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,29 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="src\common.c" />
<ClCompile Include="src\dll\rugburn\main.c" />
<ClCompile Include="src\config.c" />
<ClCompile Include="src\hex.c" />
<ClCompile Include="src\ijl15.c" />
<ClCompile Include="src\json.c" />
<ClCompile Include="src\ld.c" />
<ClCompile Include="src\patch.c" />
<ClCompile Include="src\regex.c" />
<ClCompile Include="src\hooks\hooks.c" />
<ClCompile Include="src\hooks\comctl32\dynamic_patch.c" />
<ClCompile Include="src\hooks\kernel32\inject.c" />
<ClCompile Include="src\hooks\msvcr100\msvcr100.c" />
<ClCompile Include="src\hooks\projectg\us852\ranking.c" />
<ClCompile Include="src\hooks\user32\window.c" />
<ClCompile Include="src\hooks\wininet\netredir.c" />
<ClCompile Include="src\hooks\ws2_32\redir.c" />
<ClCompile Include="src\patch.c" />
<ClCompile Include="src\ld.c" />
<ClCompile Include="src\json.c" />
<ClCompile Include="src\regex.c" />
<ClCompile Include="src\config.c" />
<ClCompile Include="src\hooks\msvcr100\msvcr100.c" />
<ClCompile Include="src\hex.c" />
<ClCompile Include="src\hooks\projectg\us852\ranking.c" />
<ClCompile Include="src\hooks\comctl32\dynamic_patch.c" />
<ClCompile Include="src\dll\rugburn\main.c" />
</ItemGroup>
<ItemGroup>
<None Include="LICENSE.md" />
<None Include="README.md" />
<None Include="src\third_party\lend\COPYING" />
<None Include="export.def" />
</ItemGroup>
<ItemGroup>
<Filter Include="ijl15">
<UniqueIdentifier>{749b9e28-ce49-4aa7-999d-be4bb1077fc1}</UniqueIdentifier>
</Filter>
<Filter Include="msvcrt">
<UniqueIdentifier>{94f8af0b-1247-4f4a-929d-819e5285c358}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<Object Include="third_party\msvcrt\rtsyms.o">
<Filter>msvcrt</Filter>
</Object>
<CustomBuild Include="src\stubs.asm" />
</ItemGroup>
</Project>
143 changes: 143 additions & 0 deletions rugburn_test.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{cdf5f5b1-a35f-4e0d-87f4-41d1abde8d94}</ProjectGuid>
<RootNamespace>rugburntest</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<TargetName>test</TargetName>
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)obj\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<TargetName>test</TargetName>
<OutDir>$(SolutionDir)out\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)obj\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>
</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<BufferSecurityCheck>false</BufferSecurityCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<PreprocessorDefinitions>_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/Gs10000000 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EntryPointSymbol>start</EntryPointSymbol>
<AdditionalDependencies>kernel32.lib;user32.lib;shlwapi.lib;ws2_32.lib;$(ProjectDir)\third_party\msvcrt\msvcrt.lib;$(ProjectDir)\third_party\ijl\ijl15l.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>false</IntrinsicFunctions>
<SDLCheck>
</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<BufferSecurityCheck>false</BufferSecurityCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
<PreprocessorDefinitions>_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/Gs10000000 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EntryPointSymbol>start</EntryPointSymbol>
<AdditionalDependencies>kernel32.lib;user32.lib;shlwapi.lib;ws2_32.lib;$(ProjectDir)\third_party\msvcrt\msvcrt.lib;$(ProjectDir)\third_party\ijl\ijl15l.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\common.c" />
<ClCompile Include="src\config.c" />
<ClCompile Include="src\exe\test\main.c" />
<ClCompile Include="src\hex.c" />
<ClCompile Include="src\hooks\comctl32\dynamic_patch.c" />
<ClCompile Include="src\hooks\hooks.c" />
<ClCompile Include="src\hooks\kernel32\inject.c" />
<ClCompile Include="src\hooks\msvcr100\msvcr100.c" />
<ClCompile Include="src\hooks\projectg\us852\ranking.c" />
<ClCompile Include="src\hooks\user32\window.c" />
<ClCompile Include="src\hooks\wininet\netredir.c" />
<ClCompile Include="src\hooks\ws2_32\redir.c" />
<ClCompile Include="src\ijl15.c" />
<ClCompile Include="src\json.c" />
<ClCompile Include="src\ld.c" />
<ClCompile Include="src\patch.c" />
<ClCompile Include="src\regex.c" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="src\stubs.asm">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ml /c /Fo$(OutDir)%(Filename).obj %(FullPath)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ml /c /Fo$(OutDir)%(Filename).obj %(FullPath)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)%(Filename).obj</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkObjects>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkObjects>
<OutputItemType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Object</OutputItemType>
<OutputItemType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Object</OutputItemType>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="LICENSE.md" />
<None Include="README.md" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
29 changes: 29 additions & 0 deletions rugburn_test.vcxproj.filters
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="src\common.c" />
<ClCompile Include="src\config.c" />
<ClCompile Include="src\hex.c" />
<ClCompile Include="src\ijl15.c" />
<ClCompile Include="src\json.c" />
<ClCompile Include="src\ld.c" />
<ClCompile Include="src\patch.c" />
<ClCompile Include="src\regex.c" />
<ClCompile Include="src\hooks\hooks.c" />
<ClCompile Include="src\hooks\comctl32\dynamic_patch.c" />
<ClCompile Include="src\hooks\kernel32\inject.c" />
<ClCompile Include="src\hooks\msvcr100\msvcr100.c" />
<ClCompile Include="src\hooks\projectg\us852\ranking.c" />
<ClCompile Include="src\hooks\user32\window.c" />
<ClCompile Include="src\hooks\wininet\netredir.c" />
<ClCompile Include="src\hooks\ws2_32\redir.c" />
<ClCompile Include="src\exe\test\main.c" />
</ItemGroup>
<ItemGroup>
<None Include="LICENSE.md" />
<None Include="README.md" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="src\stubs.asm" />
</ItemGroup>
</Project>

0 comments on commit 886e0a3

Please sign in to comment.