NowPlaying: Compile most TagLib files together for greatly increased build performance

This commit is contained in:
Birunthan Mohanathas 2014-01-05 14:04:01 +02:00
parent d1d47b384e
commit d8a046111f
3 changed files with 102 additions and 255 deletions

View File

@ -44,6 +44,7 @@
<ClCompile Include="PlayerWMP.cpp" />
<ClCompile Include="SDKs\iTunes\iTunesCOMInterface_i.c" />
<ClCompile Include="StdAfx.cpp" />
<ClCompile Include="TagLibUnity.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Cover.h" />
@ -135,72 +136,8 @@
<ClInclude Include="taglib\asf\asftag.h" />
<ClInclude Include="taglib\asf\asfattribute.h" />
<ClInclude Include="taglib\asf\asfpicture.h" />
<ClCompile Include="taglib\mpeg\mpegfile.cpp" />
<ClCompile Include="taglib\mpeg\mpegproperties.cpp" />
<ClCompile Include="taglib\mpeg\mpegheader.cpp" />
<ClCompile Include="taglib\mpeg\xingheader.cpp" />
<ClCompile Include="taglib\mpeg\id3v1\id3v1tag.cpp" />
<ClCompile Include="taglib\mpeg\id3v1\id3v1genres.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\id3v2framefactory.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\id3v2synchdata.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\id3v2tag.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\id3v2header.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\id3v2frame.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\id3v2footer.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\id3v2extendedheader.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\attachedpictureframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\commentsframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\generalencapsulatedobjectframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\ownershipframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\popularimeterframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\privateframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\relativevolumeframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\textidentificationframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\uniquefileidentifierframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\unknownframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\unsynchronizedlyricsframe.cpp" />
<ClCompile Include="taglib\mpeg\id3v2\frames\urllinkframe.cpp" />
<ClCompile Include="taglib\ogg\oggfile.cpp" />
<ClCompile Include="taglib\ogg\oggpage.cpp" />
<ClCompile Include="taglib\ogg\oggpageheader.cpp" />
<ClCompile Include="taglib\ogg\xiphcomment.cpp" />
<ClCompile Include="taglib\ogg\vorbis\vorbisfile.cpp" />
<ClCompile Include="taglib\ogg\vorbis\vorbisproperties.cpp" />
<ClCompile Include="taglib\ogg\flac\oggflacfile.cpp" />
<ClCompile Include="taglib\mpc\mpcfile.cpp" />
<ClCompile Include="taglib\mpc\mpcproperties.cpp" />
<ClCompile Include="taglib\ape\apetag.cpp" />
<ClCompile Include="taglib\ape\apefooter.cpp" />
<ClCompile Include="taglib\ape\apeitem.cpp" />
<ClCompile Include="taglib\ape\apefile.cpp" />
<ClCompile Include="taglib\ape\apeproperties.cpp" />
<ClCompile Include="taglib\toolkit\tpropertymap.cpp" />
<ClCompile Include="taglib\toolkit\tstring.cpp" />
<ClCompile Include="taglib\toolkit\tstringlist.cpp" />
<ClCompile Include="taglib\toolkit\tbytevector.cpp" />
<ClCompile Include="taglib\toolkit\tbytevectorlist.cpp" />
<ClCompile Include="taglib\toolkit\tbytevectorstream.cpp" />
<ClCompile Include="taglib\toolkit\tiostream.cpp" />
<ClCompile Include="taglib\toolkit\tfile.cpp" />
<ClCompile Include="taglib\toolkit\tfilestream.cpp" />
<ClCompile Include="taglib\toolkit\tdebug.cpp" />
<ClCompile Include="taglib\toolkit\trefcounter.cpp" />
<ClCompile Include="taglib\toolkit\tdebuglistener.cpp" />
<ClCompile Include="taglib\toolkit\unicode.cpp" />
<ClCompile Include="taglib\flac\flacfile.cpp" />
<ClCompile Include="taglib\flac\flacpicture.cpp" />
<ClCompile Include="taglib\flac\flacproperties.cpp" />
<ClCompile Include="taglib\flac\flacmetadatablock.cpp" />
<ClCompile Include="taglib\flac\flacunknownmetadatablock.cpp" />
<ClCompile Include="taglib\asf\asftag.cpp" />
<ClCompile Include="taglib\asf\asffile.cpp" />
<ClCompile Include="taglib\asf\asfproperties.cpp" />
<ClCompile Include="taglib\asf\asfattribute.cpp" />
<ClCompile Include="taglib\asf\asfpicture.cpp" />
<ClCompile Include="taglib\tag.cpp" />
<ClCompile Include="taglib\tagunion.cpp" />
<ClCompile Include="taglib\fileref.cpp" />
<ClCompile Include="taglib\audioproperties.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="PluginNowPlaying.rc" />

View File

