Skip to content

Commit

Permalink
Merge pull request #393 from avaraline/msvc-2024
Browse files Browse the repository at this point in the history
MSVC solution
  • Loading branch information
assertivist authored Apr 4, 2024
2 parents 28d74d1 + 13487dc commit 91133d3
Show file tree
Hide file tree
Showing 22 changed files with 2,134 additions and 34 deletions.
32 changes: 20 additions & 12 deletions .github/workflows/avara-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse"
sudo apt-get update -y -qq
sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libegl1-mesa-dev libgles2-mesa-dev libdirectfb-dev libgtest-dev
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: make
run: make -j2
- name: Run headless test
Expand All @@ -27,16 +27,23 @@ jobs:
name: Windows
runs-on: windows-latest
steps:
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
install: rsync git zip mingw-w64-x86_64-SDL2 mingw-w64-x86_64-clang mingw-w64-x86_64-glbinding mingw-w64-x86_64-glew make
- uses: actions/checkout@v2
- name: make
shell: msys2 {0}
- uses: actions/checkout@v4
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Setup vcpkg
uses: lukka/run-vcpkg@v11
- name: Build
run: |
make clean
make -j2 windist
vcpkg integrate install
.\bin\git_version.ps1
msbuild /m /p:Platform=x64 /p:Configuration=Release .\Avara.msvc\Avara.sln
shell: pwsh
- name: Run headless test
run: .\Avara.msvc\x64\Release\Tests.exe
shell: pwsh
- name: WinAvara archive
run: .\bin\winavarazip.ps1
shell: pwsh
- name: deploy main nightly
if: startsWith(github.repository_owner, 'avaraline') && endsWith(github.ref, 'main')
uses: WebFreak001/[email protected]
Expand All @@ -58,9 +65,10 @@ jobs:
wget -q "https://github.com/libsdl-org/SDL/releases/download/release-2.26.2/SDL2-2.26.2.dmg"
hdiutil attach SDL2-2.26.2.dmg
sudo cp -R /Volumes/SDL2/SDL2.framework /Library/Frameworks/
- uses: actions/checkout@v2
brew install googletest
- uses: actions/checkout@v4
- name: make
run: make clean macdist
run: make clean tests macdist
- name: deploy main nightly
if: startsWith(github.repository_owner, 'avaraline') && endsWith(github.ref, 'main')
uses: WebFreak001/[email protected]
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,10 @@ __pycache__
src/util/GitVersion.h
/*.alf
levels/*/log.txt
vcpkg-configuration.json
vcpkg_installed
.vs
Avara.msvc/x64/
Avara.msvc/Avara*/
Avara.msvc/Tests/
*.vcxproj.user
57 changes: 57 additions & 0 deletions Avara.msvc/Avara.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34714.143
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Avara", "Avara.vcxproj", "{0B8140FC-9E2D-416A-991D-129C52CCE3AC}"
ProjectSection(ProjectDependencies) = postProject
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7} = {E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tests", "Tests.vcxproj", "{50665FB6-D5CD-4A7E-9D51-EC421437F463}"
ProjectSection(ProjectDependencies) = postProject
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7} = {E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AvaraCore", "AvaraCore.vcxproj", "{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0B8140FC-9E2D-416A-991D-129C52CCE3AC}.Debug|x64.ActiveCfg = Debug|x64
{0B8140FC-9E2D-416A-991D-129C52CCE3AC}.Debug|x64.Build.0 = Debug|x64
{0B8140FC-9E2D-416A-991D-129C52CCE3AC}.Debug|x86.ActiveCfg = Debug|Win32
{0B8140FC-9E2D-416A-991D-129C52CCE3AC}.Debug|x86.Build.0 = Debug|Win32
{0B8140FC-9E2D-416A-991D-129C52CCE3AC}.Release|x64.ActiveCfg = Release|x64
{0B8140FC-9E2D-416A-991D-129C52CCE3AC}.Release|x64.Build.0 = Release|x64
{0B8140FC-9E2D-416A-991D-129C52CCE3AC}.Release|x86.ActiveCfg = Release|Win32
{0B8140FC-9E2D-416A-991D-129C52CCE3AC}.Release|x86.Build.0 = Release|Win32
{50665FB6-D5CD-4A7E-9D51-EC421437F463}.Debug|x64.ActiveCfg = Debug|x64
{50665FB6-D5CD-4A7E-9D51-EC421437F463}.Debug|x64.Build.0 = Debug|x64
{50665FB6-D5CD-4A7E-9D51-EC421437F463}.Debug|x86.ActiveCfg = Debug|Win32
{50665FB6-D5CD-4A7E-9D51-EC421437F463}.Debug|x86.Build.0 = Debug|Win32
{50665FB6-D5CD-4A7E-9D51-EC421437F463}.Release|x64.ActiveCfg = Release|x64
{50665FB6-D5CD-4A7E-9D51-EC421437F463}.Release|x64.Build.0 = Release|x64
{50665FB6-D5CD-4A7E-9D51-EC421437F463}.Release|x86.ActiveCfg = Release|Win32
{50665FB6-D5CD-4A7E-9D51-EC421437F463}.Release|x86.Build.0 = Release|Win32
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}.Debug|x64.ActiveCfg = Debug|x64
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}.Debug|x64.Build.0 = Debug|x64
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}.Debug|x86.ActiveCfg = Debug|Win32
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}.Debug|x86.Build.0 = Debug|Win32
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}.Release|x64.ActiveCfg = Release|x64
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}.Release|x64.Build.0 = Release|x64
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}.Release|x86.ActiveCfg = Release|Win32
{E5E15B6D-B9DC-4552-A6D3-577BD71FB4D7}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7B15B9BF-351E-43C0-9B32-C61CEDBD4BDC}
EndGlobalSection
EndGlobal
178 changes: 178 additions & 0 deletions Avara.msvc/Avara.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
<?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>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{0B8140FC-9E2D-416A-991D-129C52CCE3AC}</ProjectGuid>
<RootNamespace>Avara</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>Avara</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</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>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<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|x64'">
<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|x64'">
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(VCPKG_ROOT)\installed\x64-windows\debug\lib\manual-link</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(VCPKG_ROOT)\installed\x64-windows\lib\manual-link</LibraryPath>
</PropertyGroup>
<PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level2</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_WINSOCK_DEPRECATED_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;NANOGUI_GLAD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>..\src\audio;..\src\assets;..\src\base;..\src\bsp;..\src\compat;..\src\game;..\src\gui;..\src\level;..\src\net;..\src\render;..\src\tui;..\src\util;..\src\util\huffman;..\vendor\;..\vendor\nanogui;..\vendor\nanovg;..\vendor\pugixml;..\vendor\utf8;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ShowIncludes>false</ShowIncludes>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2maind.lib;shell32.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PreBuildEvent>
<Command>
</Command>
</PreBuildEvent>
<PostBuildEvent>
<Command>xcopy /E /Y "$(SolutionDir)..\rsrc\" "$(TargetDir)rsrc\" &amp;&amp; xcopy /E /Y "$(SolutionDir)..\levels\" "$(TargetDir)levels\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_WINSOCK_DEPRECATED_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;NANOGUI_GLAD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\src\audio;..\src\assets;..\src\base;..\src\bsp;..\src\compat;..\src\game;..\src\gui;..\src\level;..\src\net;..\src\render;..\src\tui;..\src\util;..\src\util\huffman;..\vendor\;..\vendor\nanogui;..\vendor\nanovg;..\vendor\pugixml;..\vendor\utf8;</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2main.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>xcopy /E /Y "$(SolutionDir)..\rsrc\" "$(TargetDir)rsrc\" &amp;&amp; xcopy /E /Y "$(SolutionDir)..\levels\" "$(TargetDir)levels\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\src\Avara.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="AvaraCore.vcxproj">
<Project>{e5e15b6d-b9dc-4552-a6d3-577bd71fb4d7}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\platform\windows\appicon.rc" />
<ResourceCompile Include="..\platform\windows\version.rc" />
</ItemGroup>
<ItemGroup>
<Image Include="..\platform\windows\avara.ico" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
Loading

0 comments on commit 91133d3

Please sign in to comment.