mirror of https://github.com/PCSX2/pcsx2.git
Simplify BuildBot and add a helper script for compilation.
This commit is contained in:
parent
b9e00ab611
commit
f201aac946
|
@ -12,11 +12,12 @@
|
||||||
*.dsw
|
*.dsw
|
||||||
*.bsc
|
*.bsc
|
||||||
*.aps
|
*.aps
|
||||||
|
*.exe
|
||||||
|
|
||||||
*.trace
|
*.trace
|
||||||
*.asm
|
|
||||||
*.dump
|
*.dump
|
||||||
|
|
||||||
|
*.asm
|
||||||
!/pcsx2/IPU/yuv2rgb.asm
|
!/pcsx2/IPU/yuv2rgb.asm
|
||||||
!/pcsx2/x86/ix86-32/aVif_proc-32.asm
|
!/pcsx2/x86/ix86-32/aVif_proc-32.asm
|
||||||
!/plugins/CDVDpeops/i386.asm
|
!/plugins/CDVDpeops/i386.asm
|
||||||
|
@ -51,11 +52,15 @@ Devel
|
||||||
|
|
||||||
oprofile_data/
|
oprofile_data/
|
||||||
|
|
||||||
/BuildLog.htm
|
# Visual Studio upgrades
|
||||||
/UpgradeLog.XML
|
/Backup*
|
||||||
/UpgradeLog2.XML
|
/UpgradeLog*.htm
|
||||||
/UpgradeLog3.XML
|
|
||||||
|
|
||||||
|
/bin/**/*.dll
|
||||||
|
/bin/**/*.exp
|
||||||
|
/bin/**/*.ilk
|
||||||
|
/bin/**/*.lib
|
||||||
|
/bin/**/*.pdb
|
||||||
/bin/PCSX2
|
/bin/PCSX2
|
||||||
/bin/*ReplayLoader
|
/bin/*ReplayLoader
|
||||||
/bin/bios
|
/bin/bios
|
||||||
|
@ -95,7 +100,6 @@ oprofile_data/
|
||||||
/nsis/svnrev_spu2x.nsh
|
/nsis/svnrev_spu2x.nsh
|
||||||
/nsis/svnrev_zerogs.nsh
|
/nsis/svnrev_zerogs.nsh
|
||||||
/nsis/svnrev_zerospu2.nsh
|
/nsis/svnrev_zerospu2.nsh
|
||||||
/nsis/*.exe
|
|
||||||
/pcsx2/gui/Resources/*.h
|
/pcsx2/gui/Resources/*.h
|
||||||
!/pcsx2/gui/Resources/EmbeddedImage.h
|
!/pcsx2/gui/Resources/EmbeddedImage.h
|
||||||
/plugins/CDVDolio/Template
|
/plugins/CDVDolio/Template
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
*.dll
|
|
||||||
*.exe
|
|
||||||
*.pdb
|
|
||||||
*.ilk
|
|
||||||
*.exp
|
|
||||||
*.lib
|
|
24
build.cmd
24
build.cmd
|
@ -1,24 +0,0 @@
|
||||||
REM PCSX2 - PS2 Emulator for PCs
|
|
||||||
REM Copyright (C) 2002-2011 PCSX2 Dev Team
|
|
||||||
REM
|
|
||||||
REM PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
|
||||||
REM of the GNU Lesser General Public License as published by the Free Software Found-
|
|
||||||
REM ation, either version 3 of the License, or (at your option) any later version.
|
|
||||||
REM
|
|
||||||
REM PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
||||||
REM without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
REM PURPOSE. See the GNU General Public License for more details.
|
|
||||||
REM
|
|
||||||
REM You should have received a copy of the GNU General Public License along with PCSX2.
|
|
||||||
REM If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
REM
|
|
||||||
REM Ensure use Visual Studio Developer Command Prompt
|
|
||||||
REM Example, into Solution Folder (pcsx2\)
|
|
||||||
REM build.cmd "Debug" or
|
|
||||||
REM build.cmd "Release" or
|
|
||||||
REM build.cmd "Release AVX"
|
|
||||||
|
|
||||||
@echo off
|
|
||||||
SET Configuration=%1
|
|
||||||
call clean_msvc.cmd
|
|
||||||
MSBuild.exe PCSX2_suite.sln /m /p:BuildInParallel=true /p:CreateHardLinksForCopyLocalIfPossible=true /t:Clean,Rebuild /p:Configuration=%Configuration%
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="ReleaseAll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<!-- Add all the solutions here. -->
|
||||||
|
<ItemGroup>
|
||||||
|
<SolutionSet Include="$(MSBuildProjectDirectory)\PCSX2_suite.sln" />
|
||||||
|
<!--SolutionSet Include="$(MSBuildProjectDirectory)\old_plugins.sln" /-->
|
||||||
|
<ProjectSetCPU Include="$(MSBuildProjectDirectory)\plugins\GSdx\GSdx.vcxproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
<!-- Add common build properties here. -->
|
||||||
|
<PropertyGroup>
|
||||||
|
<CreateHardLinksIfPossible>true</CreateHardLinksIfPossible>
|
||||||
|
<CompileFastPlz>BuildInParallel=True;
|
||||||
|
CreateHardLinksForCopyFilesToOutputDirectoryIfPossible=$(CreateHardLinksIfPossible);
|
||||||
|
CreateHardLinksForCopyAdditionalFilesIfPossible=$(CreateHardLinksIfPossible);
|
||||||
|
CreateHardLinksForCopyLocalIfPossible=$(CreateHardLinksIfPossible);
|
||||||
|
CreateHardLinksForPublishFilesIfPossible=$(CreateHardLinksIfPossible);
|
||||||
|
</CompileFastPlz>
|
||||||
|
</PropertyGroup>
|
||||||
|
<!-- Add all the custom targets here. -->
|
||||||
|
<Target Name="CleanBloat" AfterTargets="InternalBuild">
|
||||||
|
<ItemGroup>
|
||||||
|
<BloatToDelete Include="$(MSBuildProjectDirectory)\bin\**\*.bsc"/>
|
||||||
|
<BloatToDelete Include="$(MSBuildProjectDirectory)\bin\**\*.exp"/>
|
||||||
|
<BloatToDelete Include="$(MSBuildProjectDirectory)\bin\**\*.ilk"/>
|
||||||
|
<BloatToDelete Include="$(MSBuildProjectDirectory)\bin\**\*.iobj"/>
|
||||||
|
<BloatToDelete Include="$(MSBuildProjectDirectory)\bin\**\*.ipdb"/>
|
||||||
|
<BloatToDelete Include="$(MSBuildProjectDirectory)\bin\**\*.lib"/>
|
||||||
|
<BloatToDelete Include="$(MSBuildProjectDirectory)\bin\**\*.pdb"/>
|
||||||
|
</ItemGroup>
|
||||||
|
<Delete Files="@(BloatToDelete)" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="CleanCruft">
|
||||||
|
<ItemGroup>
|
||||||
|
<CruftToDelete Include="$(MSBuildProjectDirectory)\**\svnrev.h"/>
|
||||||
|
<CruftToDelete Include="$(MSBuildProjectDirectory)\**\*.CppClean.log" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Delete Files="@(CruftToDelete)" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="InternalBuild" AfterTargets="DebugAll;DevelAll;ReleaseAll">
|
||||||
|
<MSBuild Projects="@(SolutionSet)" BuildInParallel="false" Properties="Configuration=$(BaseConfiguration)" Targets="Clean" />
|
||||||
|
<MSBuild Projects="@(ProjectSetCPU)" BuildInParallel="false" Properties="Configuration=%(ConfigCPU.Identity)" Targets="Clean" />
|
||||||
|
<CallTarget Targets="CleanCruft" />
|
||||||
|
<MSBuild Projects="@(SolutionSet)" BuildInParallel="false" Properties="Configuration=$(BaseConfiguration);$(CompileFastPlz)" Targets="Build" />
|
||||||
|
<MSBuild Projects="@(ProjectSetCPU)" BuildInParallel="true" Properties="Configuration=%(ConfigCPU.Identity);BuildProjectReferences=false;$(CompileFastPlz);SolutionDir=$(MSBuildProjectDirectory)\" Targets="Build" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="DebugAll">
|
||||||
|
<PropertyGroup>
|
||||||
|
<BaseConfiguration>Debug</BaseConfiguration>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ConfigCPU Include="Debug AVX;Debug AVX2;Debug SSE4;Debug SSSE3"/>
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
<Target Name="DevelAll">
|
||||||
|
<PropertyGroup>
|
||||||
|
<BaseConfiguration>Devel</BaseConfiguration>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ConfigCPU Include="Release AVX;Release AVX2;Release SSE4;Release SSSE3"/>
|
||||||
|
<!--ConfigCPU Include="Devel AVX;Devel AVX2;Devel SSE4;Devel SSSE3"/-->
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
<Target Name="ReleaseAll">
|
||||||
|
<PropertyGroup>
|
||||||
|
<BaseConfiguration>Release</BaseConfiguration>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ConfigCPU Include="Release AVX;Release AVX2;Release SSE4;Release SSSE3"/>
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
</Project>
|
|
@ -1,29 +0,0 @@
|
||||||
:: clean_msvc.cmd
|
|
||||||
::
|
|
||||||
:: This batch file cleans up some files that MSVC's Clean/Rebuild commands tend to miss. In
|
|
||||||
:: particular the .ilk and .pdb files are known to get corrupted and cause all sorts of odd linker
|
|
||||||
:: linker errors, and the .ncb files can also get corrupted and cause intellisense breakges.
|
|
||||||
::
|
|
||||||
:: Safety: This tool should be pretty safe. It uses the command path to perform the deletion,
|
|
||||||
:: instead of relying on the CWD (which can sometimes fail to be set when working with UNCs across
|
|
||||||
:: network shares). Furthermore, none of the files it deletes are important. That is, they're
|
|
||||||
:: all files MSVC just rebuilds automatically next time you run/recompile. The one minor
|
|
||||||
:: exception is *.pdb, since windows and a lot of developer tools include PDB sets to assist in
|
|
||||||
:: application debugging (however these files are by no means required by any software).
|
|
||||||
|
|
||||||
del /s "%~dp0\*.ncb"
|
|
||||||
del /s "%~dp0\*.obj"
|
|
||||||
del /s "%~dp0\bin\*.ilk"
|
|
||||||
del /s "%~dp0\*.idb"
|
|
||||||
del /s "%~dp0\*.bsc"
|
|
||||||
del /s "%~dp0\*.sbr"
|
|
||||||
del /s "%~dp0\*.pch"
|
|
||||||
del /s "%~dp0\*.pdb"
|
|
||||||
|
|
||||||
del /s /q "%~dp0\deps"
|
|
||||||
|
|
||||||
:: These two can't be used currently because they match unwanted 4+ letter extensions, such
|
|
||||||
:: as *.resx and *.tmpl ... wow, stupid. >_<
|
|
||||||
|
|
||||||
:: del /s "%~dp0\*.tmp"
|
|
||||||
:: del /s "%~dp0\*.res"
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
@ECHO OFF
|
||||||
|
REM PCSX2 - PS2 Emulator for PCs
|
||||||
|
REM Copyright (C) 2002-2015 PCSX2 Dev Team
|
||||||
|
REM
|
||||||
|
REM PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
|
REM of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
REM ation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
REM
|
||||||
|
REM PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
REM without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
REM PURPOSE. See the GNU General Public License for more details.
|
||||||
|
REM
|
||||||
|
REM You should have received a copy of the GNU General Public License along with PCSX2.
|
||||||
|
REM If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
CLS
|
||||||
|
ECHO Select your Visual Studio version:
|
||||||
|
ECHO 1. Microsoft Visual Studio 2013 (default)
|
||||||
|
ECHO 2. Microsoft Visual Studio 2015
|
||||||
|
ECHO Q. Exit the script.
|
||||||
|
CHOICE /C 12Q /T 10 /D 1 /M "Visual Studio version: "
|
||||||
|
IF ERRORLEVEL 3 GOTO END
|
||||||
|
IF ERRORLEVEL 2 SET "VCVARPATH=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat"
|
||||||
|
IF ERRORLEVEL 1 SET "VCVARPATH=%VS120COMNTOOLS%..\..\VC\vcvarsall.bat"
|
||||||
|
|
||||||
|
ECHO.
|
||||||
|
ECHO Select the desired configuration:
|
||||||
|
ECHO 1. Release 32bit (default)
|
||||||
|
ECHO 2. Devel 32bit
|
||||||
|
ECHO 3. Debug 32bit
|
||||||
|
ECHO 4. Release 64bit (WIP)
|
||||||
|
ECHO 5. Devel 64bit (WIP)
|
||||||
|
ECHO 6. Debug 64bit (WIP)
|
||||||
|
ECHO Q. Exit the script.
|
||||||
|
CHOICE /C 123456Q /T 10 /D 1 /M "Configuration: "
|
||||||
|
IF ERRORLEVEL 7 GOTO END
|
||||||
|
IF ERRORLEVEL 6 SET "SELARCH=amd64" && SET "SELCONF=DebugAll"
|
||||||
|
IF ERRORLEVEL 5 SET "SELARCH=amd64" && SET "SELCONF=DevelAll"
|
||||||
|
IF ERRORLEVEL 4 SET "SELARCH=amd64" && SET "SELCONF=ReleaseAll"
|
||||||
|
IF ERRORLEVEL 3 SET "SELARCH=x86" && SET "SELCONF=DebugAll"
|
||||||
|
IF ERRORLEVEL 2 SET "SELARCH=x86" && SET "SELCONF=DevelAll"
|
||||||
|
IF ERRORLEVEL 1 SET "SELARCH=x86" && SET "SELCONF=ReleaseAll"
|
||||||
|
|
||||||
|
IF EXIST "%VCVARPATH%" (call "%VCVARPATH%" %SELARCH%) ELSE GOTO ERRORVS
|
||||||
|
cl > NUL 2>&1
|
||||||
|
if %ERRORLEVEL% NEQ 0 GOTO ERRORVS
|
||||||
|
|
||||||
|
ECHO.
|
||||||
|
ECHO Using:
|
||||||
|
cl 2>&1 | findstr "Version"
|
||||||
|
ECHO.
|
||||||
|
|
||||||
|
SET "LOGOPTIONS=/v:m /fl1 /fl2 /flp1:logfile="%~dpn0-%SELARCH%-%SELCONF%-errors.log";errorsonly /flp2:logfile="%~dpn0-%SELARCH%-%SELCONF%-warnings.log";warningsonly"
|
||||||
|
msbuild "%~dp0\buildbot.xml" /m %LOGOPTIONS% /t:%SELCONF%
|
||||||
|
GOTO END
|
||||||
|
|
||||||
|
:ERRORVS
|
||||||
|
ECHO.
|
||||||
|
ECHO The selected Visual Studio version was not found.
|
||||||
|
|
||||||
|
:END
|
||||||
|
ECHO.
|
||||||
|
ECHO Bye!
|
||||||
|
ECHO.
|
||||||
|
timeout /t 10
|
Loading…
Reference in New Issue