Build: Use deps DLLs on Windows

This commit is contained in:
Stenzek
2024-03-24 14:07:32 +10:00
parent 68ff16e187
commit b143d96476
20 changed files with 286 additions and 447 deletions

View File

@ -5,12 +5,6 @@
<ProjectReference Include="..\lzma\lzma.vcxproj">
<Project>{dd944834-7899-4c1c-a4c1-064b5009d239}</Project>
</ProjectReference>
<ProjectReference Include="..\zlib\zlib.vcxproj">
<Project>{7ff9fdb9-d504-47db-a16a-b08071999620}</Project>
</ProjectReference>
<ProjectReference Include="..\zstd\zstd.vcxproj">
<Project>{73ee0c55-6ffe-44e7-9c12-baa52434a797}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\libchdr_bitstream.c" />
@ -36,7 +30,7 @@
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<AdditionalIncludeDirectories>$(SolutionDir)dep\zlib\include;$(SolutionDir)dep\lzma\include;$(SolutionDir)dep\zstd\lib;$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories);$(SolutionDir)dep\lzma\include</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="..\msvc\vsprops\Targets.props" />

View File

@ -16,11 +16,6 @@
<ClInclude Include="include\zip.h" />
<ClInclude Include="src\crypt.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\zlib\zlib.vcxproj">
<Project>{7ff9fdb9-d504-47db-a16a-b08071999620}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8BDA439C-6358-45FB-9994-2FF083BABE06}</ProjectGuid>
</PropertyGroup>

View File

@ -1,5 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Dependencies -->
<PropertyGroup Label="UserMacros">
<DepsRootDir Condition="'$(Platform)'=='x64'">$(SolutionDir)dep\msvc\deps-x64\</DepsRootDir>
<DepsRootDir Condition="'$(Platform)'=='ARM64'">$(SolutionDir)dep\msvc\deps-arm64\</DepsRootDir>
<DepsBinDir>$(DepsRootDir)bin\</DepsBinDir>
<DepsLibDir>$(DepsRootDir)lib\</DepsLibDir>
<DepsIncludeDir>$(DepsRootDir)include\</DepsIncludeDir>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.Contains(Debug))">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
@ -19,6 +28,7 @@
<LanguageStandard>stdcpp17</LanguageStandard>
<ConformanceMode>true</ConformanceMode>
<PreprocessorDefinitions>_HAS_EXCEPTIONS=0;_CRT_INTERNAL_NONSTDC_NAMES;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DepsIncludeDir)</AdditionalIncludeDirectories>
<AdditionalOptions Condition="!$(Configuration.Contains(Clang))">/Zc:__cplusplus /Zo /utf-8 %(AdditionalOptions)</AdditionalOptions>
<!-- Force ThinLTO for Release builds, MSVC doesn't seem to do it otherwise. -->
<AdditionalOptions Condition="$(Configuration.Contains(Clang)) And $(Configuration.Contains(ReleaseLTCG))"> -flto=thin %(AdditionalOptions)</AdditionalOptions>
@ -26,6 +36,7 @@
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(DepsLibDir)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PropertyGroup Label="UserMacros">
<IntDir>$(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)bin\$(Platform)\</OutDir>
<GenerateProjectSpecificOutputFolder>false</GenerateProjectSpecificOutputFolder>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<SDL2BinaryOutputDir>$(SolutionDir)bin\$(Platform)\</SDL2BinaryOutputDir>
<SDL2Dir>$(SolutionDir)dep\msvc\sdl2\</SDL2Dir>
<SDL2Dir Condition="'$(Platform)'=='x64'">$(SolutionDir)dep\msvc\deps-x64\</SDL2Dir>
<SDL2Dir Condition="'$(Platform)'=='ARM64'">$(SolutionDir)dep\msvc\deps-arm64\</SDL2Dir>
<SDL2LibSuffix></SDL2LibSuffix>
<SDL2LibSuffix Condition="$(Configuration.Contains(Debug))">d</SDL2LibSuffix>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SDL2Dir)include\SDL2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(SDL2Dir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>SDL2$(SDL2LibSuffix).lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib>
<AdditionalLibraryDirectories>$(SDL2Dir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>SDL2$(SDL2LibSuffix).lib;%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<!--Copy the needed dlls-->
<ItemGroup>
<SDL2Dlls Include="$(SDL2Dir)bin\SDL2$(SDL2LibSuffix).dll" />
</ItemGroup>
<Target Name="SDL2CopyBinaries"
AfterTargets="Build"
Inputs="@(SDL2Dlls)"
Outputs="@(SDL2Dlls -> '$(SDL2BinaryOutputDir)%(RecursiveDir)%(Filename)%(Extension)')">
<Message Text="Copying SDL2 .dlls" Importance="High" />
<Copy
SourceFiles="@(SDL2Dlls)"
DestinationFolder="$(SDL2BinaryOutputDir)"
SkipUnchangedFiles="true"
/>
</Target>
</Project>