161 lines
7.1 KiB
XML
161 lines
7.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
foo_input_joc: foobar2000 input component (E-AC-3 JOC / Dolby Atmos).
|
|
|
|
Built with the official SDK's own project files, referenced below. The
|
|
configuration name matters: the SDK ships Release (dynamic CRT) and
|
|
Release-Static (static CRT, /MT); this component uses Release-Static so no
|
|
runtime redistributable is required.
|
|
|
|
FOOBAR2000_TARGET_VERSION lives in the SDK's foobar2000-versions.h; tools/setup_sdk.ps1
|
|
sets it to 80 (foobar2000 1.5/1.6) so the same sources load on 1.6 and on 2.x.
|
|
-->
|
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
<ProjectConfiguration Include="Release-Static|Win32">
|
|
<Configuration>Release-Static</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release-Static|x64">
|
|
<Configuration>Release-Static</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{8F3A2C1E-6D4B-4F27-9E51-3C7B0A5D9E42}</ProjectGuid>
|
|
<RootNamespace>foo_input_joc</RootNamespace>
|
|
<ProjectName>foo_input_joc</ProjectName>
|
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
|
</PropertyGroup>
|
|
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
|
|
<PropertyGroup Condition="'$(Configuration)'=='Release-Static'" Label="Configuration">
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
<PlatformToolset>v143</PlatformToolset>
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
<UseOfMfc>false</UseOfMfc>
|
|
<UseOfAtl>false</UseOfAtl>
|
|
</PropertyGroup>
|
|
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
|
|
<ImportGroup Label="ExtensionSettings" />
|
|
<ImportGroup Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
|
|
<PropertyGroup Label="UserMacros" />
|
|
|
|
<PropertyGroup>
|
|
<OutDir>$(ProjectDir)build\$(Platform)\</OutDir>
|
|
<IntDir>$(ProjectDir)build\obj\$(Platform)\</IntDir>
|
|
<TargetName>foo_input_joc</TargetName>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
/fp:precise is required, not cosmetic: the rendered output has to stay
|
|
bit-identical to the reference renderer (see the project README).
|
|
-->
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
<WarningLevel>Level4</WarningLevel>
|
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
|
<FloatingPointModel>Precise</FloatingPointModel>
|
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<ConformanceMode>true</ConformanceMode>
|
|
<!-- Sources are UTF-8; without this MSVC reads them in the system codepage
|
|
and mis-parses every non-ASCII string literal. -->
|
|
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
|
<!--
|
|
JOC_STATIC: the rendering core is linked as a static library (see the
|
|
ProjectReference to kernel\joc_kernel.vcxproj), so kernel\include\
|
|
joc_core.h has to expand JOC_API to nothing. Without it the header
|
|
declares __declspec(dllimport) and the linker asks for __imp_joc_*
|
|
symbols that no import library provides.
|
|
-->
|
|
<PreprocessorDefinitions>NDEBUG;_WINDLL;WIN32_LEAN_AND_MEAN;NOMINMAX;_CRT_SECURE_NO_WARNINGS;JOC_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<ForcedIncludeFiles>$(ProjectDir)src\joc_pch.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
|
|
<AdditionalIncludeDirectories>$(ProjectDir)src;$(ProjectDir)SDK\foobar2000;$(ProjectDir)SDK;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<DisableSpecificWarnings>4100;4127;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
|
</ClCompile>
|
|
<Link>
|
|
<SubSystem>Windows</SubSystem>
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
<AdditionalDependencies>$(ProjectDir)SDK\foobar2000\shared\shared-$(Platform).lib;uxtheme.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<TargetMachine Condition="'$(Platform)'=='Win32'">MachineX86</TargetMachine>
|
|
<TargetMachine Condition="'$(Platform)'=='x64'">MachineX64</TargetMachine>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemGroup>
|
|
<ClCompile Include="src\container_scan.cpp" />
|
|
<ClCompile Include="src\eac3_scan.cpp" />
|
|
<ClCompile Include="src\input_joc.cpp" />
|
|
<ClCompile Include="src\joc_decode.cpp" />
|
|
<ClCompile Include="src\log.cpp" />
|
|
<ClCompile Include="src\main.cpp" />
|
|
<ClCompile Include="src\prefs.cpp" />
|
|
<ClCompile Include="src\settings.cpp" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ClInclude Include="src\container_scan.h" />
|
|
<ClInclude Include="src\eac3_scan.h" />
|
|
<ClInclude Include="src\joc_decode.h" />
|
|
<ClInclude Include="src\joc_pch.h" />
|
|
<ClInclude Include="src\log.h" />
|
|
<ClInclude Include="src\prefs.h" />
|
|
<ClInclude Include="src\resource.h" />
|
|
<ClInclude Include="src\settings.h" />
|
|
<ClInclude Include="src\win_path.h" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ResourceCompile Include="src\prefs.rc" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="SDK\foobar2000\SDK\foobar2000_SDK.vcxproj">
|
|
<Project>{E8091321-D79D-4575-86EF-064EA1A4A20D}</Project>
|
|
<Name>foobar2000_SDK</Name>
|
|
</ProjectReference>
|
|
<ProjectReference Include="SDK\foobar2000\foobar2000_component_client\foobar2000_component_client.vcxproj">
|
|
<Project>{71AD2674-065B-48F5-B8B0-E1F9D3892081}</Project>
|
|
<Name>foobar2000_component_client</Name>
|
|
</ProjectReference>
|
|
<ProjectReference Include="SDK\pfc\pfc.vcxproj">
|
|
<Project>{EBFFFB4E-261D-44D3-B89C-957B31A0BF9C}</Project>
|
|
<Name>pfc</Name>
|
|
</ProjectReference>
|
|
<!--
|
|
The rendering core, built as a static library from the kernel copy in
|
|
kernel\ (see kernel\joc_kernel.vcxproj). Its configurations are named
|
|
exactly like this project's, so one reference serves both of them: MSBuild
|
|
passes this project's Configuration/Platform straight through. Linking is
|
|
the default (LinkLibraryDependencies), and the kernel is compiled with
|
|
JOC_STATIC so its public headers declare nothing imported or exported.
|
|
-->
|
|
<ProjectReference Include="kernel\joc_kernel.vcxproj">
|
|
<Project>{7B4E1D92-5C3A-4E0B-9F6D-2A8C41E7B530}</Project>
|
|
<Name>joc_kernel</Name>
|
|
</ProjectReference>
|
|
<!--
|
|
foobar2000_sdk_helpers and libPPUI are deliberately not referenced: both
|
|
compile the SDK's ATL/WTL dialog framework, and WTL is an external download
|
|
that the SDK does not ship. The decoder and the M0 probe use no dialog, so
|
|
nothing here needs them. Whatever the preferences page uses is decided
|
|
when that page is written.
|
|
-->
|
|
</ItemGroup>
|
|
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<ImportGroup Label="ExtensionTargets" />
|
|
</Project>
|