Aegisub/aegisub/build/ffmpeg/ffmpeg.vcxproj
2012-11-15 15:25:24 -08:00

158 lines
5.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{F934AB7B-186B-4E96-B20C-A58C38C1B819}</ProjectGuid>
<Keyword>MakeFileProj</Keyword>
<ConfigurationType>Makefile</ConfigurationType>
</PropertyGroup>
<!-- Aegisub project configuration -->
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<UsingTask TaskName="ExecShellScript" AssemblyFile="$(AegisubBinaryDir)BuildTasks.dll" />
<UsingTask TaskName="MsysPath" AssemblyFile="$(AegisubBinaryDir)BuildTasks.dll" />
<UsingTask TaskName="UpdateFile" AssemblyFile="$(AegisubBinaryDir)BuildTasks.dll" />
<PropertyGroup Label="ConfigArgs">
<CfgDebug Condition="'$(Configuration)' == 'Debug'">--enable-debug --disable-stripping --extra-cflags=-MDd</CfgDebug>
<CfgDebug Condition="'$(Configuration)' == 'Release'">--disable-debug --extra-cflags=-MD</CfgDebug>
<CfgArgs>
--disable-avfilter
--disable-avresample
--disable-bzlib
--disable-devices
--disable-doc
--disable-encoders
--disable-ffmpeg
--disable-ffplay
--disable-ffprobe
--disable-ffserver
--disable-filters
--disable-hwaccels
--disable-muxers
--disable-network
--disable-postproc
--disable-pthreads
--disable-shared
--disable-swresample
--enable-gpl
--enable-runtime-cpudetect
--enable-static
--extra-cflags=-D_SYSCRT
--extra-cflags=-wd4005
--extra-cflags=-wd4189
--extra-cflags=-FI$(MSBuildThisFileDirectory)dynamic_msvcrt.h
--toolchain=msvc
$(CfgEnableDebug)
</CfgArgs>
</PropertyGroup>
<ItemGroup>
<ConfigureInput Include="$(FfmpegSrcDir)\configure" />
<ConfigureOutput Include="$(AegisubObjectDir)config.*" />
<ConfigureOutput Include="$(AegisubObjectDir)Makefile" />
<ConfigureOutput Include="$(AegisubObjectDir)libavutil\avconfig.h" />
<CompileInput Include="$(FfmpegSrcDir)\*.mak" />
<CompileInput Include="$(FfmpegSrcDir)\**\*.c" />
<CompileInput Include="$(FfmpegSrcDir)\**\*.asm" />
<CompileInput Include="$(FfmpegSrcDir)\**\Makefile" />
<CompileOutput Include="$(AegisubObjectDir)libavcodec\libavcodec.a" />
<CompileOutput Include="$(AegisubObjectDir)libavformat\libavformat.a" />
<CompileOutput Include="$(AegisubObjectDir)libavutil\libavutil.a" />
<CompileOutput Include="$(AegisubObjectDir)libswscale\libswscale.a" />
<InstallOutput Include="$(AegisubLibraryDir)libavcodec.a" />
<InstallOutput Include="$(AegisubLibraryDir)libavformat.a" />
<InstallOutput Include="$(AegisubLibraryDir)libavutil.a" />
<InstallOutput Include="$(AegisubLibraryDir)libswscale.a" />
</ItemGroup>
<Target Name="Configure"
Inputs="@(ConfigureInput)"
Outputs="@(ConfigureOutput)"
>
<MsysPath ProjectDir="$(MSBuildThisFileDirectory)" Path="$(AegisubObjectDir)\temp">
<Output TaskParameter="Result" PropertyName="CfgPrefix" />
</MsysPath>
<MsysPath ProjectDir="$(MSBuildThisFileDirectory)" Path="../../include">
<Output TaskParameter="Result" PropertyName="CfgIncludePrefix" />
</MsysPath>
<MsysPath ProjectDir="$(MSBuildThisFileDirectory)" Path="../../lib/$(Platform)/$(Configuration)">
<Output TaskParameter="Result" PropertyName="CfgLibPrefix" />
</MsysPath>
<ExecShellScript
Script="$(FfmpegSrcDir)\configure"
Arguments="$(CfgArgs) --prefix=$(CfgPrefix) --libdir=$(CfgLibPrefix) --incdir=$(CfgIncludePrefix)"
WorkingDirectory="$(AegisubObjectDir)"
/>
<!-- Ensure that Makefile has a recent modified time to avoid
rerunning configure pointlessly -->
<Touch Files="@(ConfigureOutput)" />
</Target>
<Target Name="Compile"
Inputs="@(ConfigureOutput);@(CompileInput)"
Outputs="@(CompileOutput)"
>
<ExecShellScript
Command="make"
Arguments="-j$(NUMBER_OF_PROCESSORS)"
WorkingDirectory="$(AegisubObjectDir)"
/>
</Target>
<Target Name="Install"
Inputs="@(CompileOutput)"
Outputs="@(InstallOutput)"
>
<ExecShellScript
Command="make install"
WorkingDirectory="$(AegisubObjectDir)"
/>
</Target>
<Target Name="Build">
<Error Condition="!Exists('$(FfmpegSrcDir)')" Text="FFmpeg source not found at '$(FfmpegSrcDir)'" />
<CallTarget Targets="Configure" />
<CallTarget Targets="Compile" />
<CallTarget Targets="Install" />
</Target>
<Target Name="Clean">
<RemoveDir Directories="$(AegisubObjectDir)" ContinueOnError="WarnAndContinue" />
</Target>
<Target Name="Rebuild">
<CallTarget Targets="Clean;Build" />
</Target>
</Project>