@ -69,203 +69,14 @@
<ClCompile Include="Internet.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="taglib\ape\apefile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ape\apefooter.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ape\apeitem.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ape\apeproperties.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ape\apetag.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\asf\asfattribute.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\asf\asffile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\asf\asfpicture.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\asf\asfproperties.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\asf\asftag.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\attachedpictureframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\audioproperties.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\commentsframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\fileref.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\flac\flacfile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\flac\flacmetadatablock.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\flac\flacpicture.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\flac\flacproperties.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\flac\flacunknownmetadatablock.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\generalencapsulatedobjectframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v1\id3v1genres.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v1\id3v1tag.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\id3v2extendedheader.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\id3v2footer.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\id3v2frame.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\id3v2framefactory.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\id3v2header.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\id3v2synchdata.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\id3v2tag.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpc\mpcfile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpc\mpcproperties.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\mpegfile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\mpegheader.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\mpegproperties.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ogg\oggfile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ogg\flac\oggflacfile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ogg\oggpage.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ogg\oggpageheader.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\ownershipframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\popularimeterframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\privateframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\relativevolumeframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\tag.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\tagunion.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tbytevector.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tbytevectorlist.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tbytevectorstream.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tdebug.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tdebuglistener.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\textidentificationframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tfile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tfilestream.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tiostream.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\trefcounter.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tstring.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tstringlist.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\unicode.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\uniquefileidentifierframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\unknownframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\unsynchronizedlyricsframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\id3v2\frames\urllinkframe.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ogg\vorbis\vorbisfile.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ogg\vorbis\vorbisproperties.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\mpeg\xingheader.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\ogg\xiphcomment.cpp">
<Filter>taglib</Filter>
</ClCompile>
<ClCompile Include="taglib\toolkit\tpropertymap.cpp">
<Filter>taglib</Filter>
<ClCompile Include="TagLibUnity.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>

View File

@ -0,0 +1,99 @@
/*
Copyright (C) 2014 Birunthan Mohanathas
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
// TagLib unity build: This file includes most TagLib source files. By compiling all of them
// together, the build performance is greatly increased.
// The following includes have been commented out and are compiled separately due to e.g.
// mismatching symbols.
/*
#include "taglib\mpeg\id3v2\id3v2tag.cpp"
#include "taglib\toolkit\tfile.cpp"
*/
#pragma warning(push)
#pragma warning(disable: 4244; disable: 4267)
#include "taglib\fileref.cpp"
#include "taglib\tag.cpp"
#include "taglib\tagunion.cpp"
#include "taglib\flac\flacproperties.cpp"
#include "taglib\mpc\mpcproperties.cpp"
#include "taglib\mpeg\id3v1\id3v1tag.cpp"
#include "taglib\mpeg\id3v2\id3v2footer.cpp"
#include "taglib\ogg\flac\oggflacfile.cpp"
#include "taglib\ape\apefile.cpp"
#include "taglib\ape\apefooter.cpp"
#include "taglib\ape\apeitem.cpp"
#include "taglib\ape\apeproperties.cpp"
#include "taglib\ape\apetag.cpp"
#include "taglib\asf\asfattribute.cpp"
#include "taglib\asf\asffile.cpp"
#include "taglib\asf\asfpicture.cpp"
#include "taglib\asf\asfproperties.cpp"
#include "taglib\asf\asftag.cpp"
#include "taglib\audioproperties.cpp"
#include "taglib\flac\flacfile.cpp"
#include "taglib\flac\flacmetadatablock.cpp"
#include "taglib\flac\flacpicture.cpp"
#include "taglib\flac\flacunknownmetadatablock.cpp"
#include "taglib\mpc\mpcfile.cpp"
#include "taglib\mpeg\id3v1\id3v1genres.cpp"
#include "taglib\mpeg\id3v2\frames\attachedpictureframe.cpp"
#include "taglib\mpeg\id3v2\frames\commentsframe.cpp"
#include "taglib\mpeg\id3v2\frames\generalencapsulatedobjectframe.cpp"
#include "taglib\mpeg\id3v2\frames\ownershipframe.cpp"
#include "taglib\mpeg\id3v2\frames\popularimeterframe.cpp"
#include "taglib\mpeg\id3v2\frames\privateframe.cpp"
#include "taglib\mpeg\id3v2\frames\relativevolumeframe.cpp"
#include "taglib\mpeg\id3v2\frames\textidentificationframe.cpp"
#include "taglib\mpeg\id3v2\frames\uniquefileidentifierframe.cpp"
#include "taglib\mpeg\id3v2\frames\unknownframe.cpp"
#include "taglib\mpeg\id3v2\frames\unsynchronizedlyricsframe.cpp"
#include "taglib\mpeg\id3v2\frames\urllinkframe.cpp"
#include "taglib\mpeg\id3v2\id3v2extendedheader.cpp"
#include "taglib\mpeg\id3v2\id3v2frame.cpp"
#include "taglib\mpeg\id3v2\id3v2framefactory.cpp"
#include "taglib\mpeg\id3v2\id3v2header.cpp"
#include "taglib\mpeg\id3v2\id3v2synchdata.cpp"
#include "taglib\mpeg\mpegfile.cpp"
#include "taglib\mpeg\mpegheader.cpp"
#include "taglib\mpeg\mpegproperties.cpp"
#include "taglib\mpeg\xingheader.cpp"
#include "taglib\ogg\oggfile.cpp"
#include "taglib\ogg\oggpage.cpp"
#include "taglib\ogg\oggpageheader.cpp"
#include "taglib\ogg\vorbis\vorbisfile.cpp"
#include "taglib\ogg\vorbis\vorbisproperties.cpp"
#include "taglib\ogg\xiphcomment.cpp"
#include "taglib\toolkit\tbytevector.cpp"
#include "taglib\toolkit\tbytevectorlist.cpp"
#include "taglib\toolkit\tbytevectorstream.cpp"
#include "taglib\toolkit\tdebug.cpp"
#include "taglib\toolkit\tdebuglistener.cpp"
#include "taglib\toolkit\tfilestream.cpp"
#include "taglib\toolkit\tiostream.cpp"
#include "taglib\toolkit\tpropertymap.cpp"
#include "taglib\toolkit\trefcounter.cpp"
#include "taglib\toolkit\tstring.cpp"
#include "taglib\toolkit\tstringlist.cpp"
#include "taglib\toolkit\unicode.cpp"
#pragma warning(pop)